OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
10 #include "net/base/load_log.h" | 10 #include "net/base/load_log.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 88 |
89 TEST(ProxyServiceTest, Direct) { | 89 TEST(ProxyServiceTest, Direct) { |
90 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; | 90 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; |
91 scoped_refptr<ProxyService> service( | 91 scoped_refptr<ProxyService> service( |
92 new ProxyService(new MockProxyConfigService, resolver)); | 92 new ProxyService(new MockProxyConfigService, resolver)); |
93 | 93 |
94 GURL url("http://www.google.com/"); | 94 GURL url("http://www.google.com/"); |
95 | 95 |
96 ProxyInfo info; | 96 ProxyInfo info; |
97 TestCompletionCallback callback; | 97 TestCompletionCallback callback; |
98 scoped_refptr<LoadLog> log(new LoadLog); | 98 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
99 int rv = service->ResolveProxy(url, &info, &callback, NULL, log); | 99 int rv = service->ResolveProxy(url, &info, &callback, NULL, log); |
100 EXPECT_EQ(OK, rv); | 100 EXPECT_EQ(OK, rv); |
101 EXPECT_TRUE(resolver->pending_requests().empty()); | 101 EXPECT_TRUE(resolver->pending_requests().empty()); |
102 EXPECT_TRUE(NULL == service->init_proxy_resolver_log()); | 102 EXPECT_TRUE(NULL == service->init_proxy_resolver_log()); |
103 | 103 |
104 EXPECT_TRUE(info.is_direct()); | 104 EXPECT_TRUE(info.is_direct()); |
105 | 105 |
106 // Check the LoadLog was filled correctly. | 106 // Check the LoadLog was filled correctly. |
107 EXPECT_EQ(2u, log->events().size()); | 107 EXPECT_EQ(2u, log->events().size()); |
108 ExpectLogContains(log, 0, LoadLog::TYPE_PROXY_SERVICE, LoadLog::PHASE_BEGIN); | 108 ExpectLogContains(log, 0, LoadLog::TYPE_PROXY_SERVICE, LoadLog::PHASE_BEGIN); |
109 ExpectLogContains(log, 1, LoadLog::TYPE_PROXY_SERVICE, LoadLog::PHASE_END); | 109 ExpectLogContains(log, 1, LoadLog::TYPE_PROXY_SERVICE, LoadLog::PHASE_END); |
110 } | 110 } |
111 | 111 |
112 TEST(ProxyServiceTest, PAC) { | 112 TEST(ProxyServiceTest, PAC) { |
113 MockProxyConfigService* config_service = | 113 MockProxyConfigService* config_service = |
114 new MockProxyConfigService("http://foopy/proxy.pac"); | 114 new MockProxyConfigService("http://foopy/proxy.pac"); |
115 | 115 |
116 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; | 116 MockAsyncProxyResolver* resolver = new MockAsyncProxyResolver; |
117 | 117 |
118 scoped_refptr<ProxyService> service( | 118 scoped_refptr<ProxyService> service( |
119 new ProxyService(config_service, resolver)); | 119 new ProxyService(config_service, resolver)); |
120 | 120 |
121 GURL url("http://www.google.com/"); | 121 GURL url("http://www.google.com/"); |
122 | 122 |
123 ProxyInfo info; | 123 ProxyInfo info; |
124 TestCompletionCallback callback; | 124 TestCompletionCallback callback; |
125 scoped_refptr<LoadLog> log(new LoadLog); | 125 scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded)); |
126 int rv = service->ResolveProxy(url, &info, &callback, NULL, log); | 126 int rv = service->ResolveProxy(url, &info, &callback, NULL, log); |
127 EXPECT_EQ(ERR_IO_PENDING, rv); | 127 EXPECT_EQ(ERR_IO_PENDING, rv); |
128 | 128 |
129 EXPECT_EQ(GURL("http://foopy/proxy.pac"), | 129 EXPECT_EQ(GURL("http://foopy/proxy.pac"), |
130 resolver->pending_set_pac_script_request()->pac_url()); | 130 resolver->pending_set_pac_script_request()->pac_url()); |
131 EXPECT_FALSE(NULL == service->init_proxy_resolver_log()); | 131 EXPECT_FALSE(NULL == service->init_proxy_resolver_log()); |
132 resolver->pending_set_pac_script_request()->CompleteNow(OK); | 132 resolver->pending_set_pac_script_request()->CompleteNow(OK); |
133 | 133 |
134 ASSERT_EQ(1u, resolver->pending_requests().size()); | 134 ASSERT_EQ(1u, resolver->pending_requests().size()); |
135 EXPECT_EQ(url, resolver->pending_requests()[0]->url()); | 135 EXPECT_EQ(url, resolver->pending_requests()[0]->url()); |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1013 scoped_refptr<ProxyService> service( | 1013 scoped_refptr<ProxyService> service( |
1014 new ProxyService(config_service, resolver)); | 1014 new ProxyService(config_service, resolver)); |
1015 | 1015 |
1016 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 1016 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
1017 service->SetProxyScriptFetcher(fetcher); | 1017 service->SetProxyScriptFetcher(fetcher); |
1018 | 1018 |
1019 // Start 3 requests. | 1019 // Start 3 requests. |
1020 ProxyInfo info1; | 1020 ProxyInfo info1; |
1021 TestCompletionCallback callback1; | 1021 TestCompletionCallback callback1; |
1022 ProxyService::PacRequest* request1; | 1022 ProxyService::PacRequest* request1; |
1023 scoped_refptr<LoadLog> log1(new LoadLog); | 1023 scoped_refptr<LoadLog> log1(new LoadLog(LoadLog::kUnbounded)); |
1024 int rv = service->ResolveProxy( | 1024 int rv = service->ResolveProxy( |
1025 GURL("http://request1"), &info1, &callback1, &request1, log1); | 1025 GURL("http://request1"), &info1, &callback1, &request1, log1); |
1026 EXPECT_EQ(ERR_IO_PENDING, rv); | 1026 EXPECT_EQ(ERR_IO_PENDING, rv); |
1027 | 1027 |
1028 // The first request should have triggered download of PAC script. | 1028 // The first request should have triggered download of PAC script. |
1029 EXPECT_TRUE(fetcher->has_pending_request()); | 1029 EXPECT_TRUE(fetcher->has_pending_request()); |
1030 EXPECT_EQ(GURL("http://foopy/proxy.pac"), fetcher->pending_request_url()); | 1030 EXPECT_EQ(GURL("http://foopy/proxy.pac"), fetcher->pending_request_url()); |
1031 | 1031 |
1032 ProxyInfo info2; | 1032 ProxyInfo info2; |
1033 TestCompletionCallback callback2; | 1033 TestCompletionCallback callback2; |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1520 ProxyInfo info2; | 1520 ProxyInfo info2; |
1521 TestCompletionCallback callback2; | 1521 TestCompletionCallback callback2; |
1522 rv = service->ResolveProxy( | 1522 rv = service->ResolveProxy( |
1523 GURL("http://www.google.com"), &info2, &callback2, NULL, NULL); | 1523 GURL("http://www.google.com"), &info2, &callback2, NULL, NULL); |
1524 EXPECT_EQ(OK, rv); | 1524 EXPECT_EQ(OK, rv); |
1525 | 1525 |
1526 EXPECT_TRUE(info2.is_direct()); | 1526 EXPECT_TRUE(info2.is_direct()); |
1527 } | 1527 } |
1528 | 1528 |
1529 } // namespace net | 1529 } // namespace net |
OLD | NEW |