@@ -89,8 +89,6 @@ func TestGzip(t *testing.T) {
89
89
}
90
90
91
91
func TestGzipWithMinLength (t * testing.T ) {
92
- assert := assert .New (t )
93
-
94
92
e := echo .New ()
95
93
// Minimal response length
96
94
e .Use (GzipWithConfig (GzipConfig {MinLength : 10 }))
@@ -103,19 +101,17 @@ func TestGzipWithMinLength(t *testing.T) {
103
101
req .Header .Set (echo .HeaderAcceptEncoding , gzipScheme )
104
102
rec := httptest .NewRecorder ()
105
103
e .ServeHTTP (rec , req )
106
- assert .Equal (gzipScheme , rec .Header ().Get (echo .HeaderContentEncoding ))
104
+ assert .Equal (t , gzipScheme , rec .Header ().Get (echo .HeaderContentEncoding ))
107
105
r , err := gzip .NewReader (rec .Body )
108
- if assert .NoError (err ) {
106
+ if assert .NoError (t , err ) {
109
107
buf := new (bytes.Buffer )
110
108
defer r .Close ()
111
109
buf .ReadFrom (r )
112
- assert .Equal ("foobarfoobar" , buf .String ())
110
+ assert .Equal (t , "foobarfoobar" , buf .String ())
113
111
}
114
112
}
115
113
116
114
func TestGzipWithMinLengthTooShort (t * testing.T ) {
117
- assert := assert .New (t )
118
-
119
115
e := echo .New ()
120
116
// Minimal response length
121
117
e .Use (GzipWithConfig (GzipConfig {MinLength : 10 }))
@@ -127,13 +123,29 @@ func TestGzipWithMinLengthTooShort(t *testing.T) {
127
123
req .Header .Set (echo .HeaderAcceptEncoding , gzipScheme )
128
124
rec := httptest .NewRecorder ()
129
125
e .ServeHTTP (rec , req )
130
- assert .Equal ("" , rec .Header ().Get (echo .HeaderContentEncoding ))
131
- assert .Contains (rec .Body .String (), "test" )
126
+ assert .Equal (t , "" , rec .Header ().Get (echo .HeaderContentEncoding ))
127
+ assert .Contains (t , rec .Body .String (), "test" )
132
128
}
133
129
134
- func TestGzipWithMinLengthChunked (t * testing.T ) {
135
- assert := assert .New (t )
130
+ func TestGzipWithResponseWithoutBody (t * testing.T ) {
131
+ e := echo .New ()
132
+
133
+ e .Use (Gzip ())
134
+ e .GET ("/" , func (c echo.Context ) error {
135
+ return c .Redirect (http .StatusMovedPermanently , "http://localhost" )
136
+ })
137
+
138
+ req := httptest .NewRequest (http .MethodGet , "/" , nil )
139
+ req .Header .Set (echo .HeaderAcceptEncoding , gzipScheme )
140
+ rec := httptest .NewRecorder ()
136
141
142
+ e .ServeHTTP (rec , req )
143
+
144
+ assert .Equal (t , http .StatusMovedPermanently , rec .Code )
145
+ assert .Equal (t , "" , rec .Header ().Get (echo .HeaderContentEncoding ))
146
+ }
147
+
148
+ func TestGzipWithMinLengthChunked (t * testing.T ) {
137
149
e := echo .New ()
138
150
139
151
// Gzip chunked
@@ -155,36 +167,36 @@ func TestGzipWithMinLengthChunked(t *testing.T) {
155
167
c .Response ().Flush ()
156
168
157
169
// Read the first part of the data
158
- assert .True (rec .Flushed )
159
- assert .Equal (gzipScheme , rec .Header ().Get (echo .HeaderContentEncoding ))
170
+ assert .True (t , rec .Flushed )
171
+ assert .Equal (t , gzipScheme , rec .Header ().Get (echo .HeaderContentEncoding ))
160
172
161
173
var err error
162
174
r , err = gzip .NewReader (rec .Body )
163
- assert .NoError (err )
175
+ assert .NoError (t , err )
164
176
165
177
_ , err = io .ReadFull (r , chunkBuf )
166
- assert .NoError (err )
167
- assert .Equal ("test\n " , string (chunkBuf ))
178
+ assert .NoError (t , err )
179
+ assert .Equal (t , "test\n " , string (chunkBuf ))
168
180
169
181
// Write and flush the second part of the data
170
182
c .Response ().Write ([]byte ("test\n " ))
171
183
c .Response ().Flush ()
172
184
173
185
_ , err = io .ReadFull (r , chunkBuf )
174
- assert .NoError (err )
175
- assert .Equal ("test\n " , string (chunkBuf ))
186
+ assert .NoError (t , err )
187
+ assert .Equal (t , "test\n " , string (chunkBuf ))
176
188
177
189
// Write the final part of the data and return
178
190
c .Response ().Write ([]byte ("test" ))
179
191
return nil
180
192
})(c )
181
193
182
- assert .NotNil (r )
194
+ assert .NotNil (t , r )
183
195
184
196
buf := new (bytes.Buffer )
185
197
186
198
buf .ReadFrom (r )
187
- assert .Equal ("test" , buf .String ())
199
+ assert .Equal (t , "test" , buf .String ())
188
200
189
201
r .Close ()
190
202
}
0 commit comments