How to wave off a server response - server side client
I am trying to jerk off and I am writing a server side client:
new HttpClient().post(InternetAddress.LOOPBACK_IP_V4.host, 7474, '/path').then((HttpClientRequest request) { request.headers.contentType = ContentType.JSON; request.headers.add(HttpHeaders.ACCEPT, ContentType.JSON); request.write(JSON.encode(jsonData)); return request.close(); }).then((HttpClientResponse response) { response.transform(UTF8.decoder).listen((contents) { _logger(contents); // stuff }); });
and I would like to poke fun at the server's response.
What's the best solution?
- Create a server in my test class that will return the expected value?
- or poke fun at HttpClientResponse?
Thank you for your help! (code would be very grateful, D)
+3
source to share
1 answer
http packages provide support for this.
See http://www.dartdocs.org/documentation/http/0.11.1+1/index.html#http/http-testing for examples.
import 'dart:convert'; import 'package:http/testing.dart'; var client = new MockClient((request) { if (request.url.path != "/data.json") { return new Response("", 404); } return new Response(JSON.encode({ 'numbers': [1, 4, 15, 19, 214] }, 200, headers: { 'content-type': 'application/json' }); };
+3
source to share