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

Side by Side Diff: net/http/http_stream_factory_impl_unittest.cc

Issue 2907463002: Split HttpNetworkSession::Params into two structs. (Closed)
Patch Set: Fix Created 3 years, 6 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/http/http_stream_factory_impl.h" 5 #include "net/http/http_stream_factory_impl.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 ERR_MSG_TOO_BIG, 706 ERR_MSG_TOO_BIG,
707 }; 707 };
708 708
709 // Tests that a bad QUIC proxy is added to the list of bad proxies. 709 // Tests that a bad QUIC proxy is added to the list of bad proxies.
710 TEST_F(HttpStreamFactoryTest, QuicProxyMarkedAsBad) { 710 TEST_F(HttpStreamFactoryTest, QuicProxyMarkedAsBad) {
711 for (size_t i = 0; i < arraysize(quic_proxy_test_mock_errors); ++i) { 711 for (size_t i = 0; i < arraysize(quic_proxy_test_mock_errors); ++i) {
712 std::unique_ptr<ProxyService> proxy_service; 712 std::unique_ptr<ProxyService> proxy_service;
713 proxy_service = 713 proxy_service =
714 ProxyService::CreateFixedFromPacResult("QUIC bad:99; DIRECT"); 714 ProxyService::CreateFixedFromPacResult("QUIC bad:99; DIRECT");
715 715
716 HttpNetworkSession::Params params; 716 HttpNetworkSession::Params session_params;
717 params.enable_quic = true; 717 session_params.enable_quic = true;
718
719 HttpNetworkSession::Context session_context;
718 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service( 720 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service(
719 new SSLConfigServiceDefaults); 721 new SSLConfigServiceDefaults);
720 HttpServerPropertiesImpl http_server_properties; 722 HttpServerPropertiesImpl http_server_properties;
721 MockClientSocketFactory socket_factory; 723 MockClientSocketFactory socket_factory;
722 params.client_socket_factory = &socket_factory; 724 session_context.client_socket_factory = &socket_factory;
723 MockHostResolver host_resolver; 725 MockHostResolver host_resolver;
724 params.host_resolver = &host_resolver; 726 session_context.host_resolver = &host_resolver;
725 MockCertVerifier cert_verifier; 727 MockCertVerifier cert_verifier;
726 params.cert_verifier = &cert_verifier; 728 session_context.cert_verifier = &cert_verifier;
727 TransportSecurityState transport_security_state; 729 TransportSecurityState transport_security_state;
728 params.transport_security_state = &transport_security_state; 730 session_context.transport_security_state = &transport_security_state;
729 MultiLogCTVerifier ct_verifier; 731 MultiLogCTVerifier ct_verifier;
730 params.cert_transparency_verifier = &ct_verifier; 732 session_context.cert_transparency_verifier = &ct_verifier;
731 CTPolicyEnforcer ct_policy_enforcer; 733 CTPolicyEnforcer ct_policy_enforcer;
732 params.ct_policy_enforcer = &ct_policy_enforcer; 734 session_context.ct_policy_enforcer = &ct_policy_enforcer;
733 params.proxy_service = proxy_service.get(); 735 session_context.proxy_service = proxy_service.get();
734 params.ssl_config_service = ssl_config_service.get(); 736 session_context.ssl_config_service = ssl_config_service.get();
735 params.http_server_properties = &http_server_properties; 737 session_context.http_server_properties = &http_server_properties;
736 738
737 auto session = base::MakeUnique<HttpNetworkSession>(params); 739 auto session =
740 base::MakeUnique<HttpNetworkSession>(session_params, session_context);
738 session->quic_stream_factory()->set_require_confirmation(false); 741 session->quic_stream_factory()->set_require_confirmation(false);
739 742
740 StaticSocketDataProvider socket_data1; 743 StaticSocketDataProvider socket_data1;
741 socket_data1.set_connect_data( 744 socket_data1.set_connect_data(
742 MockConnect(ASYNC, quic_proxy_test_mock_errors[i])); 745 MockConnect(ASYNC, quic_proxy_test_mock_errors[i]));
743 socket_factory.AddSocketDataProvider(&socket_data1); 746 socket_factory.AddSocketDataProvider(&socket_data1);
744 747
745 // Second connection attempt succeeds. 748 // Second connection attempt succeeds.
746 StaticSocketDataProvider socket_data2; 749 StaticSocketDataProvider socket_data2;
747 socket_data2.set_connect_data(MockConnect(ASYNC, OK)); 750 socket_data2.set_connect_data(MockConnect(ASYNC, OK));
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 834
832 private: 835 private:
833 std::vector<std::unique_ptr<QuicEncryptedPacket>> packets_; 836 std::vector<std::unique_ptr<QuicEncryptedPacket>> packets_;
834 std::vector<MockWrite> writes_; 837 std::vector<MockWrite> writes_;
835 std::vector<MockRead> reads_; 838 std::vector<MockRead> reads_;
836 size_t packet_number_; 839 size_t packet_number_;
837 std::unique_ptr<SequencedSocketData> socket_data_; 840 std::unique_ptr<SequencedSocketData> socket_data_;
838 }; 841 };
839 842
840 void SetupForQuicAlternativeProxyTest( 843 void SetupForQuicAlternativeProxyTest(
841 HttpNetworkSession::Params* params, 844 HttpNetworkSession::Params* session_params,
845 HttpNetworkSession::Context* session_context,
842 MockClientSocketFactory* socket_factory, 846 MockClientSocketFactory* socket_factory,
843 ProxyService* proxy_service, 847 ProxyService* proxy_service,
844 TestProxyDelegate* test_proxy_delegate, 848 TestProxyDelegate* test_proxy_delegate,
845 HttpServerPropertiesImpl* http_server_properties, 849 HttpServerPropertiesImpl* http_server_properties,
846 MockCertVerifier* cert_verifier, 850 MockCertVerifier* cert_verifier,
847 CTPolicyEnforcer* ct_policy_enforcer, 851 CTPolicyEnforcer* ct_policy_enforcer,
848 MultiLogCTVerifier* ct_verifier, 852 MultiLogCTVerifier* ct_verifier,
849 SSLConfigServiceDefaults* ssl_config_service, 853 SSLConfigServiceDefaults* ssl_config_service,
850 MockHostResolver* host_resolver, 854 MockHostResolver* host_resolver,
851 TransportSecurityState* transport_security_state, 855 TransportSecurityState* transport_security_state,
852 bool set_alternative_proxy_server) { 856 bool set_alternative_proxy_server) {
853 params->enable_quic = true; 857 session_params->enable_quic = true;
854 params->client_socket_factory = socket_factory; 858
855 params->host_resolver = host_resolver; 859 session_context->client_socket_factory = socket_factory;
856 params->transport_security_state = transport_security_state; 860 session_context->host_resolver = host_resolver;
857 params->proxy_service = proxy_service; 861 session_context->transport_security_state = transport_security_state;
858 params->ssl_config_service = ssl_config_service; 862 session_context->proxy_service = proxy_service;
859 params->http_server_properties = http_server_properties; 863 session_context->ssl_config_service = ssl_config_service;
860 params->cert_verifier = cert_verifier; 864 session_context->http_server_properties = http_server_properties;
861 params->ct_policy_enforcer = ct_policy_enforcer; 865 session_context->cert_verifier = cert_verifier;
862 params->cert_transparency_verifier = ct_verifier; 866 session_context->ct_policy_enforcer = ct_policy_enforcer;
867 session_context->cert_transparency_verifier = ct_verifier;
863 868
864 if (set_alternative_proxy_server) { 869 if (set_alternative_proxy_server) {
865 test_proxy_delegate->set_alternative_proxy_server( 870 test_proxy_delegate->set_alternative_proxy_server(
866 ProxyServer::FromPacString("QUIC badproxy:99")); 871 ProxyServer::FromPacString("QUIC badproxy:99"));
867 } 872 }
868 params->proxy_delegate = test_proxy_delegate; 873 session_context->proxy_delegate = test_proxy_delegate;
869 } 874 }
870 875
871 } // namespace 876 } // namespace
872 877
873 // Tests that a HTTPS proxy that supports QUIC alternative proxy server is 878 // Tests that a HTTPS proxy that supports QUIC alternative proxy server is
874 // marked as bad if connecting to both the default proxy and the alternative 879 // marked as bad if connecting to both the default proxy and the alternative
875 // proxy is unsuccessful. 880 // proxy is unsuccessful.
876 TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyMarkedAsBad) { 881 TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyMarkedAsBad) {
877 const bool set_alternative_proxy_server_values[] = { 882 const bool set_alternative_proxy_server_values[] = {
878 false, true, 883 false, true,
879 }; 884 };
880 885
881 for (auto mock_error : quic_proxy_test_mock_errors) { 886 for (auto mock_error : quic_proxy_test_mock_errors) {
882 for (auto set_alternative_proxy_server : 887 for (auto set_alternative_proxy_server :
883 set_alternative_proxy_server_values) { 888 set_alternative_proxy_server_values) {
884 HttpNetworkSession::Params params; 889 HttpNetworkSession::Params session_params;
890 HttpNetworkSession::Context session_context;
885 MockClientSocketFactory socket_factory; 891 MockClientSocketFactory socket_factory;
886 std::unique_ptr<ProxyService> proxy_service = 892 std::unique_ptr<ProxyService> proxy_service =
887 ProxyService::CreateFixedFromPacResult( 893 ProxyService::CreateFixedFromPacResult(
888 "HTTPS badproxy:99; HTTPS badfallbackproxy:98; DIRECT"); 894 "HTTPS badproxy:99; HTTPS badfallbackproxy:98; DIRECT");
889 TestProxyDelegate test_proxy_delegate; 895 TestProxyDelegate test_proxy_delegate;
890 HttpServerPropertiesImpl http_server_properties; 896 HttpServerPropertiesImpl http_server_properties;
891 MockCertVerifier cert_verifier; 897 MockCertVerifier cert_verifier;
892 CTPolicyEnforcer ct_policy_enforcer; 898 CTPolicyEnforcer ct_policy_enforcer;
893 MultiLogCTVerifier ct_verifier; 899 MultiLogCTVerifier ct_verifier;
894 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service( 900 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service(
895 new SSLConfigServiceDefaults); 901 new SSLConfigServiceDefaults);
896 MockHostResolver host_resolver; 902 MockHostResolver host_resolver;
897 TransportSecurityState transport_security_state; 903 TransportSecurityState transport_security_state;
898 SetupForQuicAlternativeProxyTest( 904 SetupForQuicAlternativeProxyTest(
899 &params, &socket_factory, proxy_service.get(), &test_proxy_delegate, 905 &session_params, &session_context, &socket_factory,
900 &http_server_properties, &cert_verifier, &ct_policy_enforcer, 906 proxy_service.get(), &test_proxy_delegate, &http_server_properties,
901 &ct_verifier, ssl_config_service.get(), &host_resolver, 907 &cert_verifier, &ct_policy_enforcer, &ct_verifier,
902 &transport_security_state, set_alternative_proxy_server); 908 ssl_config_service.get(), &host_resolver, &transport_security_state,
909 set_alternative_proxy_server);
903 910
904 auto session = base::MakeUnique<HttpNetworkSession>(params); 911 auto session =
912 base::MakeUnique<HttpNetworkSession>(session_params, session_context);
905 913
906 // Before starting the test, verify that there are no proxies marked as 914 // Before starting the test, verify that there are no proxies marked as
907 // bad. 915 // bad.
908 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty()) 916 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty())
909 << mock_error; 917 << mock_error;
910 918
911 StaticSocketDataProvider socket_data_proxy_main_job; 919 StaticSocketDataProvider socket_data_proxy_main_job;
912 socket_data_proxy_main_job.set_connect_data( 920 socket_data_proxy_main_job.set_connect_data(
913 MockConnect(ASYNC, mock_error)); 921 MockConnect(ASYNC, mock_error));
914 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job); 922 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 } 1000 }
993 } 1001 }
994 } 1002 }
995 } 1003 }
996 } 1004 }
997 1005
998 // Tests that a HTTPS proxy that supports QUIC alternative proxy server is 1006 // Tests that a HTTPS proxy that supports QUIC alternative proxy server is
999 // not marked as bad if only the alternative proxy server job fails. 1007 // not marked as bad if only the alternative proxy server job fails.
1000 TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyNotMarkedAsBad) { 1008 TEST_F(HttpStreamFactoryTest, WithQUICAlternativeProxyNotMarkedAsBad) {
1001 for (auto mock_error : quic_proxy_test_mock_errors) { 1009 for (auto mock_error : quic_proxy_test_mock_errors) {
1002 HttpNetworkSession::Params params; 1010 HttpNetworkSession::Params session_params;
1011 HttpNetworkSession::Context session_context;
1003 MockClientSocketFactory socket_factory; 1012 MockClientSocketFactory socket_factory;
1004 std::unique_ptr<ProxyService> proxy_service = 1013 std::unique_ptr<ProxyService> proxy_service =
1005 ProxyService::CreateFixedFromPacResult("HTTPS badproxy:99; DIRECT"); 1014 ProxyService::CreateFixedFromPacResult("HTTPS badproxy:99; DIRECT");
1006 TestProxyDelegate test_proxy_delegate; 1015 TestProxyDelegate test_proxy_delegate;
1007 HttpServerPropertiesImpl http_server_properties; 1016 HttpServerPropertiesImpl http_server_properties;
1008 MockCertVerifier cert_verifier; 1017 MockCertVerifier cert_verifier;
1009 CTPolicyEnforcer ct_policy_enforcer; 1018 CTPolicyEnforcer ct_policy_enforcer;
1010 MultiLogCTVerifier ct_verifier; 1019 MultiLogCTVerifier ct_verifier;
1011 1020
1012 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service( 1021 scoped_refptr<SSLConfigServiceDefaults> ssl_config_service(
1013 new SSLConfigServiceDefaults); 1022 new SSLConfigServiceDefaults);
1014 MockHostResolver host_resolver; 1023 MockHostResolver host_resolver;
1015 TransportSecurityState transport_security_state; 1024 TransportSecurityState transport_security_state;
1016 1025
1017 SetupForQuicAlternativeProxyTest( 1026 SetupForQuicAlternativeProxyTest(
1018 &params, &socket_factory, proxy_service.get(), &test_proxy_delegate, 1027 &session_params, &session_context, &socket_factory, proxy_service.get(),
1019 &http_server_properties, &cert_verifier, &ct_policy_enforcer, 1028 &test_proxy_delegate, &http_server_properties, &cert_verifier,
1020 &ct_verifier, ssl_config_service.get(), &host_resolver, 1029 &ct_policy_enforcer, &ct_verifier, ssl_config_service.get(),
1021 &transport_security_state, true); 1030 &host_resolver, &transport_security_state, true);
1022 1031
1023 HostPortPair host_port_pair("badproxy", 99); 1032 HostPortPair host_port_pair("badproxy", 99);
1024 auto session = base::MakeUnique<HttpNetworkSession>(params); 1033 auto session =
1034 base::MakeUnique<HttpNetworkSession>(session_params, session_context);
1025 1035
1026 // Before starting the test, verify that there are no proxies marked as 1036 // Before starting the test, verify that there are no proxies marked as
1027 // bad. 1037 // bad.
1028 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty()) 1038 ASSERT_TRUE(session->proxy_service()->proxy_retry_info().empty())
1029 << mock_error; 1039 << mock_error;
1030 1040
1031 StaticSocketDataProvider socket_data_proxy_main_job; 1041 StaticSocketDataProvider socket_data_proxy_main_job;
1032 socket_data_proxy_main_job.set_connect_data(MockConnect(ASYNC, mock_error)); 1042 socket_data_proxy_main_job.set_connect_data(MockConnect(ASYNC, mock_error));
1033 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job); 1043 socket_factory.AddSocketDataProvider(&socket_data_proxy_main_job);
1034 1044
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 HostPortPair host_port_pair(alternative_service.host_port_pair()); 1116 HostPortPair host_port_pair(alternative_service.host_port_pair());
1107 url::SchemeHostPort server("https", host_port_pair.host(), 1117 url::SchemeHostPort server("https", host_port_pair.host(),
1108 host_port_pair.port()); 1118 host_port_pair.port());
1109 http_server_properties.SetAlternativeServices( 1119 http_server_properties.SetAlternativeServices(
1110 server, alternative_service_info_vector); 1120 server, alternative_service_info_vector);
1111 1121
1112 SpdySessionDependencies session_deps( 1122 SpdySessionDependencies session_deps(
1113 ProxyService::CreateFixed("http_proxy")); 1123 ProxyService::CreateFixed("http_proxy"));
1114 1124
1115 // Setup params to disable preconnect, but QUIC doesn't 0RTT. 1125 // Setup params to disable preconnect, but QUIC doesn't 0RTT.
1116 HttpNetworkSession::Params params = 1126 HttpNetworkSession::Params session_params =
1117 SpdySessionDependencies::CreateSessionParams(&session_deps); 1127 SpdySessionDependencies::CreateSessionParams(&session_deps);
1118 params.enable_quic = true; 1128 session_params.enable_quic = true;
1119 params.http_server_properties = &http_server_properties;
Randy Smith (Not in Mondays) 2017/05/31 18:09:40 Why doesn't this need to be moved over to the sess
mmenke 2017/05/31 18:57:19 This is a bug, nice catch! Fixed.
1120 1129
1121 auto session = base::MakeUnique<HttpNetworkSession>(params); 1130 auto session = base::MakeUnique<HttpNetworkSession>(
1131 session_params,
1132 SpdySessionDependencies::CreateSessionContext(&session_deps));
1122 HttpNetworkSessionPeer peer(session.get()); 1133 HttpNetworkSessionPeer peer(session.get());
1123 HostPortPair proxy_host("http_proxy", 80); 1134 HostPortPair proxy_host("http_proxy", 80);
1124 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = 1135 CapturePreconnectsHttpProxySocketPool* http_proxy_pool =
1125 new CapturePreconnectsHttpProxySocketPool( 1136 new CapturePreconnectsHttpProxySocketPool(
1126 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), 1137 session_deps.host_resolver.get(), session_deps.cert_verifier.get(),
1127 session_deps.transport_security_state.get(), 1138 session_deps.transport_security_state.get(),
1128 session_deps.cert_transparency_verifier.get(), 1139 session_deps.cert_transparency_verifier.get(),
1129 session_deps.ct_policy_enforcer.get()); 1140 session_deps.ct_policy_enforcer.get());
1130 CapturePreconnectsSSLSocketPool* ssl_conn_pool = 1141 CapturePreconnectsSSLSocketPool* ssl_conn_pool =
1131 new CapturePreconnectsSSLSocketPool( 1142 new CapturePreconnectsSSLSocketPool(
(...skipping 23 matching lines...) Expand all
1155 ProxyService::CreateFixedFromPacResult("HTTPS myproxy.org:443"); 1166 ProxyService::CreateFixedFromPacResult("HTTPS myproxy.org:443");
1156 1167
1157 // Set up the proxy server as a server that supports request priorities. 1168 // Set up the proxy server as a server that supports request priorities.
1158 HttpServerPropertiesImpl http_server_properties; 1169 HttpServerPropertiesImpl http_server_properties;
1159 if (set_http_server_properties) { 1170 if (set_http_server_properties) {
1160 url::SchemeHostPort spdy_server("https", "myproxy.org", 443); 1171 url::SchemeHostPort spdy_server("https", "myproxy.org", 443);
1161 http_server_properties.SetSupportsSpdy(spdy_server, true); 1172 http_server_properties.SetSupportsSpdy(spdy_server, true);
1162 } 1173 }
1163 1174
1164 SpdySessionDependencies session_deps; 1175 SpdySessionDependencies session_deps;
1165 HttpNetworkSession::Params params = 1176 HttpNetworkSession::Params session_params =
1166 SpdySessionDependencies::CreateSessionParams(&session_deps); 1177 SpdySessionDependencies::CreateSessionParams(&session_deps);
1167 params.enable_quic = true; 1178 session_params.enable_quic = true;
1168 params.proxy_service = proxy_service.get();
1169 params.http_server_properties = &http_server_properties;
1170 1179
1171 auto session = base::MakeUnique<HttpNetworkSession>(params); 1180 HttpNetworkSession::Context session_context =
1181 SpdySessionDependencies::CreateSessionContext(&session_deps);
1182 session_context.proxy_service = proxy_service.get();
1183 session_context.http_server_properties = &http_server_properties;
1184
1185 auto session =
1186 base::MakeUnique<HttpNetworkSession>(session_params, session_context);
1172 1187
1173 HttpNetworkSessionPeer peer(session.get()); 1188 HttpNetworkSessionPeer peer(session.get());
1174 HostPortPair proxy_host("myproxy.org", 443); 1189 HostPortPair proxy_host("myproxy.org", 443);
1175 1190
1176 for (int preconnect_request = 0; preconnect_request < 2; 1191 for (int preconnect_request = 0; preconnect_request < 2;
1177 ++preconnect_request) { 1192 ++preconnect_request) {
1178 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = 1193 CapturePreconnectsHttpProxySocketPool* http_proxy_pool =
1179 new CapturePreconnectsHttpProxySocketPool( 1194 new CapturePreconnectsHttpProxySocketPool(
1180 session_deps.host_resolver.get(), 1195 session_deps.host_resolver.get(),
1181 session_deps.cert_verifier.get(), 1196 session_deps.cert_verifier.get(),
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 std::unique_ptr<ProxyService> proxy_service = 1258 std::unique_ptr<ProxyService> proxy_service =
1244 ProxyService::CreateFixedFromPacResult("HTTPS myproxy.org:443"); 1259 ProxyService::CreateFixedFromPacResult("HTTPS myproxy.org:443");
1245 1260
1246 // Set up the proxy server as a server that supports request priorities. 1261 // Set up the proxy server as a server that supports request priorities.
1247 HttpServerPropertiesImpl http_server_properties; 1262 HttpServerPropertiesImpl http_server_properties;
1248 1263
1249 url::SchemeHostPort spdy_server("https", "myproxy.org", 443); 1264 url::SchemeHostPort spdy_server("https", "myproxy.org", 443);
1250 http_server_properties.SetSupportsSpdy(spdy_server, true); 1265 http_server_properties.SetSupportsSpdy(spdy_server, true);
1251 1266
1252 SpdySessionDependencies session_deps; 1267 SpdySessionDependencies session_deps;
1253 HttpNetworkSession::Params params = 1268 HttpNetworkSession::Params session_params =
1254 SpdySessionDependencies::CreateSessionParams(&session_deps); 1269 SpdySessionDependencies::CreateSessionParams(&session_deps);
1255 params.enable_quic = true; 1270 session_params.enable_quic = true;
1256 params.proxy_service = proxy_service.get();
1257 params.http_server_properties = &http_server_properties;
1258 1271
1259 auto session = base::MakeUnique<HttpNetworkSession>(params); 1272 HttpNetworkSession::Context session_context =
1273 SpdySessionDependencies::CreateSessionContext(&session_deps);
1274 session_context.proxy_service = proxy_service.get();
1275 session_context.http_server_properties = &http_server_properties;
1276
1277 auto session =
1278 base::MakeUnique<HttpNetworkSession>(session_params, session_context);
1260 1279
1261 HttpNetworkSessionPeer peer(session.get()); 1280 HttpNetworkSessionPeer peer(session.get());
1262 HostPortPair proxy_host("myproxy.org", 443); 1281 HostPortPair proxy_host("myproxy.org", 443);
1263 1282
1264 CapturePreconnectsHttpProxySocketPool* http_proxy_pool = 1283 CapturePreconnectsHttpProxySocketPool* http_proxy_pool =
1265 new CapturePreconnectsHttpProxySocketPool( 1284 new CapturePreconnectsHttpProxySocketPool(
1266 session_deps.host_resolver.get(), session_deps.cert_verifier.get(), 1285 session_deps.host_resolver.get(), session_deps.cert_verifier.get(),
1267 session_deps.transport_security_state.get(), 1286 session_deps.transport_security_state.get(),
1268 session_deps.cert_transparency_verifier.get(), 1287 session_deps.cert_transparency_verifier.get(),
1269 session_deps.ct_policy_enforcer.get()); 1288 session_deps.ct_policy_enforcer.get());
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after
2145 void TearDown() override { session_.reset(); } 2164 void TearDown() override { session_.reset(); }
2146 2165
2147 // Disable bidirectional stream over QUIC. This should be invoked before 2166 // Disable bidirectional stream over QUIC. This should be invoked before
2148 // Initialize(). 2167 // Initialize().
2149 void DisableQuicBidirectionalStream() { 2168 void DisableQuicBidirectionalStream() {
2150 params_.quic_disable_bidirectional_streams = true; 2169 params_.quic_disable_bidirectional_streams = true;
2151 } 2170 }
2152 2171
2153 void Initialize() { 2172 void Initialize() {
2154 params_.enable_quic = true; 2173 params_.enable_quic = true;
2155 params_.http_server_properties = &http_server_properties_; 2174 params_.quic_supported_versions = test::SupportedVersions(GetParam());
2156 params_.quic_random = &random_generator_; 2175
2157 params_.quic_clock = &clock_; 2176 HttpNetworkSession::Context session_context;
2177 session_context.http_server_properties = &http_server_properties_;
2178 session_context.quic_random = &random_generator_;
2179 session_context.quic_clock = &clock_;
2158 2180
2159 // Load a certificate that is valid for *.example.org 2181 // Load a certificate that is valid for *.example.org
2160 scoped_refptr<X509Certificate> test_cert( 2182 scoped_refptr<X509Certificate> test_cert(
2161 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem")); 2183 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem"));
2162 EXPECT_TRUE(test_cert.get()); 2184 EXPECT_TRUE(test_cert.get());
2163 verify_details_.cert_verify_result.verified_cert = test_cert; 2185 verify_details_.cert_verify_result.verified_cert = test_cert;
2164 verify_details_.cert_verify_result.is_issued_by_known_root = true; 2186 verify_details_.cert_verify_result.is_issued_by_known_root = true;
2165 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_); 2187 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_);
2166 crypto_client_stream_factory_.set_handshake_mode( 2188 crypto_client_stream_factory_.set_handshake_mode(
2167 MockCryptoClientStream::CONFIRM_HANDSHAKE); 2189 MockCryptoClientStream::CONFIRM_HANDSHAKE);
2168 params_.cert_verifier = &cert_verifier_; 2190 session_context.cert_verifier = &cert_verifier_;
2169 params_.quic_crypto_client_stream_factory = &crypto_client_stream_factory_; 2191 session_context.quic_crypto_client_stream_factory =
2170 params_.quic_supported_versions = test::SupportedVersions(GetParam()); 2192 &crypto_client_stream_factory_;
2171 params_.transport_security_state = &transport_security_state_; 2193 session_context.transport_security_state = &transport_security_state_;
2172 params_.cert_transparency_verifier = &ct_verifier_; 2194 session_context.cert_transparency_verifier = &ct_verifier_;
2173 params_.ct_policy_enforcer = &ct_policy_enforcer_; 2195 session_context.ct_policy_enforcer = &ct_policy_enforcer_;
2174 params_.host_resolver = &host_resolver_; 2196 session_context.host_resolver = &host_resolver_;
2175 params_.proxy_service = proxy_service_.get(); 2197 session_context.proxy_service = proxy_service_.get();
2176 params_.ssl_config_service = ssl_config_service_.get(); 2198 session_context.ssl_config_service = ssl_config_service_.get();
2177 params_.client_socket_factory = &socket_factory_; 2199 session_context.client_socket_factory = &socket_factory_;
2178 session_ = base::MakeUnique<HttpNetworkSession>(params_); 2200 session_.reset(new HttpNetworkSession(params_, session_context));
2179 session_->quic_stream_factory()->set_require_confirmation(false); 2201 session_->quic_stream_factory()->set_require_confirmation(false);
2180 } 2202 }
2181 2203
2182 void AddQuicAlternativeService() { 2204 void AddQuicAlternativeService() {
2183 const AlternativeService alternative_service(kProtoQUIC, "www.example.org", 2205 const AlternativeService alternative_service(kProtoQUIC, "www.example.org",
2184 443); 2206 443);
2185 AlternativeServiceInfoVector alternative_service_info_vector; 2207 AlternativeServiceInfoVector alternative_service_info_vector;
2186 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); 2208 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
2187 alternative_service_info_vector.push_back( 2209 alternative_service_info_vector.push_back(
2188 AlternativeServiceInfo(alternative_service, expiration)); 2210 AlternativeServiceInfo(alternative_service, expiration));
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
2484 HttpNetworkSession::NORMAL_SOCKET_POOL))); 2506 HttpNetworkSession::NORMAL_SOCKET_POOL)));
2485 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool( 2507 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetTransportSocketPool(
2486 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); 2508 HttpNetworkSession::WEBSOCKET_SOCKET_POOL)));
2487 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool( 2509 EXPECT_EQ(0, GetSocketPoolGroupCount(session->GetSSLSocketPool(
2488 HttpNetworkSession::WEBSOCKET_SOCKET_POOL))); 2510 HttpNetworkSession::WEBSOCKET_SOCKET_POOL)));
2489 } 2511 }
2490 2512
2491 } // namespace 2513 } // namespace
2492 2514
2493 } // namespace net 2515 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_impl_job_controller.cc ('k') | net/nqe/network_quality_estimator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698