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

Side by Side Diff: net/url_request/url_request_http_job_unittest.cc

Issue 1545233002: Convert Pass()→std::move() in //net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/url_request/url_request_http_job.h" 5 #include "net/url_request/url_request_http_job.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <cstddef> 9 #include <cstddef>
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 for (const std::string& token : 80 for (const std::string& token :
81 base::SplitString(encoding_headers, ", ", base::KEEP_WHITESPACE, 81 base::SplitString(encoding_headers, ", ", base::KEEP_WHITESPACE,
82 base::SPLIT_WANT_NONEMPTY)) { 82 base::SPLIT_WANT_NONEMPTY)) {
83 if (base::EqualsCaseInsensitiveASCII(token, "sdch")) 83 if (base::EqualsCaseInsensitiveASCII(token, "sdch"))
84 return true; 84 return true;
85 } 85 }
86 return false; 86 return false;
87 } 87 }
88 88
89 void EnableSdch() { 89 void EnableSdch() {
90 context_.SetSdchManager(scoped_ptr<SdchManager>(new SdchManager).Pass()); 90 context_.SetSdchManager(scoped_ptr<SdchManager>(new SdchManager));
91 } 91 }
92 92
93 MockNetworkLayer network_layer_; 93 MockNetworkLayer network_layer_;
94 TestURLRequestContext context_; 94 TestURLRequestContext context_;
95 TestDelegate delegate_; 95 TestDelegate delegate_;
96 scoped_ptr<URLRequest> req_; 96 scoped_ptr<URLRequest> req_;
97 }; 97 };
98 98
99 class URLRequestHttpJobWithMockSocketsTest : public ::testing::Test { 99 class URLRequestHttpJobWithMockSocketsTest : public ::testing::Test {
100 protected: 100 protected:
(...skipping 24 matching lines...) Expand all
125 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; 125 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
126 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n" 126 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
127 "Content-Length: 12\r\n\r\n"), 127 "Content-Length: 12\r\n\r\n"),
128 MockRead("Test Content")}; 128 MockRead("Test Content")};
129 129
130 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 130 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
131 arraysize(writes)); 131 arraysize(writes));
132 socket_factory_.AddSocketDataProvider(&socket_data); 132 socket_factory_.AddSocketDataProvider(&socket_data);
133 133
134 TestDelegate delegate; 134 TestDelegate delegate;
135 scoped_ptr<URLRequest> request = 135 scoped_ptr<URLRequest> request = context_->CreateRequest(
136 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 136 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
137 &delegate)
138 .Pass();
139 137
140 request->Start(); 138 request->Start();
141 ASSERT_TRUE(request->is_pending()); 139 ASSERT_TRUE(request->is_pending());
142 base::RunLoop().Run(); 140 base::RunLoop().Run();
143 141
144 EXPECT_TRUE(request->status().is_success()); 142 EXPECT_TRUE(request->status().is_success());
145 EXPECT_EQ(12, request->received_response_content_length()); 143 EXPECT_EQ(12, request->received_response_content_length());
146 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 144 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
147 request->GetTotalSentBytes()); 145 request->GetTotalSentBytes());
148 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 146 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
149 request->GetTotalReceivedBytes()); 147 request->GetTotalReceivedBytes());
150 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 148 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
151 network_delegate_.total_network_bytes_sent()); 149 network_delegate_.total_network_bytes_sent());
152 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 150 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
153 network_delegate_.total_network_bytes_received()); 151 network_delegate_.total_network_bytes_received());
154 } 152 }
155 153
156 TEST_F(URLRequestHttpJobWithMockSocketsTest, 154 TEST_F(URLRequestHttpJobWithMockSocketsTest,
157 TestContentLengthSuccessfulHttp09Request) { 155 TestContentLengthSuccessfulHttp09Request) {
158 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; 156 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
159 MockRead reads[] = {MockRead("Test Content"), 157 MockRead reads[] = {MockRead("Test Content"),
160 MockRead(net::SYNCHRONOUS, net::OK)}; 158 MockRead(net::SYNCHRONOUS, net::OK)};
161 159
162 StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0); 160 StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0);
163 socket_factory_.AddSocketDataProvider(&socket_data); 161 socket_factory_.AddSocketDataProvider(&socket_data);
164 162
165 TestDelegate delegate; 163 TestDelegate delegate;
166 scoped_ptr<URLRequest> request = 164 scoped_ptr<URLRequest> request = context_->CreateRequest(
167 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 165 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
168 &delegate)
169 .Pass();
170 166
171 request->Start(); 167 request->Start();
172 ASSERT_TRUE(request->is_pending()); 168 ASSERT_TRUE(request->is_pending());
173 base::RunLoop().Run(); 169 base::RunLoop().Run();
174 170
175 EXPECT_TRUE(request->status().is_success()); 171 EXPECT_TRUE(request->status().is_success());
176 EXPECT_EQ(12, request->received_response_content_length()); 172 EXPECT_EQ(12, request->received_response_content_length());
177 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 173 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
178 request->GetTotalSentBytes()); 174 request->GetTotalSentBytes());
179 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 175 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
180 request->GetTotalReceivedBytes()); 176 request->GetTotalReceivedBytes());
181 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 177 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
182 network_delegate_.total_network_bytes_sent()); 178 network_delegate_.total_network_bytes_sent());
183 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 179 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
184 network_delegate_.total_network_bytes_received()); 180 network_delegate_.total_network_bytes_received());
185 } 181 }
186 182
187 TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthFailedRequest) { 183 TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthFailedRequest) {
188 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; 184 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
189 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n" 185 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
190 "Content-Length: 20\r\n\r\n"), 186 "Content-Length: 20\r\n\r\n"),
191 MockRead("Test Content"), 187 MockRead("Test Content"),
192 MockRead(net::SYNCHRONOUS, net::ERR_FAILED)}; 188 MockRead(net::SYNCHRONOUS, net::ERR_FAILED)};
193 189
194 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 190 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
195 arraysize(writes)); 191 arraysize(writes));
196 socket_factory_.AddSocketDataProvider(&socket_data); 192 socket_factory_.AddSocketDataProvider(&socket_data);
197 193
198 TestDelegate delegate; 194 TestDelegate delegate;
199 scoped_ptr<URLRequest> request = 195 scoped_ptr<URLRequest> request = context_->CreateRequest(
200 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 196 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
201 &delegate)
202 .Pass();
203 197
204 request->Start(); 198 request->Start();
205 ASSERT_TRUE(request->is_pending()); 199 ASSERT_TRUE(request->is_pending());
206 base::RunLoop().Run(); 200 base::RunLoop().Run();
207 201
208 EXPECT_EQ(URLRequestStatus::FAILED, request->status().status()); 202 EXPECT_EQ(URLRequestStatus::FAILED, request->status().status());
209 EXPECT_EQ(12, request->received_response_content_length()); 203 EXPECT_EQ(12, request->received_response_content_length());
210 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 204 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
211 request->GetTotalSentBytes()); 205 request->GetTotalSentBytes());
212 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 206 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
(...skipping 10 matching lines...) Expand all
223 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n" 217 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
224 "Content-Length: 20\r\n\r\n"), 218 "Content-Length: 20\r\n\r\n"),
225 MockRead("Test Content"), 219 MockRead("Test Content"),
226 MockRead(net::SYNCHRONOUS, net::ERR_IO_PENDING)}; 220 MockRead(net::SYNCHRONOUS, net::ERR_IO_PENDING)};
227 221
228 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 222 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
229 arraysize(writes)); 223 arraysize(writes));
230 socket_factory_.AddSocketDataProvider(&socket_data); 224 socket_factory_.AddSocketDataProvider(&socket_data);
231 225
232 TestDelegate delegate; 226 TestDelegate delegate;
233 scoped_ptr<URLRequest> request = 227 scoped_ptr<URLRequest> request = context_->CreateRequest(
234 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 228 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
235 &delegate)
236 .Pass();
237 229
238 delegate.set_cancel_in_received_data(true); 230 delegate.set_cancel_in_received_data(true);
239 request->Start(); 231 request->Start();
240 base::RunLoop().RunUntilIdle(); 232 base::RunLoop().RunUntilIdle();
241 233
242 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); 234 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
243 EXPECT_EQ(12, request->received_response_content_length()); 235 EXPECT_EQ(12, request->received_response_content_length());
244 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 236 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
245 request->GetTotalSentBytes()); 237 request->GetTotalSentBytes());
246 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 238 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
(...skipping 26 matching lines...) Expand all
273 MockWrite final_writes[] = {MockWrite(kSimpleGetMockWrite)}; 265 MockWrite final_writes[] = {MockWrite(kSimpleGetMockWrite)};
274 MockRead final_reads[] = {MockRead("HTTP/1.1 200 OK\r\n" 266 MockRead final_reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
275 "Content-Length: 12\r\n\r\n"), 267 "Content-Length: 12\r\n\r\n"),
276 MockRead("Test Content")}; 268 MockRead("Test Content")};
277 StaticSocketDataProvider final_socket_data( 269 StaticSocketDataProvider final_socket_data(
278 final_reads, arraysize(final_reads), final_writes, 270 final_reads, arraysize(final_reads), final_writes,
279 arraysize(final_writes)); 271 arraysize(final_writes));
280 socket_factory_.AddSocketDataProvider(&final_socket_data); 272 socket_factory_.AddSocketDataProvider(&final_socket_data);
281 273
282 TestDelegate delegate; 274 TestDelegate delegate;
283 scoped_ptr<URLRequest> request = 275 scoped_ptr<URLRequest> request = context_->CreateRequest(
284 context_->CreateRequest(GURL("http://www.redirect.com"), DEFAULT_PRIORITY, 276 GURL("http://www.redirect.com"), DEFAULT_PRIORITY, &delegate);
285 &delegate)
286 .Pass();
287 277
288 request->Start(); 278 request->Start();
289 ASSERT_TRUE(request->is_pending()); 279 ASSERT_TRUE(request->is_pending());
290 base::RunLoop().RunUntilIdle(); 280 base::RunLoop().RunUntilIdle();
291 281
292 EXPECT_TRUE(request->status().is_success()); 282 EXPECT_TRUE(request->status().is_success());
293 EXPECT_EQ(12, request->received_response_content_length()); 283 EXPECT_EQ(12, request->received_response_content_length());
294 // Should not include the redirect. 284 // Should not include the redirect.
295 EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)), 285 EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)),
296 request->GetTotalSentBytes()); 286 request->GetTotalSentBytes());
(...skipping 10 matching lines...) Expand all
307 297
308 TEST_F(URLRequestHttpJobWithMockSocketsTest, 298 TEST_F(URLRequestHttpJobWithMockSocketsTest,
309 TestNetworkBytesCancelledAfterHeaders) { 299 TestNetworkBytesCancelledAfterHeaders) {
310 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; 300 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
311 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n\r\n")}; 301 MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n\r\n")};
312 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 302 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
313 arraysize(writes)); 303 arraysize(writes));
314 socket_factory_.AddSocketDataProvider(&socket_data); 304 socket_factory_.AddSocketDataProvider(&socket_data);
315 305
316 TestDelegate delegate; 306 TestDelegate delegate;
317 scoped_ptr<URLRequest> request = 307 scoped_ptr<URLRequest> request = context_->CreateRequest(
318 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 308 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
319 &delegate)
320 .Pass();
321 309
322 delegate.set_cancel_in_response_started(true); 310 delegate.set_cancel_in_response_started(true);
323 request->Start(); 311 request->Start();
324 base::RunLoop().RunUntilIdle(); 312 base::RunLoop().RunUntilIdle();
325 313
326 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); 314 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
327 EXPECT_EQ(0, request->received_response_content_length()); 315 EXPECT_EQ(0, request->received_response_content_length());
328 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 316 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
329 request->GetTotalSentBytes()); 317 request->GetTotalSentBytes());
330 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 318 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
331 request->GetTotalReceivedBytes()); 319 request->GetTotalReceivedBytes());
332 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), 320 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
333 network_delegate_.total_network_bytes_sent()); 321 network_delegate_.total_network_bytes_sent());
334 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), 322 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
335 network_delegate_.total_network_bytes_received()); 323 network_delegate_.total_network_bytes_received());
336 } 324 }
337 325
338 TEST_F(URLRequestHttpJobWithMockSocketsTest, 326 TEST_F(URLRequestHttpJobWithMockSocketsTest,
339 TestNetworkBytesCancelledImmediately) { 327 TestNetworkBytesCancelledImmediately) {
340 StaticSocketDataProvider socket_data(nullptr, 0, nullptr, 0); 328 StaticSocketDataProvider socket_data(nullptr, 0, nullptr, 0);
341 socket_factory_.AddSocketDataProvider(&socket_data); 329 socket_factory_.AddSocketDataProvider(&socket_data);
342 330
343 TestDelegate delegate; 331 TestDelegate delegate;
344 scoped_ptr<URLRequest> request = 332 scoped_ptr<URLRequest> request = context_->CreateRequest(
345 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 333 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
346 &delegate)
347 .Pass();
348 334
349 request->Start(); 335 request->Start();
350 request->Cancel(); 336 request->Cancel();
351 base::RunLoop().RunUntilIdle(); 337 base::RunLoop().RunUntilIdle();
352 338
353 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); 339 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
354 EXPECT_EQ(0, request->received_response_content_length()); 340 EXPECT_EQ(0, request->received_response_content_length());
355 EXPECT_EQ(0, request->GetTotalSentBytes()); 341 EXPECT_EQ(0, request->GetTotalSentBytes());
356 EXPECT_EQ(0, request->GetTotalReceivedBytes()); 342 EXPECT_EQ(0, request->GetTotalReceivedBytes());
357 EXPECT_EQ(0, network_delegate_.total_network_bytes_received()); 343 EXPECT_EQ(0, network_delegate_.total_network_bytes_received());
(...skipping 11 matching lines...) Expand all
369 ssl_socket_data_provider.SetNextProto(kProtoHTTP11); 355 ssl_socket_data_provider.SetNextProto(kProtoHTTP11);
370 ssl_socket_data_provider.cert = 356 ssl_socket_data_provider.cert =
371 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); 357 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der");
372 socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider); 358 socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider);
373 359
374 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 360 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
375 arraysize(writes)); 361 arraysize(writes));
376 socket_factory_.AddSocketDataProvider(&socket_data); 362 socket_factory_.AddSocketDataProvider(&socket_data);
377 363
378 TestDelegate delegate1; 364 TestDelegate delegate1;
379 scoped_ptr<URLRequest> request1 = 365 scoped_ptr<URLRequest> request1 = context_->CreateRequest(
380 context_->CreateRequest(GURL("https://www.example.com"), DEFAULT_PRIORITY, 366 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate1);
381 &delegate1).Pass();
382 367
383 request1->Start(); 368 request1->Start();
384 ASSERT_TRUE(request1->is_pending()); 369 ASSERT_TRUE(request1->is_pending());
385 base::RunLoop().Run(); 370 base::RunLoop().Run();
386 371
387 EXPECT_TRUE(request1->status().is_success()); 372 EXPECT_TRUE(request1->status().is_success());
388 EXPECT_EQ("test.html", delegate1.data_received()); 373 EXPECT_EQ("test.html", delegate1.data_received());
389 EXPECT_EQ(1, delegate1.received_before_network_start_count()); 374 EXPECT_EQ(1, delegate1.received_before_network_start_count());
390 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests()); 375 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests());
391 376
392 // Issue another request, and backoff logic should apply. 377 // Issue another request, and backoff logic should apply.
393 TestDelegate delegate2; 378 TestDelegate delegate2;
394 scoped_ptr<URLRequest> request2 = 379 scoped_ptr<URLRequest> request2 = context_->CreateRequest(
395 context_->CreateRequest(GURL("https://www.example.com"), DEFAULT_PRIORITY, 380 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate2);
396 &delegate2).Pass();
397 381
398 request2->Start(); 382 request2->Start();
399 ASSERT_TRUE(request2->is_pending()); 383 ASSERT_TRUE(request2->is_pending());
400 base::RunLoop().Run(); 384 base::RunLoop().Run();
401 385
402 EXPECT_FALSE(request2->status().is_success()); 386 EXPECT_FALSE(request2->status().is_success());
403 EXPECT_EQ(ERR_TEMPORARY_BACKOFF, request2->status().error()); 387 EXPECT_EQ(ERR_TEMPORARY_BACKOFF, request2->status().error());
404 EXPECT_EQ(0, delegate2.received_before_network_start_count()); 388 EXPECT_EQ(0, delegate2.received_before_network_start_count());
405 } 389 }
406 390
(...skipping 27 matching lines...) Expand all
434 ssl_socket_data_provider.SetNextProto(kProtoHTTP11); 418 ssl_socket_data_provider.SetNextProto(kProtoHTTP11);
435 ssl_socket_data_provider.cert = 419 ssl_socket_data_provider.cert =
436 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); 420 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der");
437 socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider); 421 socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider);
438 422
439 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 423 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
440 arraysize(writes)); 424 arraysize(writes));
441 socket_factory_.AddSocketDataProvider(&socket_data); 425 socket_factory_.AddSocketDataProvider(&socket_data);
442 426
443 TestDelegate delegate1; 427 TestDelegate delegate1;
444 scoped_ptr<URLRequest> request1 = 428 scoped_ptr<URLRequest> request1 = context_->CreateRequest(
445 context_->CreateRequest(GURL("https://www.example.com"), DEFAULT_PRIORITY, 429 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate1);
446 &delegate1)
447 .Pass();
448 430
449 request1->Start(); 431 request1->Start();
450 ASSERT_TRUE(request1->is_pending()); 432 ASSERT_TRUE(request1->is_pending());
451 base::RunLoop().Run(); 433 base::RunLoop().Run();
452 434
453 EXPECT_TRUE(request1->status().is_success()); 435 EXPECT_TRUE(request1->status().is_success());
454 EXPECT_EQ("test.html", delegate1.data_received()); 436 EXPECT_EQ("test.html", delegate1.data_received());
455 EXPECT_EQ(1, delegate1.received_before_network_start_count()); 437 EXPECT_EQ(1, delegate1.received_before_network_start_count());
456 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests()); 438 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests());
457 439
458 // Issue a user-initiated request, backoff logic should not apply. 440 // Issue a user-initiated request, backoff logic should not apply.
459 TestDelegate delegate2; 441 TestDelegate delegate2;
460 scoped_ptr<URLRequest> request2 = 442 scoped_ptr<URLRequest> request2 = context_->CreateRequest(
461 context_->CreateRequest(GURL("https://www.example.com"), DEFAULT_PRIORITY, 443 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate2);
462 &delegate2)
463 .Pass();
464 request2->SetLoadFlags(request2->load_flags() | LOAD_MAYBE_USER_GESTURE); 444 request2->SetLoadFlags(request2->load_flags() | LOAD_MAYBE_USER_GESTURE);
465 445
466 request2->Start(); 446 request2->Start();
467 ASSERT_TRUE(request2->is_pending()); 447 ASSERT_TRUE(request2->is_pending());
468 base::RunLoop().Run(); 448 base::RunLoop().Run();
469 449
470 EXPECT_NE(0, request2->load_flags() & LOAD_MAYBE_USER_GESTURE); 450 EXPECT_NE(0, request2->load_flags() & LOAD_MAYBE_USER_GESTURE);
471 EXPECT_TRUE(request2->status().is_success()); 451 EXPECT_TRUE(request2->status().is_success());
472 EXPECT_EQ("test.html", delegate2.data_received()); 452 EXPECT_EQ("test.html", delegate2.data_received());
473 EXPECT_EQ(1, delegate2.received_before_network_start_count()); 453 EXPECT_EQ(1, delegate2.received_before_network_start_count());
474 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests()); 454 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests());
475 } 455 }
476 456
477 TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeaderNotSecure) { 457 TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeaderNotSecure) {
478 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)}; 458 MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
479 MockRead reads[] = {MockRead( 459 MockRead reads[] = {MockRead(
480 "HTTP/1.1 200 OK\r\n" 460 "HTTP/1.1 200 OK\r\n"
481 "Backoff: 3600\r\n" 461 "Backoff: 3600\r\n"
482 "Content-Length: 9\r\n\r\n"), 462 "Content-Length: 9\r\n\r\n"),
483 MockRead("test.html")}; 463 MockRead("test.html")};
484 464
485 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 465 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
486 arraysize(writes)); 466 arraysize(writes));
487 socket_factory_.AddSocketDataProvider(&socket_data); 467 socket_factory_.AddSocketDataProvider(&socket_data);
488 468
489 TestDelegate delegate; 469 TestDelegate delegate;
490 scoped_ptr<URLRequest> request = 470 scoped_ptr<URLRequest> request = context_->CreateRequest(
491 context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 471 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
492 &delegate).Pass();
493 472
494 request->Start(); 473 request->Start();
495 ASSERT_TRUE(request->is_pending()); 474 ASSERT_TRUE(request->is_pending());
496 base::RunLoop().Run(); 475 base::RunLoop().Run();
497 476
498 EXPECT_TRUE(request->status().is_success()); 477 EXPECT_TRUE(request->status().is_success());
499 EXPECT_EQ("test.html", delegate.data_received()); 478 EXPECT_EQ("test.html", delegate.data_received());
500 EXPECT_EQ(1, delegate.received_before_network_start_count()); 479 EXPECT_EQ(1, delegate.received_before_network_start_count());
501 // Backoff logic does not apply to plain HTTP request. 480 // Backoff logic does not apply to plain HTTP request.
502 EXPECT_EQ(0, manager_.GetNumberOfEntriesForTests()); 481 EXPECT_EQ(0, manager_.GetNumberOfEntriesForTests());
(...skipping 12 matching lines...) Expand all
515 ssl_socket_data_provider.SetNextProto(kProtoHTTP11); 494 ssl_socket_data_provider.SetNextProto(kProtoHTTP11);
516 ssl_socket_data_provider.cert = 495 ssl_socket_data_provider.cert =
517 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); 496 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der");
518 socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider); 497 socket_factory_.AddSSLSocketDataProvider(&ssl_socket_data_provider);
519 498
520 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes, 499 StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
521 arraysize(writes)); 500 arraysize(writes));
522 socket_factory_.AddSocketDataProvider(&socket_data); 501 socket_factory_.AddSocketDataProvider(&socket_data);
523 502
524 TestDelegate delegate1; 503 TestDelegate delegate1;
525 scoped_ptr<URLRequest> request1 = 504 scoped_ptr<URLRequest> request1 = context_->CreateRequest(
526 context_->CreateRequest(GURL("https://www.example.com"), DEFAULT_PRIORITY, 505 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate1);
527 &delegate1).Pass();
528 506
529 request1->Start(); 507 request1->Start();
530 ASSERT_TRUE(request1->is_pending()); 508 ASSERT_TRUE(request1->is_pending());
531 base::RunLoop().Run(); 509 base::RunLoop().Run();
532 510
533 EXPECT_TRUE(request1->status().is_success()); 511 EXPECT_TRUE(request1->status().is_success());
534 EXPECT_EQ("test.html", delegate1.data_received()); 512 EXPECT_EQ("test.html", delegate1.data_received());
535 EXPECT_EQ(1, delegate1.received_before_network_start_count()); 513 EXPECT_EQ(1, delegate1.received_before_network_start_count());
536 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests()); 514 EXPECT_EQ(1, manager_.GetNumberOfEntriesForTests());
537 515
538 // Backoff logic does not apply to a second request, since it is fetched 516 // Backoff logic does not apply to a second request, since it is fetched
539 // from cache. 517 // from cache.
540 TestDelegate delegate2; 518 TestDelegate delegate2;
541 scoped_ptr<URLRequest> request2 = 519 scoped_ptr<URLRequest> request2 = context_->CreateRequest(
542 context_->CreateRequest(GURL("https://www.example.com"), DEFAULT_PRIORITY, 520 GURL("https://www.example.com"), DEFAULT_PRIORITY, &delegate2);
543 &delegate2).Pass();
544 521
545 request2->Start(); 522 request2->Start();
546 ASSERT_TRUE(request2->is_pending()); 523 ASSERT_TRUE(request2->is_pending());
547 base::RunLoop().Run(); 524 base::RunLoop().Run();
548 EXPECT_TRUE(request2->was_cached()); 525 EXPECT_TRUE(request2->was_cached());
549 EXPECT_TRUE(request2->status().is_success()); 526 EXPECT_TRUE(request2->status().is_success());
550 EXPECT_EQ(0, delegate2.received_before_network_start_count()); 527 EXPECT_EQ(0, delegate2.received_before_network_start_count());
551 } 528 }
552 529
553 TEST_F(URLRequestHttpJobTest, TestCancelWhileReadingCookies) { 530 TEST_F(URLRequestHttpJobTest, TestCancelWhileReadingCookies) {
554 context_.set_cookie_store(new DelayedCookieMonster()); 531 context_.set_cookie_store(new DelayedCookieMonster());
555 532
556 TestDelegate delegate; 533 TestDelegate delegate;
557 scoped_ptr<URLRequest> request = 534 scoped_ptr<URLRequest> request = context_.CreateRequest(
558 context_.CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY, 535 GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
559 &delegate)
560 .Pass();
561 536
562 request->Start(); 537 request->Start();
563 request->Cancel(); 538 request->Cancel();
564 base::RunLoop().Run(); 539 base::RunLoop().Run();
565 540
566 DCHECK_EQ(0, delegate.received_before_network_start_count()); 541 DCHECK_EQ(0, delegate.received_before_network_start_count());
567 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status()); 542 EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
568 } 543 }
569 544
570 // Make sure that SetPriority actually sets the URLRequestHttpJob's 545 // Make sure that SetPriority actually sets the URLRequestHttpJob's
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 req_->SetLoadFlags(LOAD_DISABLE_CACHE); 766 req_->SetLoadFlags(LOAD_DISABLE_CACHE);
792 job->Start(); 767 job->Start();
793 base::RunLoop().RunUntilIdle(); 768 base::RunLoop().RunUntilIdle();
794 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status()); 769 EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status());
795 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called()); 770 EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called());
796 } 771 }
797 772
798 } // namespace 773 } // namespace
799 774
800 } // namespace net 775 } // namespace net
OLDNEW
« no previous file with comments | « net/url_request/url_request_ftp_job_unittest.cc ('k') | net/url_request/url_request_intercepting_job_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698