Fixed framework test cases

This commit is contained in:
thomashii 2021-03-06 22:28:33 +08:00
parent b7728bc761
commit 00663ef667
5 changed files with 36 additions and 35 deletions

View file

@ -31,8 +31,8 @@ main() {
});
test("allow override of method", () async {
var response = await client
.get('$url/foo', headers: {'X-HTTP-Method-Override': 'POST'});
var response = await client.get(Uri.parse('$url/foo'),
headers: {'X-HTTP-Method-Override': 'POST'});
print('Response: ${response.body}');
expect(json.decode(response.body), equals({'hello': 'world'}));
});

View file

@ -59,7 +59,7 @@ main() {
count++;
});
var response = await client.get("$url/todos");
var response = await client.get(Uri.parse("$url/todos"));
print(response.body);
expect(count, equals(2));
});
@ -73,7 +73,7 @@ main() {
event.cancel({"this_hook": "should never run"});
});
var response = await client.post("$url/todos",
var response = await client.post(Uri.parse("$url/todos"),
body: json.encode({"arbitrary": "data"}),
headers: headers as Map<String, String>);
print(response.body);
@ -93,7 +93,7 @@ main() {
event.cancel({"this_hook": "should never run either"});
});
var response = await client.get("$url/todos");
var response = await client.get(Uri.parse("$url/todos"));
print(response.body);
var result = json.decode(response.body) as List;
expect(result[0]["angel"], equals("framework"));
@ -121,7 +121,7 @@ main() {
print('Indexing books at path: ${e.request.path}');
});
var response = await client.get('$url/books');
var response = await client.get(Uri.parse('$url/books'));
print(response.body);
var result = json.decode(response.body);

View file

@ -127,12 +127,12 @@ main() {
});
test('Can match basic url', () async {
var response = await client.get("$url/hello");
var response = await client.get(Uri.parse("$url/hello"));
expect(response.body, equals('"world"'));
});
test('Can match url with multiple parameters', () async {
var response = await client.get('$url/name/HELLO/last/WORLD');
var response = await client.get(Uri.parse('$url/name/HELLO/last/WORLD'));
print('Response: ${response.body}');
var json_ = json.decode(response.body);
expect(json_, const IsInstanceOf<Map>());
@ -141,18 +141,18 @@ main() {
});
test('Chained routes', () async {
var response = await client.get("$url/chained");
var response = await client.get(Uri.parse("$url/chained"));
expect(response.body, equals('abc'));
});
test('Can nest another Angel instance', () async {
var response = await client.post('$url/nes/ted/foo');
var response = await client.post(Uri.parse('$url/nes/ted/foo'));
var json_ = json.decode(response.body);
expect(json_['route'], equals('foo'));
});
test('Can parse parameters from a nested Angel instance', () async {
var response = await client.get('$url/todos/1337/action/test');
var response = await client.get(Uri.parse('$url/todos/1337/action/test'));
var json_ = json.decode(response.body);
print('JSON: $json_');
expect(json_['id'], equals('1337'));
@ -160,27 +160,27 @@ main() {
});
test('Can add and use named middleware', () async {
var response = await client.get('$url/intercepted');
var response = await client.get(Uri.parse('$url/intercepted'));
expect(response.body, equals('Middleware'));
});
test('Middleware via metadata', () async {
// Metadata
var response = await client.get('$url/meta');
var response = await client.get(Uri.parse('$url/meta'));
expect(response.body, equals('Middleware'));
});
test('Can serialize function result as JSON', () async {
Map headers = <String, String>{'Content-Type': 'application/json'};
String postData = json.encode({'it': 'works'});
var response = await client.post("$url/lambda",
var response = await client.post(Uri.parse("$url/lambda"),
headers: headers as Map<String, String>, body: postData);
print('Response: ${response.body}');
expect(json.decode(response.body)['it'], equals('works'));
});
test('Fallback routes', () async {
var response = await client.get('$url/my_favorite_artist');
var response = await client.get(Uri.parse('$url/my_favorite_artist'));
expect(response.body, equals('"MJ"'));
});
@ -193,32 +193,32 @@ main() {
});
test('Redirect to named routes', () async {
var response = await client.get('$url/named');
var response = await client.get(Uri.parse('$url/named'));
print(response.body);
expect(json.decode(response.body), equals('Hello tests'));
});
test('Match routes, even with query params', () async {
var response =
await client.get("$url/log?foo=bar&bar=baz&baz.foo=bar&baz.bar=foo");
var response = await client
.get(Uri.parse("$url/log?foo=bar&bar=baz&baz.foo=bar&baz.bar=foo"));
print(response.body);
expect(json.decode(response.body), equals('Logged'));
response = await client.get("$url/query/foo?bar=baz");
response = await client.get(Uri.parse("$url/query/foo?bar=baz"));
print(response.body);
expect(response.body, equals("Service with Middleware"));
});
test('only match route with matching method', () async {
var response = await client.get("$url/method");
var response = await client.get(Uri.parse("$url/method"));
print(response.body);
expect(response.body, '"Only GET"');
response = await client.post("$url/method");
response = await client.post(Uri.parse("$url/method"));
print(response.body);
expect(response.body, '"Only POST"');
response = await client.patch("$url/method");
response = await client.patch(Uri.parse("$url/method"));
print(response.body);
expect(response.body, '"MJ"');
});

View file

@ -35,11 +35,11 @@ main() {
});
test("correct content-type", () async {
var response = await client.get('$url/foo');
var response = await client.get(Uri.parse('$url/foo'));
print('Response: ${response.body}');
expect(response.headers['content-type'], contains('application/json'));
response = await client.get('$url/bar');
response = await client.get(Uri.parse('$url/bar'));
print('Response: ${response.body}');
expect(response.headers['content-type'], contains('text/html'));
});

View file

@ -44,7 +44,7 @@ main() {
group('memory', () {
test('can index an empty service', () async {
var response = await client.get("$url/todos/");
var response = await client.get(Uri.parse("$url/todos/"));
print(response.body);
expect(response.body, equals('[]'));
print(response.body);
@ -53,7 +53,7 @@ main() {
test('can create data', () async {
String postData = json.encode({'text': 'Hello, world!'});
var response = await client.post("$url/todos",
var response = await client.post(Uri.parse("$url/todos"),
headers: headers as Map<String, String>, body: postData);
expect(response.statusCode, 201);
var jsons = json.decode(response.body);
@ -63,9 +63,9 @@ main() {
test('can fetch data', () async {
String postData = json.encode({'text': 'Hello, world!'});
await client.post("$url/todos",
await client.post(Uri.parse("$url/todos"),
headers: headers as Map<String, String>, body: postData);
var response = await client.get("$url/todos/0");
var response = await client.get(Uri.parse("$url/todos/0"));
expect(response.statusCode, 200);
var jsons = json.decode(response.body);
print(jsons);
@ -74,11 +74,11 @@ main() {
test('can modify data', () async {
String postData = json.encode({'text': 'Hello, world!'});
await client.post("$url/todos",
await client.post(Uri.parse("$url/todos"),
headers: headers as Map<String, String>, body: postData);
postData = json.encode({'text': 'modified'});
var response = await client.patch("$url/todos/0",
var response = await client.patch(Uri.parse("$url/todos/0"),
headers: headers as Map<String, String>, body: postData);
expect(response.statusCode, 200);
var jsons = json.decode(response.body);
@ -88,11 +88,11 @@ main() {
test('can overwrite data', () async {
String postData = json.encode({'text': 'Hello, world!'});
await client.post("$url/todos",
await client.post(Uri.parse("$url/todos"),
headers: headers as Map<String, String>, body: postData);
postData = json.encode({'over': 'write'});
var response = await client.post("$url/todos/0",
var response = await client.post(Uri.parse("$url/todos/0"),
headers: headers as Map<String, String>, body: postData);
expect(response.statusCode, 200);
var jsons = json.decode(response.body);
@ -115,10 +115,11 @@ main() {
test('can delete data', () async {
String postData = json.encode({'text': 'Hello, world!'});
var created = await client
.post("$url/todos",
.post(Uri.parse("$url/todos"),
headers: headers as Map<String, String>, body: postData)
.then((r) => json.decode(r.body));
var response = await client.delete("$url/todos/${created['id']}");
var response =
await client.delete(Uri.parse("$url/todos/${created['id']}"));
expect(response.statusCode, 200);
var json_ = json.decode(response.body);
print(json_);
@ -126,7 +127,7 @@ main() {
});
test('cannot remove all unless explicitly set', () async {
var response = await client.delete('$url/todos/null');
var response = await client.delete(Uri.parse('$url/todos/null'));
expect(response.statusCode, 403);
});
});