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 |