| 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 "net/proxy/proxy_service.h" | 5 #include "net/proxy/proxy_service.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL, | 254 url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL, |
| 255 log.bound()); | 255 log.bound()); |
| 256 EXPECT_EQ(OK, rv); | 256 EXPECT_EQ(OK, rv); |
| 257 EXPECT_TRUE(resolver.pending_requests().empty()); | 257 EXPECT_TRUE(resolver.pending_requests().empty()); |
| 258 | 258 |
| 259 EXPECT_TRUE(info.is_direct()); | 259 EXPECT_TRUE(info.is_direct()); |
| 260 EXPECT_TRUE(info.proxy_resolve_start_time().is_null()); | 260 EXPECT_TRUE(info.proxy_resolve_start_time().is_null()); |
| 261 EXPECT_TRUE(info.proxy_resolve_end_time().is_null()); | 261 EXPECT_TRUE(info.proxy_resolve_end_time().is_null()); |
| 262 | 262 |
| 263 // Check the NetLog was filled correctly. | 263 // Check the NetLog was filled correctly. |
| 264 CapturingNetLog::CapturedEntryList entries; | 264 TestNetLog::CapturedEntryList entries; |
| 265 log.GetEntries(&entries); | 265 log.GetEntries(&entries); |
| 266 | 266 |
| 267 EXPECT_EQ(3u, entries.size()); | 267 EXPECT_EQ(3u, entries.size()); |
| 268 EXPECT_TRUE(LogContainsBeginEvent( | 268 EXPECT_TRUE(LogContainsBeginEvent( |
| 269 entries, 0, NetLog::TYPE_PROXY_SERVICE)); | 269 entries, 0, NetLog::TYPE_PROXY_SERVICE)); |
| 270 EXPECT_TRUE(LogContainsEvent( | 270 EXPECT_TRUE(LogContainsEvent( |
| 271 entries, 1, NetLog::TYPE_PROXY_SERVICE_RESOLVED_PROXY_LIST, | 271 entries, 1, NetLog::TYPE_PROXY_SERVICE_RESOLVED_PROXY_LIST, |
| 272 NetLog::PHASE_NONE)); | 272 NetLog::PHASE_NONE)); |
| 273 EXPECT_TRUE(LogContainsEndEvent( | 273 EXPECT_TRUE(LogContainsEndEvent( |
| 274 entries, 2, NetLog::TYPE_PROXY_SERVICE)); | 274 entries, 2, NetLog::TYPE_PROXY_SERVICE)); |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 EXPECT_EQ(OK, callback.WaitForResult()); | 416 EXPECT_EQ(OK, callback.WaitForResult()); |
| 417 EXPECT_FALSE(info.is_direct()); | 417 EXPECT_FALSE(info.is_direct()); |
| 418 EXPECT_EQ("foopy:80", info.proxy_server().ToURI()); | 418 EXPECT_EQ("foopy:80", info.proxy_server().ToURI()); |
| 419 EXPECT_TRUE(info.did_use_pac_script()); | 419 EXPECT_TRUE(info.did_use_pac_script()); |
| 420 | 420 |
| 421 EXPECT_FALSE(info.proxy_resolve_start_time().is_null()); | 421 EXPECT_FALSE(info.proxy_resolve_start_time().is_null()); |
| 422 EXPECT_FALSE(info.proxy_resolve_end_time().is_null()); | 422 EXPECT_FALSE(info.proxy_resolve_end_time().is_null()); |
| 423 EXPECT_LE(info.proxy_resolve_start_time(), info.proxy_resolve_end_time()); | 423 EXPECT_LE(info.proxy_resolve_start_time(), info.proxy_resolve_end_time()); |
| 424 | 424 |
| 425 // Check the NetLog was filled correctly. | 425 // Check the NetLog was filled correctly. |
| 426 CapturingNetLog::CapturedEntryList entries; | 426 TestNetLog::CapturedEntryList entries; |
| 427 log.GetEntries(&entries); | 427 log.GetEntries(&entries); |
| 428 | 428 |
| 429 EXPECT_EQ(5u, entries.size()); | 429 EXPECT_EQ(5u, entries.size()); |
| 430 EXPECT_TRUE(LogContainsBeginEvent( | 430 EXPECT_TRUE(LogContainsBeginEvent( |
| 431 entries, 0, NetLog::TYPE_PROXY_SERVICE)); | 431 entries, 0, NetLog::TYPE_PROXY_SERVICE)); |
| 432 EXPECT_TRUE(LogContainsBeginEvent( | 432 EXPECT_TRUE(LogContainsBeginEvent( |
| 433 entries, 1, NetLog::TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC)); | 433 entries, 1, NetLog::TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC)); |
| 434 EXPECT_TRUE(LogContainsEndEvent( | 434 EXPECT_TRUE(LogContainsEndEvent( |
| 435 entries, 2, NetLog::TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC)); | 435 entries, 2, NetLog::TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC)); |
| 436 EXPECT_TRUE(LogContainsEndEvent( | 436 EXPECT_TRUE(LogContainsEndEvent( |
| (...skipping 1526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1963 resolver.pending_requests()[0]->CompleteNow(OK); | 1963 resolver.pending_requests()[0]->CompleteNow(OK); |
| 1964 | 1964 |
| 1965 EXPECT_EQ(OK, callback3.WaitForResult()); | 1965 EXPECT_EQ(OK, callback3.WaitForResult()); |
| 1966 EXPECT_EQ("request3:80", info3.proxy_server().ToURI()); | 1966 EXPECT_EQ("request3:80", info3.proxy_server().ToURI()); |
| 1967 | 1967 |
| 1968 EXPECT_TRUE(resolver.cancelled_requests().empty()); | 1968 EXPECT_TRUE(resolver.cancelled_requests().empty()); |
| 1969 | 1969 |
| 1970 EXPECT_FALSE(callback1.have_result()); // Cancelled. | 1970 EXPECT_FALSE(callback1.have_result()); // Cancelled. |
| 1971 EXPECT_FALSE(callback2.have_result()); // Cancelled. | 1971 EXPECT_FALSE(callback2.have_result()); // Cancelled. |
| 1972 | 1972 |
| 1973 CapturingNetLog::CapturedEntryList entries1; | 1973 TestNetLog::CapturedEntryList entries1; |
| 1974 log1.GetEntries(&entries1); | 1974 log1.GetEntries(&entries1); |
| 1975 | 1975 |
| 1976 // Check the NetLog for request 1 (which was cancelled) got filled properly. | 1976 // Check the NetLog for request 1 (which was cancelled) got filled properly. |
| 1977 EXPECT_EQ(4u, entries1.size()); | 1977 EXPECT_EQ(4u, entries1.size()); |
| 1978 EXPECT_TRUE(LogContainsBeginEvent( | 1978 EXPECT_TRUE(LogContainsBeginEvent( |
| 1979 entries1, 0, NetLog::TYPE_PROXY_SERVICE)); | 1979 entries1, 0, NetLog::TYPE_PROXY_SERVICE)); |
| 1980 EXPECT_TRUE(LogContainsBeginEvent( | 1980 EXPECT_TRUE(LogContainsBeginEvent( |
| 1981 entries1, 1, NetLog::TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC)); | 1981 entries1, 1, NetLog::TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC)); |
| 1982 // Note that TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC is never completed before | 1982 // Note that TYPE_PROXY_SERVICE_WAITING_FOR_INIT_PAC is never completed before |
| 1983 // the cancellation occured. | 1983 // the cancellation occured. |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2416 | 2416 |
| 2417 EXPECT_TRUE(info2.is_direct()); | 2417 EXPECT_TRUE(info2.is_direct()); |
| 2418 } | 2418 } |
| 2419 | 2419 |
| 2420 TEST_F(ProxyServiceTest, NetworkChangeTriggersPacRefetch) { | 2420 TEST_F(ProxyServiceTest, NetworkChangeTriggersPacRefetch) { |
| 2421 MockProxyConfigService* config_service = | 2421 MockProxyConfigService* config_service = |
| 2422 new MockProxyConfigService("http://foopy/proxy.pac"); | 2422 new MockProxyConfigService("http://foopy/proxy.pac"); |
| 2423 | 2423 |
| 2424 MockAsyncProxyResolverExpectsBytes resolver; | 2424 MockAsyncProxyResolverExpectsBytes resolver; |
| 2425 | 2425 |
| 2426 CapturingNetLog log; | 2426 TestNetLog log; |
| 2427 | 2427 |
| 2428 ProxyService service( | 2428 ProxyService service( |
| 2429 config_service, | 2429 config_service, |
| 2430 make_scoped_ptr(new ForwardingProxyResolverFactory(&resolver)), &log); | 2430 make_scoped_ptr(new ForwardingProxyResolverFactory(&resolver)), &log); |
| 2431 | 2431 |
| 2432 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2432 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
| 2433 service.SetProxyScriptFetchers(fetcher, | 2433 service.SetProxyScriptFetchers(fetcher, |
| 2434 new DoNothingDhcpProxyScriptFetcher()); | 2434 new DoNothingDhcpProxyScriptFetcher()); |
| 2435 | 2435 |
| 2436 // Disable the "wait after IP address changes" hack, so this unit-test can | 2436 // Disable the "wait after IP address changes" hack, so this unit-test can |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2513 resolver.pending_requests()[0]->results()->UseNamedProxy("request2:80"); | 2513 resolver.pending_requests()[0]->results()->UseNamedProxy("request2:80"); |
| 2514 resolver.pending_requests()[0]->CompleteNow(OK); | 2514 resolver.pending_requests()[0]->CompleteNow(OK); |
| 2515 | 2515 |
| 2516 // Wait for completion callback, and verify that the request ran as expected. | 2516 // Wait for completion callback, and verify that the request ran as expected. |
| 2517 EXPECT_EQ(OK, callback2.WaitForResult()); | 2517 EXPECT_EQ(OK, callback2.WaitForResult()); |
| 2518 EXPECT_EQ("request2:80", info2.proxy_server().ToURI()); | 2518 EXPECT_EQ("request2:80", info2.proxy_server().ToURI()); |
| 2519 | 2519 |
| 2520 // Check that the expected events were output to the log stream. In particular | 2520 // Check that the expected events were output to the log stream. In particular |
| 2521 // PROXY_CONFIG_CHANGED should have only been emitted once (for the initial | 2521 // PROXY_CONFIG_CHANGED should have only been emitted once (for the initial |
| 2522 // setup), and NOT a second time when the IP address changed. | 2522 // setup), and NOT a second time when the IP address changed. |
| 2523 CapturingNetLog::CapturedEntryList entries; | 2523 TestNetLog::CapturedEntryList entries; |
| 2524 log.GetEntries(&entries); | 2524 log.GetEntries(&entries); |
| 2525 | 2525 |
| 2526 EXPECT_TRUE(LogContainsEntryWithType(entries, 0, | 2526 EXPECT_TRUE(LogContainsEntryWithType(entries, 0, |
| 2527 NetLog::TYPE_PROXY_CONFIG_CHANGED)); | 2527 NetLog::TYPE_PROXY_CONFIG_CHANGED)); |
| 2528 ASSERT_EQ(9u, entries.size()); | 2528 ASSERT_EQ(9u, entries.size()); |
| 2529 for (size_t i = 1; i < entries.size(); ++i) | 2529 for (size_t i = 1; i < entries.size(); ++i) |
| 2530 EXPECT_NE(NetLog::TYPE_PROXY_CONFIG_CHANGED, entries[i].type); | 2530 EXPECT_NE(NetLog::TYPE_PROXY_CONFIG_CHANGED, entries[i].type); |
| 2531 } | 2531 } |
| 2532 | 2532 |
| 2533 // This test verifies that the PAC script specified by the settings is | 2533 // This test verifies that the PAC script specified by the settings is |
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3166 url, net::LOAD_NORMAL, &info, NULL, log.bound()); | 3166 url, net::LOAD_NORMAL, &info, NULL, log.bound()); |
| 3167 EXPECT_TRUE(synchronous_success); | 3167 EXPECT_TRUE(synchronous_success); |
| 3168 EXPECT_FALSE(info.is_direct()); | 3168 EXPECT_FALSE(info.is_direct()); |
| 3169 EXPECT_EQ("foopy1", info.proxy_server().host_port_pair().host()); | 3169 EXPECT_EQ("foopy1", info.proxy_server().host_port_pair().host()); |
| 3170 | 3170 |
| 3171 // No request should have been queued. | 3171 // No request should have been queued. |
| 3172 EXPECT_EQ(0u, resolver.pending_requests().size()); | 3172 EXPECT_EQ(0u, resolver.pending_requests().size()); |
| 3173 } | 3173 } |
| 3174 | 3174 |
| 3175 } // namespace net | 3175 } // namespace net |
| OLD | NEW |