| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/mojo_proxy_resolver_impl.h" | 5 #include "net/proxy/mojo_proxy_resolver_impl.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 } | 201 } |
| 202 | 202 |
| 203 MockProxyResolverV8Tracing* mock_proxy_resolver_; | 203 MockProxyResolverV8Tracing* mock_proxy_resolver_; |
| 204 | 204 |
| 205 std::unique_ptr<MojoProxyResolverImpl> resolver_impl_; | 205 std::unique_ptr<MojoProxyResolverImpl> resolver_impl_; |
| 206 interfaces::ProxyResolver* resolver_; | 206 interfaces::ProxyResolver* resolver_; |
| 207 }; | 207 }; |
| 208 | 208 |
| 209 TEST_F(MojoProxyResolverImplTest, GetProxyForUrl) { | 209 TEST_F(MojoProxyResolverImplTest, GetProxyForUrl) { |
| 210 interfaces::ProxyResolverRequestClientPtr client_ptr; | 210 interfaces::ProxyResolverRequestClientPtr client_ptr; |
| 211 TestRequestClient client(mojo::GetProxy(&client_ptr)); | 211 TestRequestClient client(mojo::MakeRequest(&client_ptr)); |
| 212 | 212 |
| 213 resolver_->GetProxyForUrl(GURL(GURL("http://example.com")), | 213 resolver_->GetProxyForUrl(GURL(GURL("http://example.com")), |
| 214 std::move(client_ptr)); | 214 std::move(client_ptr)); |
| 215 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); | 215 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); |
| 216 MockProxyResolverV8Tracing::Job* job = | 216 MockProxyResolverV8Tracing::Job* job = |
| 217 mock_proxy_resolver_->pending_jobs()[0].get(); | 217 mock_proxy_resolver_->pending_jobs()[0].get(); |
| 218 EXPECT_EQ(GURL(GURL("http://example.com")), job->url); | 218 EXPECT_EQ(GURL(GURL("http://example.com")), job->url); |
| 219 | 219 |
| 220 job->results->UsePacString( | 220 job->results->UsePacString( |
| 221 "PROXY proxy.example.com:1; " | 221 "PROXY proxy.example.com:1; " |
| (...skipping 26 matching lines...) Expand all Loading... |
| 248 | 248 |
| 249 EXPECT_EQ(ProxyServer::SCHEME_QUIC, servers[4].scheme()); | 249 EXPECT_EQ(ProxyServer::SCHEME_QUIC, servers[4].scheme()); |
| 250 EXPECT_EQ("quic.example.com", servers[4].host_port_pair().host()); | 250 EXPECT_EQ("quic.example.com", servers[4].host_port_pair().host()); |
| 251 EXPECT_EQ(65000, servers[4].host_port_pair().port()); | 251 EXPECT_EQ(65000, servers[4].host_port_pair().port()); |
| 252 | 252 |
| 253 EXPECT_EQ(ProxyServer::SCHEME_DIRECT, servers[5].scheme()); | 253 EXPECT_EQ(ProxyServer::SCHEME_DIRECT, servers[5].scheme()); |
| 254 } | 254 } |
| 255 | 255 |
| 256 TEST_F(MojoProxyResolverImplTest, GetProxyForUrlFailure) { | 256 TEST_F(MojoProxyResolverImplTest, GetProxyForUrlFailure) { |
| 257 interfaces::ProxyResolverRequestClientPtr client_ptr; | 257 interfaces::ProxyResolverRequestClientPtr client_ptr; |
| 258 TestRequestClient client(mojo::GetProxy(&client_ptr)); | 258 TestRequestClient client(mojo::MakeRequest(&client_ptr)); |
| 259 | 259 |
| 260 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr)); | 260 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr)); |
| 261 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); | 261 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); |
| 262 MockProxyResolverV8Tracing::Job* job = | 262 MockProxyResolverV8Tracing::Job* job = |
| 263 mock_proxy_resolver_->pending_jobs()[0].get(); | 263 mock_proxy_resolver_->pending_jobs()[0].get(); |
| 264 EXPECT_EQ(GURL(GURL("http://example.com")), job->url); | 264 EXPECT_EQ(GURL(GURL("http://example.com")), job->url); |
| 265 job->Complete(ERR_FAILED); | 265 job->Complete(ERR_FAILED); |
| 266 client.WaitForResult(); | 266 client.WaitForResult(); |
| 267 | 267 |
| 268 EXPECT_THAT(client.error(), IsError(ERR_FAILED)); | 268 EXPECT_THAT(client.error(), IsError(ERR_FAILED)); |
| 269 std::vector<ProxyServer> proxy_servers = | 269 std::vector<ProxyServer> proxy_servers = |
| 270 client.results().proxy_list().GetAll(); | 270 client.results().proxy_list().GetAll(); |
| 271 EXPECT_TRUE(proxy_servers.empty()); | 271 EXPECT_TRUE(proxy_servers.empty()); |
| 272 } | 272 } |
| 273 | 273 |
| 274 TEST_F(MojoProxyResolverImplTest, GetProxyForUrlMultiple) { | 274 TEST_F(MojoProxyResolverImplTest, GetProxyForUrlMultiple) { |
| 275 interfaces::ProxyResolverRequestClientPtr client_ptr1; | 275 interfaces::ProxyResolverRequestClientPtr client_ptr1; |
| 276 TestRequestClient client1(mojo::GetProxy(&client_ptr1)); | 276 TestRequestClient client1(mojo::MakeRequest(&client_ptr1)); |
| 277 interfaces::ProxyResolverRequestClientPtr client_ptr2; | 277 interfaces::ProxyResolverRequestClientPtr client_ptr2; |
| 278 TestRequestClient client2(mojo::GetProxy(&client_ptr2)); | 278 TestRequestClient client2(mojo::MakeRequest(&client_ptr2)); |
| 279 | 279 |
| 280 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr1)); | 280 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr1)); |
| 281 resolver_->GetProxyForUrl(GURL("https://example.com"), | 281 resolver_->GetProxyForUrl(GURL("https://example.com"), |
| 282 std::move(client_ptr2)); | 282 std::move(client_ptr2)); |
| 283 ASSERT_EQ(2u, mock_proxy_resolver_->pending_jobs().size()); | 283 ASSERT_EQ(2u, mock_proxy_resolver_->pending_jobs().size()); |
| 284 MockProxyResolverV8Tracing::Job* job1 = | 284 MockProxyResolverV8Tracing::Job* job1 = |
| 285 mock_proxy_resolver_->pending_jobs()[0].get(); | 285 mock_proxy_resolver_->pending_jobs()[0].get(); |
| 286 EXPECT_EQ(GURL(GURL("http://example.com")), job1->url); | 286 EXPECT_EQ(GURL(GURL("http://example.com")), job1->url); |
| 287 MockProxyResolverV8Tracing::Job* job2 = | 287 MockProxyResolverV8Tracing::Job* job2 = |
| 288 mock_proxy_resolver_->pending_jobs()[1].get(); | 288 mock_proxy_resolver_->pending_jobs()[1].get(); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 309 ASSERT_EQ(1u, proxy_servers1.size()); | 309 ASSERT_EQ(1u, proxy_servers1.size()); |
| 310 ProxyServer& server2 = proxy_servers2[0]; | 310 ProxyServer& server2 = proxy_servers2[0]; |
| 311 EXPECT_EQ(ProxyServer::SCHEME_SOCKS5, server2.scheme()); | 311 EXPECT_EQ(ProxyServer::SCHEME_SOCKS5, server2.scheme()); |
| 312 EXPECT_EQ("another-proxy.example.com", server2.host_port_pair().host()); | 312 EXPECT_EQ("another-proxy.example.com", server2.host_port_pair().host()); |
| 313 EXPECT_EQ(6789, server2.host_port_pair().port()); | 313 EXPECT_EQ(6789, server2.host_port_pair().port()); |
| 314 } | 314 } |
| 315 | 315 |
| 316 TEST_F(MojoProxyResolverImplTest, DestroyClient) { | 316 TEST_F(MojoProxyResolverImplTest, DestroyClient) { |
| 317 interfaces::ProxyResolverRequestClientPtr client_ptr; | 317 interfaces::ProxyResolverRequestClientPtr client_ptr; |
| 318 std::unique_ptr<TestRequestClient> client( | 318 std::unique_ptr<TestRequestClient> client( |
| 319 new TestRequestClient(mojo::GetProxy(&client_ptr))); | 319 new TestRequestClient(mojo::MakeRequest(&client_ptr))); |
| 320 | 320 |
| 321 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr)); | 321 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr)); |
| 322 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); | 322 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); |
| 323 const MockProxyResolverV8Tracing::Job* job = | 323 const MockProxyResolverV8Tracing::Job* job = |
| 324 mock_proxy_resolver_->pending_jobs()[0].get(); | 324 mock_proxy_resolver_->pending_jobs()[0].get(); |
| 325 EXPECT_EQ(GURL(GURL("http://example.com")), job->url); | 325 EXPECT_EQ(GURL(GURL("http://example.com")), job->url); |
| 326 job->results->UsePacString("PROXY proxy.example.com:8080"); | 326 job->results->UsePacString("PROXY proxy.example.com:8080"); |
| 327 client.reset(); | 327 client.reset(); |
| 328 mock_proxy_resolver_->WaitForCancel(); | 328 mock_proxy_resolver_->WaitForCancel(); |
| 329 } | 329 } |
| 330 | 330 |
| 331 TEST_F(MojoProxyResolverImplTest, DestroyService) { | 331 TEST_F(MojoProxyResolverImplTest, DestroyService) { |
| 332 interfaces::ProxyResolverRequestClientPtr client_ptr; | 332 interfaces::ProxyResolverRequestClientPtr client_ptr; |
| 333 TestRequestClient client(mojo::GetProxy(&client_ptr)); | 333 TestRequestClient client(mojo::MakeRequest(&client_ptr)); |
| 334 | 334 |
| 335 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr)); | 335 resolver_->GetProxyForUrl(GURL("http://example.com"), std::move(client_ptr)); |
| 336 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); | 336 ASSERT_EQ(1u, mock_proxy_resolver_->pending_jobs().size()); |
| 337 resolver_impl_.reset(); | 337 resolver_impl_.reset(); |
| 338 client.event_waiter().WaitForEvent(TestRequestClient::CONNECTION_ERROR); | 338 client.event_waiter().WaitForEvent(TestRequestClient::CONNECTION_ERROR); |
| 339 } | 339 } |
| 340 | 340 |
| 341 } // namespace net | 341 } // namespace net |
| OLD | NEW |