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

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

Issue 2109503009: Refactor net tests to use GMock matchers for checking net::Error results (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert changes to contents.txt files Created 4 years, 5 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_list_unittest.cc ('k') | net/proxy/proxy_resolver_perftest.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 <memory> 9 #include <memory>
10 #include <queue> 10 #include <queue>
(...skipping 13 matching lines...) Expand all
24 #include "net/base/test_completion_callback.h" 24 #include "net/base/test_completion_callback.h"
25 #include "net/dns/host_resolver.h" 25 #include "net/dns/host_resolver.h"
26 #include "net/log/test_net_log.h" 26 #include "net/log/test_net_log.h"
27 #include "net/proxy/mojo_proxy_resolver_factory.h" 27 #include "net/proxy/mojo_proxy_resolver_factory.h"
28 #include "net/proxy/mojo_proxy_type_converters.h" 28 #include "net/proxy/mojo_proxy_type_converters.h"
29 #include "net/proxy/proxy_info.h" 29 #include "net/proxy/proxy_info.h"
30 #include "net/proxy/proxy_resolver.h" 30 #include "net/proxy/proxy_resolver.h"
31 #include "net/proxy/proxy_resolver_error_observer.h" 31 #include "net/proxy/proxy_resolver_error_observer.h"
32 #include "net/proxy/proxy_resolver_script_data.h" 32 #include "net/proxy/proxy_resolver_script_data.h"
33 #include "net/test/event_waiter.h" 33 #include "net/test/event_waiter.h"
34 #include "net/test/gtest_util.h"
35 #include "testing/gmock/include/gmock/gmock.h"
34 #include "testing/gtest/include/gtest/gtest.h" 36 #include "testing/gtest/include/gtest/gtest.h"
35 #include "url/gurl.h" 37 #include "url/gurl.h"
36 38
39 using net::test::IsError;
40 using net::test::IsOk;
41
37 namespace net { 42 namespace net {
38 43
39 namespace { 44 namespace {
40 45
41 const char kScriptData[] = "FooBarBaz"; 46 const char kScriptData[] = "FooBarBaz";
42 const char kExampleUrl[] = "http://www.example.com"; 47 const char kExampleUrl[] = "http://www.example.com";
43 48
44 struct CreateProxyResolverAction { 49 struct CreateProxyResolverAction {
45 enum Action { 50 enum Action {
46 COMPLETE, 51 COMPLETE,
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 } 733 }
729 734
730 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL) { 735 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL) {
731 const GURL url(kExampleUrl); 736 const GURL url(kExampleUrl);
732 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 737 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
733 url, ProxyServersFromPacString("DIRECT"))); 738 url, ProxyServersFromPacString("DIRECT")));
734 CreateProxyResolver(); 739 CreateProxyResolver();
735 net_log_.Clear(); 740 net_log_.Clear();
736 741
737 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 742 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
738 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 743 EXPECT_THAT(request->Resolve(), IsError(ERR_IO_PENDING));
739 EXPECT_EQ(OK, request->WaitForResult()); 744 EXPECT_THAT(request->WaitForResult(), IsOk());
740 745
741 EXPECT_EQ("DIRECT", request->results().ToPacString()); 746 EXPECT_EQ("DIRECT", request->results().ToPacString());
742 747
743 TestNetLogEntry::List entries; 748 TestNetLogEntry::List entries;
744 net_log_.GetEntries(&entries); 749 net_log_.GetEntries(&entries);
745 CheckCapturedNetLogEntries(url.spec(), entries); 750 CheckCapturedNetLogEntries(url.spec(), entries);
746 entries.clear(); 751 entries.clear();
747 request->net_log().GetEntries(&entries); 752 request->net_log().GetEntries(&entries);
748 CheckCapturedNetLogEntries(url.spec(), entries); 753 CheckCapturedNetLogEntries(url.spec(), entries);
749 } 754 }
750 755
751 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_MultipleResults) { 756 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_MultipleResults) {
752 static const char kPacString[] = 757 static const char kPacString[] =
753 "PROXY foo1:80;DIRECT;SOCKS foo2:1234;" 758 "PROXY foo1:80;DIRECT;SOCKS foo2:1234;"
754 "SOCKS5 foo3:1080;HTTPS foo4:443;QUIC foo6:8888"; 759 "SOCKS5 foo3:1080;HTTPS foo4:443;QUIC foo6:8888";
755 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 760 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
756 GURL(kExampleUrl), ProxyServersFromPacString(kPacString))); 761 GURL(kExampleUrl), ProxyServersFromPacString(kPacString)));
757 CreateProxyResolver(); 762 CreateProxyResolver();
758 763
759 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 764 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
760 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 765 EXPECT_THAT(request->Resolve(), IsError(ERR_IO_PENDING));
761 EXPECT_EQ(OK, request->WaitForResult()); 766 EXPECT_THAT(request->WaitForResult(), IsOk());
762 767
763 EXPECT_EQ(kPacString, request->results().ToPacString()); 768 EXPECT_EQ(kPacString, request->results().ToPacString());
764 } 769 }
765 770
766 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_Error) { 771 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_Error) {
767 mock_proxy_resolver_.AddGetProxyAction( 772 mock_proxy_resolver_.AddGetProxyAction(
768 GetProxyForUrlAction::ReturnError(GURL(kExampleUrl), ERR_UNEXPECTED)); 773 GetProxyForUrlAction::ReturnError(GURL(kExampleUrl), ERR_UNEXPECTED));
769 CreateProxyResolver(); 774 CreateProxyResolver();
770 775
771 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 776 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
772 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 777 EXPECT_THAT(request->Resolve(), IsError(ERR_IO_PENDING));
773 EXPECT_EQ(ERR_UNEXPECTED, request->WaitForResult()); 778 EXPECT_THAT(request->WaitForResult(), IsError(ERR_UNEXPECTED));
774 779
775 EXPECT_TRUE(request->results().is_empty()); 780 EXPECT_TRUE(request->results().is_empty());
776 } 781 }
777 782
778 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_Cancel) { 783 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_Cancel) {
779 mock_proxy_resolver_.AddGetProxyAction( 784 mock_proxy_resolver_.AddGetProxyAction(
780 GetProxyForUrlAction::WaitForClientDisconnect(GURL(kExampleUrl))); 785 GetProxyForUrlAction::WaitForClientDisconnect(GURL(kExampleUrl)));
781 CreateProxyResolver(); 786 CreateProxyResolver();
782 787
783 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 788 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
784 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 789 EXPECT_THAT(request->Resolve(), IsError(ERR_IO_PENDING));
785 request->Cancel(); 790 request->Cancel();
786 791
787 // The Mojo request is still made. 792 // The Mojo request is still made.
788 mock_proxy_resolver_.WaitForNextRequest(); 793 mock_proxy_resolver_.WaitForNextRequest();
789 } 794 }
790 795
791 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_MultipleRequests) { 796 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_MultipleRequests) {
792 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 797 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
793 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT"))); 798 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT")));
794 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 799 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
795 GURL("https://www.chromium.org"), 800 GURL("https://www.chromium.org"),
796 ProxyServersFromPacString("HTTPS foo:443"))); 801 ProxyServersFromPacString("HTTPS foo:443")));
797 CreateProxyResolver(); 802 CreateProxyResolver();
798 803
799 std::unique_ptr<Request> request1(MakeRequest(GURL(kExampleUrl))); 804 std::unique_ptr<Request> request1(MakeRequest(GURL(kExampleUrl)));
800 EXPECT_EQ(ERR_IO_PENDING, request1->Resolve()); 805 EXPECT_THAT(request1->Resolve(), IsError(ERR_IO_PENDING));
801 std::unique_ptr<Request> request2( 806 std::unique_ptr<Request> request2(
802 MakeRequest(GURL("https://www.chromium.org"))); 807 MakeRequest(GURL("https://www.chromium.org")));
803 EXPECT_EQ(ERR_IO_PENDING, request2->Resolve()); 808 EXPECT_THAT(request2->Resolve(), IsError(ERR_IO_PENDING));
804 809
805 EXPECT_EQ(OK, request1->WaitForResult()); 810 EXPECT_THAT(request1->WaitForResult(), IsOk());
806 EXPECT_EQ(OK, request2->WaitForResult()); 811 EXPECT_THAT(request2->WaitForResult(), IsOk());
807 812
808 EXPECT_EQ("DIRECT", request1->results().ToPacString()); 813 EXPECT_EQ("DIRECT", request1->results().ToPacString());
809 EXPECT_EQ("HTTPS foo:443", request2->results().ToPacString()); 814 EXPECT_EQ("HTTPS foo:443", request2->results().ToPacString());
810 } 815 }
811 816
812 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_Disconnect) { 817 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_Disconnect) {
813 mock_proxy_resolver_.AddGetProxyAction( 818 mock_proxy_resolver_.AddGetProxyAction(
814 GetProxyForUrlAction::Disconnect(GURL(kExampleUrl))); 819 GetProxyForUrlAction::Disconnect(GURL(kExampleUrl)));
815 CreateProxyResolver(); 820 CreateProxyResolver();
816 { 821 {
817 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 822 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
818 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 823 EXPECT_THAT(request->Resolve(), IsError(ERR_IO_PENDING));
819 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request->WaitForResult()); 824 EXPECT_THAT(request->WaitForResult(), IsError(ERR_PAC_SCRIPT_TERMINATED));
820 EXPECT_TRUE(request->results().is_empty()); 825 EXPECT_TRUE(request->results().is_empty());
821 } 826 }
822 827
823 { 828 {
824 // Calling GetProxyForURL after a disconnect should fail. 829 // Calling GetProxyForURL after a disconnect should fail.
825 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 830 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
826 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request->Resolve()); 831 EXPECT_THAT(request->Resolve(), IsError(ERR_PAC_SCRIPT_TERMINATED));
827 } 832 }
828 } 833 }
829 834
830 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_ClientClosed) { 835 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_ClientClosed) {
831 mock_proxy_resolver_.AddGetProxyAction( 836 mock_proxy_resolver_.AddGetProxyAction(
832 GetProxyForUrlAction::DropRequest(GURL(kExampleUrl))); 837 GetProxyForUrlAction::DropRequest(GURL(kExampleUrl)));
833 CreateProxyResolver(); 838 CreateProxyResolver();
834 839
835 std::unique_ptr<Request> request1(MakeRequest(GURL(kExampleUrl))); 840 std::unique_ptr<Request> request1(MakeRequest(GURL(kExampleUrl)));
836 EXPECT_EQ(ERR_IO_PENDING, request1->Resolve()); 841 EXPECT_THAT(request1->Resolve(), IsError(ERR_IO_PENDING));
837 842
838 EXPECT_EQ(ERR_PAC_SCRIPT_TERMINATED, request1->WaitForResult()); 843 EXPECT_THAT(request1->WaitForResult(), IsError(ERR_PAC_SCRIPT_TERMINATED));
839 } 844 }
840 845
841 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DeleteInCallback) { 846 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DeleteInCallback) {
842 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers( 847 mock_proxy_resolver_.AddGetProxyAction(GetProxyForUrlAction::ReturnServers(
843 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT"))); 848 GURL(kExampleUrl), ProxyServersFromPacString("DIRECT")));
844 CreateProxyResolver(); 849 CreateProxyResolver();
845 850
846 ProxyInfo results; 851 ProxyInfo results;
847 TestCompletionCallback callback; 852 TestCompletionCallback callback;
848 ProxyResolver::RequestHandle handle; 853 ProxyResolver::RequestHandle handle;
(...skipping 27 matching lines...) Expand all
876 &handle, net_log))); 881 &handle, net_log)));
877 on_delete_callback_.WaitForResult(); 882 on_delete_callback_.WaitForResult();
878 } 883 }
879 884
880 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DnsRequest) { 885 TEST_F(ProxyResolverFactoryMojoTest, GetProxyForURL_DnsRequest) {
881 mock_proxy_resolver_.AddGetProxyAction( 886 mock_proxy_resolver_.AddGetProxyAction(
882 GetProxyForUrlAction::MakeDnsRequest(GURL(kExampleUrl))); 887 GetProxyForUrlAction::MakeDnsRequest(GURL(kExampleUrl)));
883 CreateProxyResolver(); 888 CreateProxyResolver();
884 889
885 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl))); 890 std::unique_ptr<Request> request(MakeRequest(GURL(kExampleUrl)));
886 EXPECT_EQ(ERR_IO_PENDING, request->Resolve()); 891 EXPECT_THAT(request->Resolve(), IsError(ERR_IO_PENDING));
887 EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, request->load_state()); 892 EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, request->load_state());
888 893
889 host_resolver_.waiter().WaitForEvent(MockHostResolver::DNS_REQUEST); 894 host_resolver_.waiter().WaitForEvent(MockHostResolver::DNS_REQUEST);
890 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT, request->load_state()); 895 EXPECT_EQ(LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT, request->load_state());
891 mock_proxy_resolver_.ClearBlockedClients(); 896 mock_proxy_resolver_.ClearBlockedClients();
892 request->WaitForResult(); 897 request->WaitForResult();
893 } 898 }
894 899
895 TEST_F(ProxyResolverFactoryMojoTest, DeleteResolver) { 900 TEST_F(ProxyResolverFactoryMojoTest, DeleteResolver) {
896 CreateProxyResolver(); 901 CreateProxyResolver();
897 proxy_resolver_mojo_.reset(); 902 proxy_resolver_mojo_.reset();
898 on_delete_callback_.WaitForResult(); 903 on_delete_callback_.WaitForResult();
899 } 904 }
900 } // namespace net 905 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_list_unittest.cc ('k') | net/proxy/proxy_resolver_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698