| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 library io_http_apptests; | |
| 6 | |
| 7 import 'dart:async'; | |
| 8 import 'dart:convert'; | |
| 9 import 'dart:io'; | |
| 10 | |
| 11 import 'package:mojo_apptest/apptest.dart'; | |
| 12 import 'package:mojo/application.dart'; | |
| 13 import 'package:mojo/bindings.dart'; | |
| 14 import 'package:mojo/core.dart'; | |
| 15 | |
| 16 tests(Application application, String url) { | |
| 17 group('Http Apptests', () { | |
| 18 // Bind server to a random port. | |
| 19 test('Http Server Bind', () async { | |
| 20 var server = await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 0); | |
| 21 expect(server, isNotNull); | |
| 22 expect(server.port, greaterThan(1024)); | |
| 23 await server.close(); | |
| 24 }); | |
| 25 // Bind server to a random port. | |
| 26 // Make a request. | |
| 27 // Expect a 404 response. | |
| 28 test('Http Server Request 404', () async { | |
| 29 var server = await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 0); | |
| 30 expect(server, isNotNull); | |
| 31 expect(server.port, greaterThan(1024)); | |
| 32 server.listen((HttpRequest request) { | |
| 33 request.response.statusCode = HttpStatus.NOT_FOUND; | |
| 34 request.response.close(); | |
| 35 }); | |
| 36 var client = new HttpClient(); | |
| 37 expect(client, isNotNull); | |
| 38 var request = await client.get("127.0.0.1", server.port, "fox.txt"); | |
| 39 expect(request, isNotNull); | |
| 40 var response = await request.close(); | |
| 41 expect(response, isNotNull); | |
| 42 expect(response.statusCode, equals(HttpStatus.NOT_FOUND)); | |
| 43 await server.close(); | |
| 44 }); | |
| 45 // Bind server to a random port. | |
| 46 // Make a request. | |
| 47 // Expect an OK response. | |
| 48 test('Http Server Response', () async { | |
| 49 var server = await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 0); | |
| 50 expect(server, isNotNull); | |
| 51 expect(server.port, greaterThan(1024)); | |
| 52 server.listen((HttpRequest request) { | |
| 53 expect(request.uri.path, equals('/bar.txt')); | |
| 54 expect(request.method, equals('GET')); | |
| 55 request.response.write('contents of bar.txt'); | |
| 56 request.response.close(); | |
| 57 }); | |
| 58 var client = new HttpClient(); | |
| 59 expect(client, isNotNull); | |
| 60 var request = await client.get("127.0.0.1", server.port, 'bar.txt'); | |
| 61 expect(request, isNotNull); | |
| 62 var response = await request.close(); | |
| 63 expect(response, isNotNull); | |
| 64 expect(response.statusCode, equals(HttpStatus.OK)); | |
| 65 // Reduce to a single list. | |
| 66 var payload = await response.reduce((p, e) => p..addAll(e)); | |
| 67 // Verify payload is correct. | |
| 68 expect('contents of bar.txt', equals(UTF8.decode(payload))); | |
| 69 await server.close(); | |
| 70 }); | |
| 71 }); | |
| 72 } | |
| OLD | NEW |