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

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

Issue 11411121: Generate an error for active connections when the HTTP client is shutdown (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixed long line Created 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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:isolate"); 5 #import("dart:isolate");
6 #import("dart:crypto"); 6 #import("dart:crypto");
7 #import("dart:io"); 7 #import("dart:io");
8 #import("dart:uri"); 8 #import("dart:uri");
9 #import("dart:utf"); 9 #import("dart:utf");
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 void testUrlUserInfo() { 74 void testUrlUserInfo() {
75 Server server = setupServer(); 75 Server server = setupServer();
76 HttpClient client = new HttpClient(); 76 HttpClient client = new HttpClient();
77 77
78 HttpClientConnection conn = 78 HttpClientConnection conn =
79 client.getUrl( 79 client.getUrl(
80 new Uri.fromString( 80 new Uri.fromString(
81 "http://username:password@127.0.0.1:${server.port}/")); 81 "http://username:password@127.0.0.1:${server.port}/"));
82 conn.onResponse = (HttpClientResponse response) { 82 conn.onResponse = (HttpClientResponse response) {
83 server.shutdown(); 83 response.inputStream.onData = response.inputStream.read;
84 client.shutdown(); 84 response.inputStream.onClosed = () {
85 server.shutdown();
86 client.shutdown();
87 };
85 }; 88 };
86 } 89 }
87 90
88 void testBasicNoCredentials() { 91 void testBasicNoCredentials() {
89 Server server = setupServer(); 92 Server server = setupServer();
90 HttpClient client = new HttpClient(); 93 HttpClient client = new HttpClient();
91 94
92 Future makeRequest(Uri url) { 95 Future makeRequest(Uri url) {
93 Completer completer = new Completer(); 96 Completer completer = new Completer();
94 HttpClientConnection conn = client.getUrl(url); 97 HttpClientConnection conn = client.getUrl(url);
95 conn.onResponse = (HttpClientResponse response) { 98 conn.onResponse = (HttpClientResponse response) {
96 Expect.equals(HttpStatus.UNAUTHORIZED, response.statusCode); 99 Expect.equals(HttpStatus.UNAUTHORIZED, response.statusCode);
97 completer.complete(null); 100 response.inputStream.onData = response.inputStream.read;
101 response.inputStream.onClosed = () => completer.complete(null);
98 }; 102 };
99 return completer.future; 103 return completer.future;
100 } 104 }
101 105
102 var futures = []; 106 var futures = [];
103 for (int i = 0; i < 5; i++) { 107 for (int i = 0; i < 5; i++) {
104 futures.add( 108 futures.add(
105 makeRequest( 109 makeRequest(
106 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"))); 110 new Uri.fromString("http://127.0.0.1:${server.port}/test$i")));
107 futures.add( 111 futures.add(
108 makeRequest( 112 makeRequest(
109 new Uri.fromString("http://127.0.0.1:${server.port}/test$i/xxx"))); 113 new Uri.fromString("http://127.0.0.1:${server.port}/test$i/xxx")));
110 } 114 }
111 Futures.wait(futures).then((_) { 115 Futures.wait(futures).then((_) {
112 server.shutdown(); 116 server.shutdown();
113 client.shutdown(); 117 client.shutdown();
114 }); 118 });
115 } 119 }
116 120
117 void testBasicCredentials() { 121 void testBasicCredentials() {
118 Server server = setupServer(); 122 Server server = setupServer();
119 HttpClient client = new HttpClient(); 123 HttpClient client = new HttpClient();
120 124
121 Future makeRequest(Uri url) { 125 Future makeRequest(Uri url) {
122 Completer completer = new Completer(); 126 Completer completer = new Completer();
123 HttpClientConnection conn = client.getUrl(url); 127 HttpClientConnection conn = client.getUrl(url);
124 conn.onResponse = (HttpClientResponse response) { 128 conn.onResponse = (HttpClientResponse response) {
125 Expect.equals(HttpStatus.OK, response.statusCode); 129 Expect.equals(HttpStatus.OK, response.statusCode);
126 completer.complete(null); 130 response.inputStream.onData = response.inputStream.read;
131 response.inputStream.onClosed = () => completer.complete(null);
127 }; 132 };
128 return completer.future; 133 return completer.future;
129 } 134 }
130 135
131 for (int i = 0; i < 5; i++) { 136 for (int i = 0; i < 5; i++) {
132 client.addCredentials( 137 client.addCredentials(
133 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"), 138 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"),
134 "realm", 139 "realm",
135 new HttpClientBasicCredentials("test$i", "test$i")); 140 new HttpClientBasicCredentials("test$i", "test$i"));
136 } 141 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 completer.complete(true); 173 completer.complete(true);
169 }); 174 });
170 return completer.future; 175 return completer.future;
171 }; 176 };
172 177
173 Future makeRequest(Uri url) { 178 Future makeRequest(Uri url) {
174 Completer completer = new Completer(); 179 Completer completer = new Completer();
175 HttpClientConnection conn = client.getUrl(url); 180 HttpClientConnection conn = client.getUrl(url);
176 conn.onResponse = (HttpClientResponse response) { 181 conn.onResponse = (HttpClientResponse response) {
177 Expect.equals(HttpStatus.OK, response.statusCode); 182 Expect.equals(HttpStatus.OK, response.statusCode);
178 completer.complete(null); 183 response.inputStream.onData = response.inputStream.read;
184 response.inputStream.onClosed = () => completer.complete(null);
179 }; 185 };
180 return completer.future; 186 return completer.future;
181 } 187 }
182 188
183 List<Future> makeRequests() { 189 List<Future> makeRequests() {
184 var futures = []; 190 var futures = [];
185 for (int i = 0; i < 5; i++) { 191 for (int i = 0; i < 5; i++) {
186 futures.add( 192 futures.add(
187 makeRequest( 193 makeRequest(
188 new Uri.fromString("http://127.0.0.1:${server.port}/test$i"))); 194 new Uri.fromString("http://127.0.0.1:${server.port}/test$i")));
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 main() { 261 main() {
256 testUrlUserInfo(); 262 testUrlUserInfo();
257 testBasicNoCredentials(); 263 testBasicNoCredentials();
258 testBasicCredentials(); 264 testBasicCredentials();
259 testBasicAuthenticateCallback(); 265 testBasicAuthenticateCallback();
260 // These teste are not normally run. They can be used for locally 266 // These teste are not normally run. They can be used for locally
261 // testing with another web server (e.g. Apache). 267 // testing with another web server (e.g. Apache).
262 //testLocalServerBasic(); 268 //testLocalServerBasic();
263 //testLocalServerDigest(); 269 //testLocalServerDigest();
264 } 270 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698