Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: services/dart/dart_apptests/lib/src/io_http_apptests.dart

Issue 1545483003: Dart: Reorganize files (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Fix build file Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698