Skip to content

Commit 53dc82f

Browse files
committed
Add tests cache including fixing CI passover
1 parent 2fd11c1 commit 53dc82f

File tree

1 file changed

+30
-17
lines changed

1 file changed

+30
-17
lines changed

pkgs/http/test/html/cache_test.dart

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,65 +6,78 @@
66
library;
77

88
import 'dart:async';
9-
import 'dart:convert';
109

1110
import 'package:http/browser_client.dart';
1211
import 'package:http/http.dart' as http;
12+
import 'package:http/src/exception.dart';
1313
import 'package:test/test.dart';
1414

1515
import 'utils.dart';
1616

1717
void main() {
18-
1918
test('#send a StreamedRequest with default type', () async {
2019
var client = BrowserClient(cacheMode: CacheMode.defaultType);
21-
var request = http.StreamedRequest('POST',echoUrl);
22-
20+
var request = http.StreamedRequest('POST', echoUrl);
2321
var responseFuture = client.send(request);
2422
request.sink.add('{"hello": "world"}'.codeUnits);
2523
unawaited(request.sink.close());
24+
2625
var response = await responseFuture;
27-
var bytesString = await response.stream.bytesToString();
2826

29-
final jsonResponse = jsonDecode(bytesString);
30-
var bodyUnits = jsonResponse['body'] as List;
3127
client.close();
3228

33-
expect(bodyUnits,
34-
equals('{"hello": "world"}'.codeUnits));
29+
expect(response.statusCode, 200);
30+
expect(response.reasonPhrase, 'OK');
3531
}, skip: 'Need to fix server tests for browser');
3632

3733
test('#send a StreamedRequest with reload type', () async {
3834
var client = BrowserClient(cacheMode: CacheMode.reload);
39-
var request = http.StreamedRequest('POST',echoUrl);
35+
var request = http.StreamedRequest('POST', echoUrl);
4036

4137
var responseFuture = client.send(request);
4238
request.sink.add('{"hello": "world"}'.codeUnits);
4339
unawaited(request.sink.close());
4440
var response = await responseFuture;
4541
var bytesString = await response.stream.bytesToString();
4642

47-
final jsonResponse = jsonDecode(bytesString);
4843
client.close();
4944

50-
expect(jsonResponse["headers"]["cache-control"],
51-
contains('no-cache'));
45+
expect(bytesString, contains('no-cache'));
5246
}, skip: 'Need to fix server tests for browser');
5347

5448
test('#send a StreamedRequest with no-cache type', () async {
5549
var client = BrowserClient(cacheMode: CacheMode.noCache);
56-
var request = http.StreamedRequest('POST',echoUrl);
50+
var request = http.StreamedRequest('POST', echoUrl);
5751

5852
var responseFuture = client.send(request);
5953
request.sink.add('{"hello": "world"}'.codeUnits);
6054
unawaited(request.sink.close());
6155
var response = await responseFuture;
6256
var bytesString = await response.stream.bytesToString();
6357

64-
final jsonResponse = jsonDecode(bytesString);
6558
client.close();
59+
expect(bytesString, contains('max-age=0'));
60+
}, skip: 'Need to fix server tests for browser');
61+
62+
test('#send a StreamedRequest with only-if-cached type', () {
63+
var client = BrowserClient(cacheMode: CacheMode.onlyIfCached);
64+
var request = http.StreamedRequest('POST', echoUrl);
6665

67-
expect(jsonResponse["headers"]["cache-control"],
68-
contains('max-age=0'));
66+
expectLater(client.send(request), throwsA(isA<ClientException>()));
67+
request.sink.add('{"hello": "world"}'.codeUnits);
68+
unawaited(request.sink.close());
69+
70+
client.close();
71+
}, skip: 'Need to fix server tests for browser');
72+
73+
test('#send with an invalid URL', () {
74+
var client = BrowserClient(cacheMode: CacheMode.onlyIfCached);
75+
var url = Uri.http('http.invalid', '');
76+
var request = http.StreamedRequest('POST', url);
77+
78+
expect(client.send(request), throwsClientException());
79+
80+
request.sink.add('{"hello": "world"}'.codeUnits);
81+
request.sink.close();
6982
}, skip: 'Need to fix server tests for browser');
7083
}

0 commit comments

Comments
 (0)