@@ -7,128 +7,141 @@ import 'package:test/test.dart';
77void main () {
88 group ('StreamedRequest Extension' , () {
99 test ('should copy streamed request without modifications' , () {
10- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
10+ final originalRequest =
11+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
1112 originalRequest.headers['Content-Type' ] = 'application/octet-stream' ;
1213 originalRequest.sink.add (utf8.encode ('test data' ));
1314 originalRequest.sink.close ();
14-
15+
1516 final copiedRequest = originalRequest.copyWith ();
16-
17+
1718 expect (copiedRequest.method, equals (originalRequest.method));
1819 expect (copiedRequest.url, equals (originalRequest.url));
1920 expect (copiedRequest.headers, equals (originalRequest.headers));
20- expect (copiedRequest.followRedirects, equals (originalRequest.followRedirects));
21+ expect (copiedRequest.followRedirects,
22+ equals (originalRequest.followRedirects));
2123 expect (copiedRequest.maxRedirects, equals (originalRequest.maxRedirects));
22- expect (copiedRequest.persistentConnection, equals (originalRequest.persistentConnection));
24+ expect (copiedRequest.persistentConnection,
25+ equals (originalRequest.persistentConnection));
2326 });
2427
2528 test ('should copy streamed request with different method' , () {
26- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
29+ final originalRequest =
30+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
2731 originalRequest.sink.add (utf8.encode ('test data' ));
2832 originalRequest.sink.close ();
29-
33+
3034 final copiedRequest = originalRequest.copyWith (method: HttpMethod .PUT );
31-
35+
3236 expect (copiedRequest.method, equals ('PUT' ));
3337 expect (copiedRequest.url, equals (originalRequest.url));
3438 expect (copiedRequest.headers, equals (originalRequest.headers));
3539 });
3640
3741 test ('should copy streamed request with different URL' , () {
38- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
42+ final originalRequest =
43+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
3944 originalRequest.sink.add (utf8.encode ('test data' ));
4045 originalRequest.sink.close ();
41-
46+
4247 final newUrl = Uri .parse ('https://example.com/new-stream' );
4348 final copiedRequest = originalRequest.copyWith (url: newUrl);
44-
49+
4550 expect (copiedRequest.method, equals (originalRequest.method));
4651 expect (copiedRequest.url, equals (newUrl));
4752 expect (copiedRequest.headers, equals (originalRequest.headers));
4853 });
4954
5055 test ('should copy streamed request with different headers' , () {
51- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
56+ final originalRequest =
57+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
5258 originalRequest.headers['Content-Type' ] = 'application/octet-stream' ;
5359 originalRequest.sink.add (utf8.encode ('test data' ));
5460 originalRequest.sink.close ();
55-
61+
5662 final newHeaders = {'Authorization' : 'Bearer token' , 'X-Custom' : 'value' };
5763 final copiedRequest = originalRequest.copyWith (headers: newHeaders);
58-
64+
5965 expect (copiedRequest.method, equals (originalRequest.method));
6066 expect (copiedRequest.url, equals (originalRequest.url));
6167 expect (copiedRequest.headers, equals (newHeaders));
6268 });
6369
6470 test ('should copy streamed request with different stream' , () {
65- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
71+ final originalRequest =
72+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
6673 originalRequest.sink.add (utf8.encode ('original data' ));
6774 originalRequest.sink.close ();
68-
75+
6976 final newStream = Stream .fromIterable ([utf8.encode ('new data' )]);
7077 final copiedRequest = originalRequest.copyWith (stream: newStream);
71-
78+
7279 expect (copiedRequest.method, equals (originalRequest.method));
7380 expect (copiedRequest.url, equals (originalRequest.url));
7481 expect (copiedRequest.headers, equals (originalRequest.headers));
7582 });
7683
7784 test ('should copy streamed request with different followRedirects' , () {
78- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
85+ final originalRequest =
86+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
7987 originalRequest.followRedirects = true ;
8088 originalRequest.sink.add (utf8.encode ('test data' ));
8189 originalRequest.sink.close ();
82-
90+
8391 final copiedRequest = originalRequest.copyWith (followRedirects: false );
84-
92+
8593 expect (copiedRequest.method, equals (originalRequest.method));
8694 expect (copiedRequest.url, equals (originalRequest.url));
8795 expect (copiedRequest.headers, equals (originalRequest.headers));
8896 expect (copiedRequest.followRedirects, equals (false ));
8997 });
9098
9199 test ('should copy streamed request with different maxRedirects' , () {
92- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
100+ final originalRequest =
101+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
93102 originalRequest.maxRedirects = 5 ;
94103 originalRequest.sink.add (utf8.encode ('test data' ));
95104 originalRequest.sink.close ();
96-
105+
97106 final copiedRequest = originalRequest.copyWith (maxRedirects: 10 );
98-
107+
99108 expect (copiedRequest.method, equals (originalRequest.method));
100109 expect (copiedRequest.url, equals (originalRequest.url));
101110 expect (copiedRequest.headers, equals (originalRequest.headers));
102111 expect (copiedRequest.maxRedirects, equals (10 ));
103112 });
104113
105- test ('should copy streamed request with different persistentConnection' , () {
106- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
114+ test ('should copy streamed request with different persistentConnection' ,
115+ () {
116+ final originalRequest =
117+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
107118 originalRequest.persistentConnection = true ;
108119 originalRequest.sink.add (utf8.encode ('test data' ));
109120 originalRequest.sink.close ();
110-
111- final copiedRequest = originalRequest.copyWith (persistentConnection: false );
112-
121+
122+ final copiedRequest =
123+ originalRequest.copyWith (persistentConnection: false );
124+
113125 expect (copiedRequest.method, equals (originalRequest.method));
114126 expect (copiedRequest.url, equals (originalRequest.url));
115127 expect (copiedRequest.headers, equals (originalRequest.headers));
116128 expect (copiedRequest.persistentConnection, equals (false ));
117129 });
118130
119131 test ('should copy streamed request with multiple modifications' , () {
120- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
132+ final originalRequest =
133+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
121134 originalRequest.headers['Content-Type' ] = 'application/octet-stream' ;
122135 originalRequest.followRedirects = true ;
123136 originalRequest.maxRedirects = 5 ;
124137 originalRequest.persistentConnection = true ;
125138 originalRequest.sink.add (utf8.encode ('test data' ));
126139 originalRequest.sink.close ();
127-
140+
128141 final newUrl = Uri .parse ('https://example.com/new-stream' );
129142 final newHeaders = {'Authorization' : 'Bearer token' };
130143 final newStream = Stream .fromIterable ([utf8.encode ('new data' )]);
131-
144+
132145 final copiedRequest = originalRequest.copyWith (
133146 method: HttpMethod .PUT ,
134147 url: newUrl,
@@ -138,7 +151,7 @@ void main() {
138151 maxRedirects: 10 ,
139152 persistentConnection: false ,
140153 );
141-
154+
142155 expect (copiedRequest.method, equals ('PUT' ));
143156 expect (copiedRequest.url, equals (newUrl));
144157 expect (copiedRequest.headers, equals (newHeaders));
@@ -148,134 +161,151 @@ void main() {
148161 });
149162
150163 test ('should copy streamed request with large data' , () {
151- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
164+ final originalRequest =
165+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
152166 originalRequest.headers['Content-Type' ] = 'text/plain' ;
153-
167+
154168 // Add large data in chunks
155169 final largeData = 'A' * 1024 ; // 1KB
156170 for (int i = 0 ; i < 10 ; i++ ) {
157171 originalRequest.sink.add (utf8.encode (largeData));
158172 }
159173 originalRequest.sink.close ();
160-
174+
161175 final copiedRequest = originalRequest.copyWith ();
162-
176+
163177 expect (copiedRequest.method, equals (originalRequest.method));
164178 expect (copiedRequest.url, equals (originalRequest.url));
165179 expect (copiedRequest.headers, equals (originalRequest.headers));
166180 });
167181
168182 test ('should copy streamed request with different HTTP methods' , () {
169- final methods = [HttpMethod .GET , HttpMethod .POST , HttpMethod .PUT , HttpMethod .PATCH , HttpMethod .DELETE ];
170-
183+ final methods = [
184+ HttpMethod .GET ,
185+ HttpMethod .POST ,
186+ HttpMethod .PUT ,
187+ HttpMethod .PATCH ,
188+ HttpMethod .DELETE
189+ ];
190+
171191 for (final method in methods) {
172- final originalRequest = StreamedRequest (method.asString, Uri .parse ('https://example.com/stream' ));
192+ final originalRequest = StreamedRequest (
193+ method.asString, Uri .parse ('https://example.com/stream' ));
173194 originalRequest.sink.add (utf8.encode ('test data' ));
174195 originalRequest.sink.close ();
175-
196+
176197 final copiedRequest = originalRequest.copyWith ();
177-
198+
178199 expect (copiedRequest.method, equals (method.asString));
179200 expect (copiedRequest.url, equals (originalRequest.url));
180201 expect (copiedRequest.headers, equals (originalRequest.headers));
181202 }
182203 });
183204
184205 test ('should copy streamed request with custom headers' , () {
185- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
186- originalRequest.headers['Content-Type' ] = 'application/octet-stream; charset=utf-8' ;
206+ final originalRequest =
207+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
208+ originalRequest.headers['Content-Type' ] =
209+ 'application/octet-stream; charset=utf-8' ;
187210 originalRequest.headers['Authorization' ] = 'Bearer custom-token' ;
188211 originalRequest.headers['X-Custom-Header' ] = 'custom-value' ;
189212 originalRequest.sink.add (utf8.encode ('test data' ));
190213 originalRequest.sink.close ();
191-
214+
192215 final copiedRequest = originalRequest.copyWith ();
193-
216+
194217 expect (copiedRequest.method, equals (originalRequest.method));
195218 expect (copiedRequest.url, equals (originalRequest.url));
196219 expect (copiedRequest.headers, equals (originalRequest.headers));
197220 });
198221
199222 test ('should copy streamed request with empty stream' , () {
200- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
223+ final originalRequest =
224+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
201225 originalRequest.sink.close (); // No data added
202-
226+
203227 final copiedRequest = originalRequest.copyWith ();
204-
228+
205229 expect (copiedRequest.method, equals (originalRequest.method));
206230 expect (copiedRequest.url, equals (originalRequest.url));
207231 expect (copiedRequest.headers, equals (originalRequest.headers));
208232 });
209233
210234 test ('should copy streamed request with binary data' , () {
211- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
235+ final originalRequest =
236+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
212237 originalRequest.headers['Content-Type' ] = 'application/octet-stream' ;
213-
238+
214239 // Add binary data
215240 final binaryData = List <int >.generate (1000 , (i) => i % 256 );
216241 originalRequest.sink.add (binaryData);
217242 originalRequest.sink.close ();
218-
243+
219244 final copiedRequest = originalRequest.copyWith ();
220-
245+
221246 expect (copiedRequest.method, equals (originalRequest.method));
222247 expect (copiedRequest.url, equals (originalRequest.url));
223248 expect (copiedRequest.headers, equals (originalRequest.headers));
224249 });
225250
226251 test ('should copy streamed request with JSON data' , () {
227- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
252+ final originalRequest =
253+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
228254 originalRequest.headers['Content-Type' ] = 'application/json' ;
229-
255+
230256 final jsonData = jsonEncode ({'key' : 'value' , 'number' : 42 });
231257 originalRequest.sink.add (utf8.encode (jsonData));
232258 originalRequest.sink.close ();
233-
259+
234260 final copiedRequest = originalRequest.copyWith ();
235-
261+
236262 expect (copiedRequest.method, equals (originalRequest.method));
237263 expect (copiedRequest.url, equals (originalRequest.url));
238264 expect (copiedRequest.headers, equals (originalRequest.headers));
239265 });
240266
241267 test ('should copy streamed request with special characters in URL' , () {
242- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream/path with spaces?param=value with spaces' ));
268+ final originalRequest = StreamedRequest (
269+ 'POST' ,
270+ Uri .parse (
271+ 'https://example.com/stream/path with spaces?param=value with spaces' ));
243272 originalRequest.sink.add (utf8.encode ('test data' ));
244273 originalRequest.sink.close ();
245-
274+
246275 final copiedRequest = originalRequest.copyWith ();
247-
276+
248277 expect (copiedRequest.method, equals (originalRequest.method));
249278 expect (copiedRequest.url, equals (originalRequest.url));
250279 expect (copiedRequest.headers, equals (originalRequest.headers));
251280 });
252281
253282 test ('should not modify original request when using copyWith' , () {
254- final originalRequest = StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
283+ final originalRequest =
284+ StreamedRequest ('POST' , Uri .parse ('https://example.com/stream' ));
255285 originalRequest.followRedirects = true ;
256286 originalRequest.maxRedirects = 5 ;
257287 originalRequest.persistentConnection = true ;
258288 originalRequest.sink.add (utf8.encode ('test data' ));
259289 originalRequest.sink.close ();
260-
290+
261291 final copiedRequest = originalRequest.copyWith (
262292 method: HttpMethod .PUT ,
263293 followRedirects: false ,
264294 maxRedirects: 10 ,
265295 persistentConnection: false ,
266296 );
267-
297+
268298 // Verify the copied request has the new values
269299 expect (copiedRequest.method, equals ('PUT' ));
270300 expect (copiedRequest.followRedirects, equals (false ));
271301 expect (copiedRequest.maxRedirects, equals (10 ));
272302 expect (copiedRequest.persistentConnection, equals (false ));
273-
303+
274304 // Verify the original request remains unchanged
275305 expect (originalRequest.method, equals ('POST' ));
276306 expect (originalRequest.followRedirects, equals (true ));
277307 expect (originalRequest.maxRedirects, equals (5 ));
278308 expect (originalRequest.persistentConnection, equals (true ));
279309 });
280310 });
281- }
311+ }
0 commit comments