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

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: Created 5 years, 1 month 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
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 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 285
286 class Request { 286 class Request {
287 public: 287 public:
288 Request(ProxyResolver* resolver, const GURL& url); 288 Request(ProxyResolver* resolver, const GURL& url);
289 289
290 int Resolve(); 290 int Resolve();
291 void Cancel(); 291 void Cancel();
292 int WaitForResult(); 292 int WaitForResult();
293 293
294 const ProxyInfo& results() const { return results_; } 294 const ProxyInfo& results() const { return results_; }
295 LoadState load_state() { return resolver_->GetLoadState(handle_); } 295 LoadState load_state() { return handle_->GetLoadState(); }
296 BoundTestNetLog& net_log() { return net_log_; } 296 BoundTestNetLog& net_log() { return net_log_; }
297 297
298 private: 298 private:
299 ProxyResolver* resolver_; 299 ProxyResolver* resolver_;
300 const GURL url_; 300 const GURL url_;
301 ProxyInfo results_; 301 ProxyInfo results_;
302 ProxyResolver::RequestHandle handle_; 302 scoped_ptr<ProxyResolver::Request> handle_;
303 int error_; 303 int error_;
304 TestCompletionCallback callback_; 304 TestCompletionCallback callback_;
305 BoundTestNetLog net_log_; 305 BoundTestNetLog net_log_;
306 }; 306 };
307 307
308 Request::Request(ProxyResolver* resolver, const GURL& url) 308 Request::Request(ProxyResolver* resolver, const GURL& url)
309 : resolver_(resolver), url_(url), error_(0) { 309 : resolver_(resolver), url_(url), error_(0) {
310 } 310 }
311 311
312 int Request::Resolve() { 312 int Request::Resolve() {
313 error_ = resolver_->GetProxyForURL(url_, &results_, callback_.callback(), 313 error_ = resolver_->GetProxyForURL(url_, &results_, callback_.callback(),
314 &handle_, net_log_.bound()); 314 &handle_, net_log_.bound());
315 return error_; 315 return error_;
316 } 316 }
317 317
318 void Request::Cancel() { 318 void Request::Cancel() {
319 resolver_->CancelRequest(handle_); 319 handle_.reset();
320 } 320 }
321 321
322 int Request::WaitForResult() { 322 int Request::WaitForResult() {
323 error_ = callback_.WaitForResult(); 323 error_ = callback_.WaitForResult();
324 return error_; 324 return error_;
325 } 325 }
326 326
327 class MockMojoProxyResolverFactory : public interfaces::ProxyResolverFactory { 327 class MockMojoProxyResolverFactory : public interfaces::ProxyResolverFactory {
328 public: 328 public:
329 MockMojoProxyResolverFactory( 329 MockMojoProxyResolverFactory(
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request1->WaitForResult()); 831 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request1->WaitForResult());
832 } 832 }
833 833
834 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DeleteInCallback) { 834 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DeleteInCallback) {
835 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 835 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
836 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT"))); 836 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT")));
837 CreateProxyResolver(); 837 CreateProxyResolver();
838 838
839 ProxyInfo results; 839 ProxyInfo results;
840 TestCompletionCallback callback; 840 TestCompletionCallback callback;
841 ProxyResolver::RequestHandle handle; 841 scoped_ptr<ProxyResolver::Request> request;
842 BoundNetLog net_log; 842 BoundNetLog net_log;
843 EXPECT_EQ( 843 EXPECT_EQ(
844 OK, 844 OK,
845 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL( 845 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL(
846 GURL(kExampleUrl), &results, 846 GURL(kExampleUrl), &results,
847 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback, 847 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback,
848 base::Unretained(this), callback.callback()), 848 base::Unretained(this), callback.callback()),
849 &handle, net_log))); 849 &request, net_log)));
850 on_delete_callback_.WaitForResult(); 850 on_delete_callback_.WaitForResult();
851 } 851 }
852 852
853 TEST_F(ProxyResolverFactoryMojoTest, 853 TEST_F(ProxyResolverFactoryMojoTest,
854 GetProxyForURL_DeleteInCallbackFromDisconnect) { 854 GetProxyForURL_DeleteInCallbackFromDisconnect) {
855 mock_proxy_resolver_.AddGetProxyAction( 855 mock_proxy_resolver_.AddGetProxyAction(
856 GetProxyForUrlAction::Disconnect(GURL(kExampleUrl))); 856 GetProxyForUrlAction::Disconnect(GURL(kExampleUrl)));
857 CreateProxyResolver(); 857 CreateProxyResolver();
858 858
859 ProxyInfo results; 859 ProxyInfo results;
860 TestCompletionCallback callback; 860 TestCompletionCallback callback;
861 ProxyResolver::RequestHandle handle; 861 scoped_ptr<ProxyResolver::Request> request;
862 BoundNetLog net_log; 862 BoundNetLog net_log;
863 EXPECT_EQ( 863 EXPECT_EQ(
864 ERR_PAC_SCRIPT_TERMINATED, 864 ERR_PAC_SCRIPT_TERMINATED,
865 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL( 865 callback.GetResult(proxy_resolver_mojo_->GetProxyForURL(
866 GURL(kExampleUrl), &results, 866 GURL(kExampleUrl), &results,
867 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback, 867 base::Bind(&ProxyResolverFactoryMojoTest::DeleteProxyResolverCallback,
868 base::Unretained(this), callback.callback()), 868 base::Unretained(this), callback.callback()),
869 &handle, net_log))); 869 &request, net_log)));
870 on_delete_callback_.WaitForResult(); 870 on_delete_callback_.WaitForResult();
871 } 871 }
872 872
873 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DnsRequest) { 873 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DnsRequest) {
874 mock_proxy_resolver_.AddGetProxyAction( 874 mock_proxy_resolver_.AddGetProxyAction(
875 GetProxyForUrlAction::MakeDnsRequest(GURL(kExampleUrl))); 875 GetProxyForUrlAction::MakeDnsRequest(GURL(kExampleUrl)));
876 CreateProxyResolver(); 876 CreateProxyResolver();
877 877
878 scoped_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 878 scoped_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
879 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 879 EXPECT_EQ(ERR_IO_PENDING, request->Resolve());
880 EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, request->load_state()); 880 EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, request->load_state());
881 881
882 host_resolver_.waiter().WaitForEvent(MockHostResolver::DNS_REQUEST); 882 host_resolver_.waiter().WaitForEvent(MockHostResolver::DNS_REQUEST);
883 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT, request->load_state()); 883 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT, request->load_state());
884 mock_proxy_resolver_.ClearBlockedClients(); 884 mock_proxy_resolver_.ClearBlockedClients();
885 request->WaitForResult(); 885 request->WaitForResult();
886 } 886 }
887 887
888 TEST_F(ProxyResolverFactoryMojoTest, DeleteResolver) { 888 TEST_F(ProxyResolverFactoryMojoTest, DeleteResolver) {
889 CreateProxyResolver(); 889 CreateProxyResolver();
890 proxy_resolver_mojo_.reset(); 890 proxy_resolver_mojo_.reset();
891 on_delete_callback_.WaitForResult(); 891 on_delete_callback_.WaitForResult();
892 } 892 }
893 } // namespace net 893 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698