Index: pkg/http/test/http_test.dart |
diff --git a/pkg/http/test/http_test.dart b/pkg/http/test/http_test.dart |
index 48eada06ef163a70c6581bae5a3b38427f9fbc9f..9c567cf127e2e6ec7f326c71a26296b0847a9f06 100644 |
--- a/pkg/http/test/http_test.dart |
+++ b/pkg/http/test/http_test.dart |
@@ -12,180 +12,201 @@ import 'utils.dart'; |
main() { |
group('http.', () { |
- setUp(startServer); |
tearDown(stopServer); |
test('head', () { |
- expect(http.head(serverUrl).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, equals('')); |
+ expect(startServer().then((_) { |
+ expect(http.head(serverUrl).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, equals('')); |
+ }), completes); |
}), completes); |
}); |
test('get', () { |
- expect(http.get(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value' |
- }).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, parse(equals({ |
- 'method': 'GET', |
- 'path': '/', |
- 'headers': { |
- 'content-length': ['0'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- }, |
- }))); |
+ expect(startServer().then((_) { |
+ expect(http.get(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value' |
+ }).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, parse(equals({ |
+ 'method': 'GET', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-length': ['0'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ }, |
+ }))); |
+ }), completes); |
}), completes); |
}); |
test('post', () { |
- expect(http.post(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value' |
- }, fields: { |
- 'some-field': 'value', |
- 'other-field': 'other value' |
- }).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, parse(equals({ |
- 'method': 'POST', |
- 'path': '/', |
- 'headers': { |
- 'content-type': [ |
- 'application/x-www-form-urlencoded; charset=UTF-8' |
- ], |
- 'content-length': ['40'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- }, |
- 'body': 'some-field=value&other-field=other+value' |
- }))); |
+ expect(startServer().then((_) { |
+ expect(http.post(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value' |
+ }, fields: { |
+ 'some-field': 'value', |
+ 'other-field': 'other value' |
+ }).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, parse(equals({ |
+ 'method': 'POST', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-type': [ |
+ 'application/x-www-form-urlencoded; charset=UTF-8' |
+ ], |
+ 'content-length': ['40'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ }, |
+ 'body': 'some-field=value&other-field=other+value' |
+ }))); |
+ }), completes); |
}), completes); |
}); |
test('post without fields', () { |
- expect(http.post(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value', |
- 'Content-Type': 'text/plain' |
- }).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, parse(equals({ |
- 'method': 'POST', |
- 'path': '/', |
- 'headers': { |
- 'content-length': ['0'], |
- 'content-type': ['text/plain'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- } |
- }))); |
+ expect(startServer().then((_) { |
+ expect(http.post(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value', |
+ 'Content-Type': 'text/plain' |
+ }).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, parse(equals({ |
+ 'method': 'POST', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-length': ['0'], |
+ 'content-type': ['text/plain'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ } |
+ }))); |
+ }), completes); |
}), completes); |
}); |
test('put', () { |
- expect(http.put(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value' |
- }, fields: { |
- 'some-field': 'value', |
- 'other-field': 'other value' |
- }).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, parse(equals({ |
- 'method': 'PUT', |
- 'path': '/', |
- 'headers': { |
- 'content-type': [ |
- 'application/x-www-form-urlencoded; charset=UTF-8' |
- ], |
- 'content-length': ['40'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- }, |
- 'body': 'some-field=value&other-field=other+value' |
- }))); |
+ expect(startServer().then((_) { |
+ expect(http.put(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value' |
+ }, fields: { |
+ 'some-field': 'value', |
+ 'other-field': 'other value' |
+ }).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, parse(equals({ |
+ 'method': 'PUT', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-type': [ |
+ 'application/x-www-form-urlencoded; charset=UTF-8' |
+ ], |
+ 'content-length': ['40'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ }, |
+ 'body': 'some-field=value&other-field=other+value' |
+ }))); |
+ }), completes); |
}), completes); |
}); |
test('put without fields', () { |
- expect(http.put(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value', |
- 'Content-Type': 'text/plain' |
- }).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, parse(equals({ |
- 'method': 'PUT', |
- 'path': '/', |
- 'headers': { |
- 'content-length': ['0'], |
- 'content-type': ['text/plain'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- } |
- }))); |
+ expect(startServer().then((_) { |
+ expect(http.put(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value', |
+ 'Content-Type': 'text/plain' |
+ }).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, parse(equals({ |
+ 'method': 'PUT', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-length': ['0'], |
+ 'content-type': ['text/plain'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ } |
+ }))); |
+ }), completes); |
}), completes); |
}); |
test('delete', () { |
- expect(http.delete(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value' |
- }).then((response) { |
- expect(response.statusCode, equals(200)); |
- expect(response.body, parse(equals({ |
- 'method': 'DELETE', |
+ expect(startServer().then((_) { |
+ expect(http.delete(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value' |
+ }).then((response) { |
+ expect(response.statusCode, equals(200)); |
+ expect(response.body, parse(equals({ |
+ 'method': 'DELETE', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-length': ['0'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ } |
+ }))); |
+ }), completes); |
+ }), completes); |
+ }); |
+ |
+ test('read', () { |
+ expect(startServer().then((_) { |
+ expect(http.read(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value' |
+ }).then((val) => val), completion(parse(equals({ |
+ 'method': 'GET', |
'path': '/', |
'headers': { |
'content-length': ['0'], |
'x-random-header': ['Value'], |
'x-other-header': ['Other Value'] |
- } |
- }))); |
+ }, |
+ })))); |
}), completes); |
}); |
- test('read', () { |
- expect(http.read(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value' |
- }).then((val) => val), completion(parse(equals({ |
- 'method': 'GET', |
- 'path': '/', |
- 'headers': { |
- 'content-length': ['0'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- }, |
- })))); |
- }); |
- |
test('read throws an error for a 4** status code', () { |
- expect(http.read(serverUrl.resolve('/error')), throwsHttpException); |
+ expect(startServer().then((_) { |
+ expect(http.read(serverUrl.resolve('/error')), throwsHttpException); |
+ }), completes); |
}); |
test('readBytes', () { |
- var future = http.readBytes(serverUrl, headers: { |
- 'X-Random-Header': 'Value', |
- 'X-Other-Header': 'Other Value' |
- }).then((bytes) => new String.fromCharCodes(bytes)); |
- |
- expect(future, completion(parse(equals({ |
- 'method': 'GET', |
- 'path': '/', |
- 'headers': { |
- 'content-length': ['0'], |
- 'x-random-header': ['Value'], |
- 'x-other-header': ['Other Value'] |
- }, |
- })))); |
+ expect(startServer().then((_) { |
+ var future = http.readBytes(serverUrl, headers: { |
+ 'X-Random-Header': 'Value', |
+ 'X-Other-Header': 'Other Value' |
+ }).then((bytes) => new String.fromCharCodes(bytes)); |
+ |
+ expect(future, completion(parse(equals({ |
+ 'method': 'GET', |
+ 'path': '/', |
+ 'headers': { |
+ 'content-length': ['0'], |
+ 'x-random-header': ['Value'], |
+ 'x-other-header': ['Other Value'] |
+ }, |
+ })))); |
+ }), completes); |
}); |
test('readBytes throws an error for a 4** status code', () { |
- expect(http.readBytes(serverUrl.resolve('/error')), throwsHttpException); |
+ expect(startServer().then((_) { |
+ expect(http.readBytes(serverUrl.resolve('/error')), throwsHttpException); |
+ }), completes); |
}); |
}); |
} |