Merge branch 'MTRNord/utf8-encode-fake-api-responses' into 'master'

[Tests] Properly encode fake api responses as utf8. Also remove not needed returns as they do the same as the last return.

Closes #84

See merge request famedly/famedlysdk!392
This commit is contained in:
Sorunome 2020-07-20 13:28:02 +00:00
commit 845d0cf791

View file

@ -47,6 +47,7 @@ class FakeMatrixApi extends MockClient {
final dynamic data = final dynamic data =
method == 'GET' ? request.url.queryParameters : request.body; method == 'GET' ? request.url.queryParameters : request.body;
dynamic res = {}; dynamic res = {};
var statusCode = 200;
//print('\$method request to $action with Data: $data'); //print('\$method request to $action with Data: $data');
@ -68,30 +69,28 @@ class FakeMatrixApi extends MockClient {
if (api.containsKey(method) && api[method].containsKey(action)) { if (api.containsKey(method) && api[method].containsKey(action)) {
res = api[method][action](data); res = api[method][action](data);
if (res is Map && res.containsKey('errcode')) { if (res is Map && res.containsKey('errcode')) {
return Response(json.encode(res), 405); statusCode = 405;
} }
} else if (method == 'PUT' && } else if (method == 'PUT' &&
action.contains('/client/r0/sendToDevice/')) { action.contains('/client/r0/sendToDevice/')) {
return Response(json.encode({}), 200); res = {};
} else if (method == 'GET' && } else if (method == 'GET' &&
action.contains('/client/r0/rooms/') && action.contains('/client/r0/rooms/') &&
action.contains('/state/m.room.member/')) { action.contains('/state/m.room.member/')) {
res = {'displayname': ''}; res = {'displayname': ''};
return Response(json.encode(res), 200);
} else if (method == 'PUT' && } else if (method == 'PUT' &&
action.contains( action.contains(
'/client/r0/rooms/%211234%3AfakeServer.notExisting/send/')) { '/client/r0/rooms/%211234%3AfakeServer.notExisting/send/')) {
res = {'event_id': '\$event${FakeMatrixApi.eventCounter++}'}; res = {'event_id': '\$event${FakeMatrixApi.eventCounter++}'};
return Response(json.encode(res), 200);
} else { } else {
res = { res = {
'errcode': 'M_UNRECOGNIZED', 'errcode': 'M_UNRECOGNIZED',
'error': 'Unrecognized request' 'error': 'Unrecognized request'
}; };
return Response(json.encode(res), 405); statusCode = 405;
} }
return Response(json.encode(res), 200); return Response.bytes(utf8.encode(json.encode(res)), statusCode);
}); });
static Map<String, dynamic> messagesResponse = { static Map<String, dynamic> messagesResponse = {