Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: net/proxy/proxy_resolver_factory_mojo_unittest.cc

Issue 1439053002: Change ProxyResolver::GetProxyForURL() to take a scoped_ptr<Request>* rather than a RequestHandle* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Restore scoped_ptr to mock and nits Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/proxy/proxy_resolver_factory_mojo.cc ('k') | net/proxy/proxy_resolver_mac.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/proxy_resolver_factory_mojo.h" 5 #include "net/proxy/proxy_resolver_factory_mojo.h"
6 6
7 #include <list> 7 #include <list>
8 #include <map> 8 #include <map>
9 #include <queue> 9 #include <queue>
10 #include <string> 10 #include <string>
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 287
288 class Request { 288 class Request {
289 public: 289 public:
290 Request(ProxyResolver* resolver, const GURL& url); 290 Request(ProxyResolver* resolver, const GURL& url);
291 291
292 int Resolve(); 292 int Resolve();
293 void Cancel(); 293 void Cancel();
294 int WaitForResult(); 294 int WaitForResult();
295 295
296 const ProxyInfo& results() const { return results_; } 296 const ProxyInfo& results() const { return results_; }
297 LoadState load_state() { return resolver_->GetLoadState(handle_); } 297 LoadState load_state() { return request_->GetLoadState(); }
298 BoundTestNetLog& net_log() { return net_log_; } 298 BoundTestNetLog& net_log() { return net_log_; }
299 299
300 private: 300 private:
301 ProxyResolver* resolver_; 301 ProxyResolver* resolver_;
302 const GURL url_; 302 const GURL url_;
303 ProxyInfo results_; 303 ProxyInfo results_;
304 ProxyResolver::RequestHandle handle_; 304 scoped_ptr<ProxyResolver::Request> request_;
305 int error_; 305 int error_;
306 TestCompletionCallback callback_; 306 TestCompletionCallback callback_;
307 BoundTestNetLog net_log_; 307 BoundTestNetLog net_log_;
308 }; 308 };
309 309
310 Request::Request(ProxyResolver* resolver, const GURL& url) 310 Request::Request(ProxyResolver* resolver, const GURL& url)
311 : resolver_(resolver), url_(url), error_(0) { 311 : resolver_(resolver), url_(url), error_(0) {
312 } 312 }
313 313
314 int Request::Resolve() { 314 int Request::Resolve() {
315 error_ = resolver_->GetProxyForURL(url_, &results_, callback_.callback(), 315 error_ = resolver_->GetProxyForURL(url_, &results_, callback_.callback(),
316 &handle_, net_log_.bound()); 316 &request_, net_log_.bound());
317 return error_; 317 return error_;
318 } 318 }
319 319
320 void Request::Cancel() { 320 void Request::Cancel() {
321 resolver_->CancelRequest(handle_); 321 request_.reset();
322 } 322 }
323 323
324 int Request::WaitForResult() { 324 int Request::WaitForResult() {
325 error_ = callback_.WaitForResult(); 325 error_ = callback_.WaitForResult();
326 return error_; 326 return error_;
327 } 327 }
328 328
329 class MockMojoProxyResolverFactory : public interfaces::ProxyResolverFactory { 329 class MockMojoProxyResolverFactory : public interfaces::ProxyResolverFactory {
330 public: 330 public:
331 MockMojoProxyResolverFactory( 331 MockMojoProxyResolverFactory(
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request1->WaitForResult()); 834 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request1->WaitForResult());
835 } 835 }
836 836
837 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DeleteInCallback) { 837 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DeleteInCallback) {
838 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 838 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
839 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT"))); 839 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT")));
840 CreateProxyResolver(); 840 CreateProxyResolver();
841 841
842 ProxyInfo results; 842 ProxyInfo results;
843 TestCompletionCallback callback; 843 TestCompletionCallback callback;
844 ProxyResolver::RequestHandle handle; 844 scoped_ptr<ProxyResolver::Request> request;
845 BoundNetLog net_log; 845 BoundNetLog net_log;
846 EXPECT_EQ( 846 EXPECT_EQ(
847 OK, 847 OK,
848 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL( 848 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL(
849 GURL(kExampleUrl), &results, 849 GURL(kExampleUrl), &results,
850 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback, 850 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback,
851 base::Unretained(this), callback.callback()), 851 base::Unretained(this), callback.callback()),
852 &handle, net_log))); 852 &request, net_log)));
853 on_delete_callback_.WaitForResult(); 853 on_delete_callback_.WaitForResult();
854 } 854 }
855 855
856 TEST_F(ProxyResolverFactoryMojoTest, 856 TEST_F(ProxyResolverFactoryMojoTest,
857 GetProxyForURL_DeleteInCallbackFromDisconnect) { 857 GetProxyForURL_DeleteInCallbackFromDisconnect) {
858 mock_proxy_resolver_.AddGetProxyAction( 858 mock_proxy_resolver_.AddGetProxyAction(
859 GetProxyForUrlAction::Disconnect(GURL(kExampleUrl))); 859 GetProxyForUrlAction::Disconnect(GURL(kExampleUrl)));
860 CreateProxyResolver(); 860 CreateProxyResolver();
861 861
862 ProxyInfo results; 862 ProxyInfo results;
863 TestCompletionCallback callback; 863 TestCompletionCallback callback;
864 ProxyResolver::RequestHandle handle; 864 scoped_ptr<ProxyResolver::Request> request;
865 BoundNetLog net_log; 865 BoundNetLog net_log;
866 EXPECT_EQ( 866 EXPECT_EQ(
867 ERR_PAC_SCRIPT_TERMINATED, 867 ERR_PAC_SCRIPT_TERMINATED,
868 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL( 868 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL(
869 GURL(kExampleUrl), &results, 869 GURL(kExampleUrl), &results,
870 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback, 870 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback,
871 base::Unretained(this), callback.callback()), 871 base::Unretained(this), callback.callback()),
872 &handle, net_log))); 872 &request, net_log)));
873 on_delete_callback_.WaitForResult(); 873 on_delete_callback_.WaitForResult();
874 } 874 }
875 875
876 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DnsRequest) { 876 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DnsRequest) {
877 mock_proxy_resolver_.AddGetProxyAction( 877 mock_proxy_resolver_.AddGetProxyAction(
878 GetProxyForUrlAction::MakeDnsRequest(GURL(kExampleUrl))); 878 GetProxyForUrlAction::MakeDnsRequest(GURL(kExampleUrl)));
879 CreateProxyResolver(); 879 CreateProxyResolver();
880 880
881 scoped_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 881 scoped_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
882 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 882 EXPECT_EQ(ERR_IO_PENDING, request->Resolve());
883 EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, request->load_state()); 883 EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, request->load_state());
884 884
885 host_resolver_.waiter().WaitForEvent(MockHostResolver::DNS_REQUEST); 885 host_resolver_.waiter().WaitForEvent(MockHostResolver::DNS_REQUEST);
886 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT, request->load_state()); 886 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT, request->load_state());
887 mock_proxy_resolver_.ClearBlockedClients(); 887 mock_proxy_resolver_.ClearBlockedClients();
888 request->WaitForResult(); 888 request->WaitForResult();
889 } 889 }
890 890
891 TEST_F(ProxyResolverFactoryMojoTest, DeleteResolver) { 891 TEST_F(ProxyResolverFactoryMojoTest, DeleteResolver) {
892 CreateProxyResolver(); 892 CreateProxyResolver();
893 proxy_resolver_mojo_.reset(); 893 proxy_resolver_mojo_.reset();
894 on_delete_callback_.WaitForResult(); 894 on_delete_callback_.WaitForResult();
895 } 895 }
896 } // namespace net 896 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_resolver_factory_mojo.cc ('k') | net/proxy/proxy_resolver_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698