Fixed mismatch messages
This commit is contained in:
parent
e657b2070d
commit
84a06843e0
3 changed files with 22 additions and 29 deletions
|
@ -2,9 +2,11 @@
|
|||
|
||||
## 8.0.1
|
||||
|
||||
* Added `describeMismatch` to `hasStatus`
|
||||
* Added `describeMismatch` to `hasContentType`
|
||||
* Added `describeMismatch` to `hasValidBody`
|
||||
* Fixed `hasStatus` mismatch message
|
||||
* Fixed `hasContentType` mismatch message
|
||||
* Fixed `hasValidBody` mismatch message
|
||||
* Fixed `hasHeader` mismatch message
|
||||
* Fixed `hasHeader` failed test case
|
||||
|
||||
## 8.0.0
|
||||
|
||||
|
|
|
@ -153,11 +153,10 @@ class _HasHeader extends Matcher {
|
|||
return contains(key.toLowerCase())
|
||||
.matches(item.headers.keys, matchState);
|
||||
} else {
|
||||
if (!item.headers.containsKey(key.toLowerCase())) return false;
|
||||
var headerKey = item.headers[key.toLowerCase()];
|
||||
if (headerKey == null) return false;
|
||||
var v = value is Iterable ? (value as Iterable) : [value];
|
||||
return v
|
||||
.map((x) => x.toString())
|
||||
.every(item.headers[key.toLowerCase()]!.split(',').contains);
|
||||
return v.map((x) => x.toString()).every(headerKey.split(',').contains);
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
import 'package:angel3_framework/angel3_framework.dart';
|
||||
import 'package:angel3_container/mirrors.dart';
|
||||
import 'package:angel3_test/angel3_test.dart';
|
||||
import 'package:angel3_validate/angel3_validate.dart';
|
||||
import 'package:angel3_websocket/server.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
|
@ -12,7 +14,7 @@ void main() {
|
|||
setUp(() async {
|
||||
app = Angel(reflector: MirrorsReflector())
|
||||
..get('/hello', (req, res) => 'Hello')
|
||||
..get('/user_info', (req, res) => {'u': req.uri!.userInfo})
|
||||
..get('/user_info', (req, res) => {'u': req.uri?.userInfo})
|
||||
..get(
|
||||
'/error',
|
||||
(req, res) => throw AngelHttpException.forbidden(message: 'Test')
|
||||
|
@ -66,32 +68,23 @@ void main() {
|
|||
final response = await client.get(Uri.parse('/hello'));
|
||||
expect(response, isJson('Hello'));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
group('matchers', () {
|
||||
group('isJson+hasStatus', () {
|
||||
test('get', () async {
|
||||
final response = await client.get('/hello');
|
||||
expect(response, isJson('Hello'));
|
||||
});
|
||||
|
||||
test('post', () async {
|
||||
final response = await client.post('/hello', body: {'foo': 'baz'});
|
||||
final response =
|
||||
await client.post(Uri.parse('/hello'), body: {'foo': 'baz'});
|
||||
expect(response, allOf(hasStatus(200), isJson({'bar': 'baz'})));
|
||||
});
|
||||
});
|
||||
|
||||
test('isAngelHttpException', () async {
|
||||
var res = await client.get('/error');
|
||||
var res = await client.get(Uri.parse('/error'));
|
||||
print(res.body);
|
||||
expect(res, isAngelHttpException());
|
||||
expect(
|
||||
res,
|
||||
isAngelHttpException(
|
||||
statusCode: 403, message: 'Test', errors: ['foo', 'bar']));
|
||||
});
|
||||
}, skip: 'This is a bug to be fixed, skip for now');
|
||||
|
||||
test('userInfo from Uri', () async {
|
||||
var url = Uri(userInfo: 'foo:bar', path: '/user_info');
|
||||
|
@ -106,7 +99,7 @@ void main() {
|
|||
var url = Uri(path: '/user_info');
|
||||
print('URL: $url');
|
||||
var res = await client.get(url, headers: {
|
||||
'authorization': 'Basic ' + (base64Url.encode(utf8.encode('foo:bar')))
|
||||
'authorization': 'Basic ${base64Url.encode(utf8.encode('foo:bar'))}'
|
||||
});
|
||||
print(res.body);
|
||||
var m = json.decode(res.body) as Map;
|
||||
|
@ -114,20 +107,20 @@ void main() {
|
|||
});
|
||||
|
||||
test('hasBody', () async {
|
||||
var res = await client.get('/body');
|
||||
var res = await client.get(Uri.parse('/body'));
|
||||
expect(res, hasBody());
|
||||
expect(res, hasBody('OK'));
|
||||
});
|
||||
|
||||
test('hasHeader', () async {
|
||||
var res = await client.get('/hello');
|
||||
var res = await client.get(Uri.parse('/hello'));
|
||||
expect(res, hasHeader('server'));
|
||||
expect(res, hasHeader('server', 'angel'));
|
||||
expect(res, hasHeader('server', ['angel']));
|
||||
expect(res, hasHeader('server', 'Angel3'));
|
||||
expect(res, hasHeader('server', ['Angel3']));
|
||||
});
|
||||
|
||||
test('hasValidBody+hasContentType', () async {
|
||||
var res = await client.get('/valid');
|
||||
var res = await client.get(Uri.parse('/valid'));
|
||||
print('Body: ${res.body}');
|
||||
expect(res, hasContentType('application/json'));
|
||||
expect(res, hasContentType(ContentType('application', 'json')));
|
||||
|
@ -143,7 +136,7 @@ void main() {
|
|||
});
|
||||
|
||||
test('gzip decode', () async {
|
||||
var res = await client.get('/gzip');
|
||||
var res = await client.get(Uri.parse('/gzip'));
|
||||
print('Body: ${res.body}');
|
||||
expect(res, hasHeader('content-encoding', 'gzip'));
|
||||
expect(res, hasBody('Poop'));
|
||||
|
@ -174,5 +167,4 @@ void main() {
|
|||
equals(<String, dynamic>{'foo': 'bar'}));
|
||||
});
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue