Skip to content

Commit 410d227

Browse files
committed
Added for tests branch
1 parent 7d50328 commit 410d227

File tree

2 files changed

+39
-9
lines changed

2 files changed

+39
-9
lines changed

pkgs/http/test/html/cache_test.dart

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,31 @@ import 'package:test/test.dart';
1515
import 'utils.dart';
1616

1717
void main() {
18+
late int port;
19+
setUp(() async {
20+
final channel = spawnHybridUri(Uri(path: '/test/stub_server.dart'),
21+
stayAlive: true);
22+
port = await channel.stream.first as int;
23+
});
24+
25+
test('#send a POST Request with default type', () async {
26+
var client = BrowserClient();
27+
28+
var request = http.StreamedRequest('POST', echoUrl.replace(port: port));
29+
var responseFuture = client.send(request);
30+
request.sink.add('{"hello": "world"}'.codeUnits);
31+
unawaited(request.sink.close());
32+
33+
var response = await responseFuture;
34+
35+
client.close();
36+
37+
expect(response.statusCode, 200);
38+
expect('response', response.contentLength);
39+
client.close();
40+
41+
});
42+
1843
test('#send a StreamedRequest with default type', () async {
1944
var client = BrowserClient(cacheMode: CacheMode.defaultType);
2045
var request = http.StreamedRequest('POST', echoUrl);
@@ -30,19 +55,13 @@ void main() {
3055
expect(response.reasonPhrase, 'OK');
3156
}, skip: 'Need to fix server tests for browser');
3257

33-
test('#send a StreamedRequest with reload type', () async {
58+
test('#send a POST Request with reload type', () async {
3459
var client = BrowserClient(cacheMode: CacheMode.reload);
35-
var request = http.StreamedRequest('POST', echoUrl);
3660

37-
var responseFuture = client.send(request);
38-
request.sink.add('{"hello": "world"}'.codeUnits);
39-
unawaited(request.sink.close());
40-
var response = await responseFuture;
41-
var bytesString = await response.stream.bytesToString();
61+
var responseFuture = client.post(echoUrl.replace(port: port));
4262

4363
client.close();
4464

45-
expect(bytesString, contains('no-cache'));
4665
}, skip: 'Need to fix server tests for browser');
4766

4867
test('#send a StreamedRequest with no-cache type', () async {

pkgs/http/test/stub_server.dart

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import 'package:http/src/utils.dart';
1111
import 'package:stream_channel/stream_channel.dart';
1212

1313
void hybridMain(StreamChannel<dynamic> channel) async {
14-
final server = await HttpServer.bind('localhost', 0);
14+
final server = await HttpServer.bind('localhost', 63618);
1515
final url = Uri.http('localhost:${server.port}', '');
1616
server.listen((request) async {
1717
var path = request.uri.path;
@@ -35,6 +35,17 @@ void hybridMain(StreamChannel<dynamic> channel) async {
3535
return;
3636
}
3737

38+
if (path == '/echo') {
39+
response
40+
..headers.add("Access-Control-Allow-Origin", "localhost")
41+
..headers.add("Access-Control-Allow-Methods", "POST, GET")
42+
..statusCode = 200
43+
..contentLength = 31
44+
..write('object');
45+
unawaited(response.close());
46+
return;
47+
}
48+
3849
if (path == '/redirect') {
3950
response
4051
..statusCode = 302

0 commit comments

Comments
 (0)