OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "build/build_config.h" | 5 #include "build/build_config.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <shlobj.h> | 8 #include <shlobj.h> |
9 #include <windows.h> | 9 #include <windows.h> |
10 #endif | 10 #endif |
(...skipping 2447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2458 r.Start(); | 2458 r.Start(); |
2459 | 2459 |
2460 MessageLoop::current()->Run(); | 2460 MessageLoop::current()->Run(); |
2461 | 2461 |
2462 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); | 2462 EXPECT_TRUE(d.data_received().find("user/secret") != std::string::npos); |
2463 | 2463 |
2464 // Make sure we sent the cookie in the restarted transaction. | 2464 // Make sure we sent the cookie in the restarted transaction. |
2465 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") | 2465 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") |
2466 != std::string::npos); | 2466 != std::string::npos); |
2467 } | 2467 } |
2468 | |
2469 // Same test as above, except this time the restart is initiated earlier | |
2470 // (without user intervention since identity is embedded in the URL). | |
2471 { | |
2472 TestNetworkDelegate network_delegate; // must outlive URLRequest | |
2473 scoped_refptr<TestURLRequestContext> context( | |
2474 new TestURLRequestContext(true)); | |
2475 context->set_network_delegate(&network_delegate); | |
2476 context->Init(); | |
2477 | |
2478 TestDelegate d; | |
2479 | |
2480 GURL::Replacements replacements; | |
2481 std::string username("user2"); | |
2482 std::string password("secret"); | |
2483 replacements.SetUsernameStr(username); | |
2484 replacements.SetPasswordStr(password); | |
2485 GURL url_with_identity = url_requiring_auth.ReplaceComponents(replacements); | |
2486 | |
2487 URLRequest r(url_with_identity, &d); | |
2488 r.set_context(context); | |
2489 r.Start(); | |
2490 | |
2491 MessageLoop::current()->Run(); | |
2492 | |
2493 EXPECT_TRUE(d.data_received().find("user2/secret") != std::string::npos); | |
2494 | |
2495 // Make sure we sent the cookie in the restarted transaction. | |
2496 EXPECT_TRUE(d.data_received().find("Cookie: got_challenged=true") | |
2497 != std::string::npos); | |
2498 } | |
2499 } | 2468 } |
2500 | 2469 |
2501 TEST_F(URLRequestTest, DelayedCookieCallback) { | 2470 TEST_F(URLRequestTest, DelayedCookieCallback) { |
2502 TestServer test_server(TestServer::TYPE_HTTP, FilePath()); | 2471 TestServer test_server(TestServer::TYPE_HTTP, FilePath()); |
2503 ASSERT_TRUE(test_server.Start()); | 2472 ASSERT_TRUE(test_server.Start()); |
2504 | 2473 |
2505 scoped_refptr<URLRequestContext> context(new TestURLRequestContext()); | 2474 scoped_refptr<URLRequestContext> context(new TestURLRequestContext()); |
2506 scoped_refptr<DelayedCookieMonster> delayed_cm = | 2475 scoped_refptr<DelayedCookieMonster> delayed_cm = |
2507 new DelayedCookieMonster(); | 2476 new DelayedCookieMonster(); |
2508 scoped_refptr<CookieStore> cookie_store = delayed_cm; | 2477 scoped_refptr<CookieStore> cookie_store = delayed_cm; |
(...skipping 1570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4079 req.SetExtraRequestHeaders(headers); | 4048 req.SetExtraRequestHeaders(headers); |
4080 req.Start(); | 4049 req.Start(); |
4081 MessageLoop::current()->Run(); | 4050 MessageLoop::current()->Run(); |
4082 // If the net tests are being run with ChromeFrame then we need to allow for | 4051 // If the net tests are being run with ChromeFrame then we need to allow for |
4083 // the 'chromeframe' suffix which is added to the user agent before the | 4052 // the 'chromeframe' suffix which is added to the user agent before the |
4084 // closing parentheses. | 4053 // closing parentheses. |
4085 EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true)); | 4054 EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true)); |
4086 } | 4055 } |
4087 | 4056 |
4088 } // namespace net | 4057 } // namespace net |
OLD | NEW |