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

Side by Side Diff: tests/standalone/io/https_client_certificate_test.dart

Issue 23886004: Update dart:io tests to use asyncStart/asyncEnd (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 7 years, 3 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "dart:async";
6 import "dart:io";
7
8 import "package:async_helper/async_helper.dart";
5 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
6 import "package:path/path.dart"; 10 import "package:path/path.dart";
7 import "dart:async";
8 import "dart:io";
9 import "dart:isolate";
10 11
11 const HOST_NAME = "localhost"; 12 const HOST_NAME = "localhost";
12 13
13 14
14 Function test() { 15 Function test() {
15 var keepAlive = new ReceivePort(); 16 asyncStart();
16 HttpServer.bindSecure(HOST_NAME, 17 HttpServer.bindSecure(HOST_NAME,
17 0, 18 0,
18 backlog: 5, 19 backlog: 5,
19 certificateName: 'localhost_cert', 20 certificateName: 'localhost_cert',
20 requestClientCertificate: true).then((server) { 21 requestClientCertificate: true).then((server) {
21 server.listen((HttpRequest request) { 22 server.listen((HttpRequest request) {
22 Expect.isNotNull(request.certificate); 23 Expect.isNotNull(request.certificate);
23 Expect.equals('CN=localhost', request.certificate.subject); 24 Expect.equals('CN=localhost', request.certificate.subject);
24 request.response.write("Hello"); 25 request.response.write("Hello");
25 request.response.close(); 26 request.response.close();
26 }); 27 });
27 28
28 HttpClient client = new HttpClient(); 29 HttpClient client = new HttpClient();
29 client.getUrl(Uri.parse("https://$HOST_NAME:${server.port}/")) 30 client.getUrl(Uri.parse("https://$HOST_NAME:${server.port}/"))
30 .then((request) => request.close()) 31 .then((request) => request.close())
31 .then((response) { 32 .then((response) {
32 Expect.equals('CN=localhost', response.certificate.subject); 33 Expect.equals('CN=localhost', response.certificate.subject);
33 Expect.equals('CN=myauthority', response.certificate.issuer); 34 Expect.equals('CN=myauthority', response.certificate.issuer);
34 return response.fold(<int>[], 35 return response.fold(<int>[],
35 (message, data) => message..addAll(data)); 36 (message, data) => message..addAll(data));
36 }) 37 })
37 .then((message) { 38 .then((message) {
38 String received = new String.fromCharCodes(message); 39 String received = new String.fromCharCodes(message);
39 Expect.equals(received, "Hello"); 40 Expect.equals(received, "Hello");
40 client.close(); 41 client.close();
41 server.close(); 42 server.close();
42 keepAlive.close(); 43 asyncEnd();
43 }); 44 });
44 }); 45 });
45 } 46 }
46 47
47 void InitializeSSL() { 48 void InitializeSSL() {
48 var testPkcertDatabase = join(dirname(Platform.script), 'pkcert'); 49 var testPkcertDatabase = join(dirname(Platform.script), 'pkcert');
49 SecureSocket.initialize(database: testPkcertDatabase, 50 SecureSocket.initialize(database: testPkcertDatabase,
50 password: 'dartdart'); 51 password: 'dartdart');
51 } 52 }
52 53
53 void main() { 54 void main() {
54 InitializeSSL(); 55 InitializeSSL();
55 test(); 56 test();
56 } 57 }
OLDNEW
« no previous file with comments | « tests/standalone/io/http_server_test.dart ('k') | tests/standalone/io/https_client_exception_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698