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 "components/cronet/url_request_context_config.h" | 5 #include "components/cronet/url_request_context_config.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "net/cert/cert_verifier.h" | 9 #include "net/cert/cert_verifier.h" |
10 #include "net/http/http_network_session.h" | 10 #include "net/http/http_network_session.h" |
11 #include "net/proxy/proxy_config.h" | 11 #include "net/proxy/proxy_config.h" |
12 #include "net/proxy/proxy_config_service_fixed.h" | 12 #include "net/proxy/proxy_config_service_fixed.h" |
13 #include "net/url_request/url_request_context.h" | 13 #include "net/url_request/url_request_context.h" |
14 #include "net/url_request/url_request_context_builder.h" | 14 #include "net/url_request/url_request_context_builder.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
16 | 16 |
17 namespace cronet { | 17 namespace cronet { |
18 | 18 |
19 TEST(URLRequestContextConfigTest, SetQuicExperimentalOptions) { | 19 TEST(URLRequestContextConfigTest, TestExperimentalOptionPassing) { |
20 URLRequestContextConfig config( | 20 URLRequestContextConfig config( |
21 // Enable QUIC. | 21 // Enable QUIC. |
22 true, | 22 true, |
23 // QUIC User Agent ID. | 23 // QUIC User Agent ID. |
24 "Default QUIC User Agent ID", | 24 "Default QUIC User Agent ID", |
25 // Enable SPDY. | 25 // Enable SPDY. |
26 true, | 26 true, |
27 // Enable SDCH. | 27 // Enable SDCH. |
28 false, | 28 false, |
29 // Type of http cache. | 29 // Type of http cache. |
(...skipping 11 matching lines...) Expand all Loading... |
41 "{\"QUIC\":{\"max_server_configs_stored_in_properties\":2," | 41 "{\"QUIC\":{\"max_server_configs_stored_in_properties\":2," |
42 "\"delay_tcp_race\":true," | 42 "\"delay_tcp_race\":true," |
43 "\"max_number_of_lossy_connections\":10," | 43 "\"max_number_of_lossy_connections\":10," |
44 "\"prefer_aes\":true," | 44 "\"prefer_aes\":true," |
45 "\"user_agent_id\":\"Custom QUIC UAID\"," | 45 "\"user_agent_id\":\"Custom QUIC UAID\"," |
46 "\"packet_loss_threshold\":0.5," | 46 "\"packet_loss_threshold\":0.5," |
47 "\"idle_connection_timeout_seconds\":300," | 47 "\"idle_connection_timeout_seconds\":300," |
48 "\"close_sessions_on_ip_change\":true," | 48 "\"close_sessions_on_ip_change\":true," |
49 "\"race_cert_verification\":true," | 49 "\"race_cert_verification\":true," |
50 "\"connection_options\":\"TIME,TBBR,REJ\"}," | 50 "\"connection_options\":\"TIME,TBBR,REJ\"}," |
51 "\"AsyncDNS\":{\"enable\":true}}", | 51 "\"AsyncDNS\":{\"enable\":true}," |
| 52 "\"HostResolverRules\":{\"host_resolver_rules\":" |
| 53 "\"MAP * 127.0.0.1\"}}", |
52 // Data reduction proxy key. | 54 // Data reduction proxy key. |
53 "", | 55 "", |
54 // Data reduction proxy. | 56 // Data reduction proxy. |
55 "", | 57 "", |
56 // Fallback data reduction proxy. | 58 // Fallback data reduction proxy. |
57 "", | 59 "", |
58 // Data reduction proxy secure proxy check URL. | 60 // Data reduction proxy secure proxy check URL. |
59 "", | 61 "", |
60 // MockCertVerifier to use for testing purposes. | 62 // MockCertVerifier to use for testing purposes. |
61 std::unique_ptr<net::CertVerifier>(), | 63 std::unique_ptr<net::CertVerifier>(), |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 EXPECT_EQ(300, params->quic_idle_connection_timeout_seconds); | 104 EXPECT_EQ(300, params->quic_idle_connection_timeout_seconds); |
103 | 105 |
104 EXPECT_TRUE(params->quic_close_sessions_on_ip_change); | 106 EXPECT_TRUE(params->quic_close_sessions_on_ip_change); |
105 EXPECT_FALSE(params->quic_migrate_sessions_on_network_change); | 107 EXPECT_FALSE(params->quic_migrate_sessions_on_network_change); |
106 | 108 |
107 // Check race_cert_verification. | 109 // Check race_cert_verification. |
108 EXPECT_TRUE(params->quic_race_cert_verification); | 110 EXPECT_TRUE(params->quic_race_cert_verification); |
109 | 111 |
110 // Check AsyncDNS resolver is enabled. | 112 // Check AsyncDNS resolver is enabled. |
111 EXPECT_TRUE(context->host_resolver()->GetDnsConfigAsValue()); | 113 EXPECT_TRUE(context->host_resolver()->GetDnsConfigAsValue()); |
| 114 |
| 115 net::HostResolver::RequestInfo info(net::HostPortPair("abcde", 80)); |
| 116 net::AddressList addresses; |
| 117 EXPECT_EQ(net::OK, context->host_resolver()->ResolveFromCache( |
| 118 info, &addresses, net::BoundNetLog())); |
112 } | 119 } |
113 | 120 |
114 TEST(URLRequestContextConfigTest, SetQuicConnectionMigrationOptions) { | 121 TEST(URLRequestContextConfigTest, SetQuicConnectionMigrationOptions) { |
115 URLRequestContextConfig config( | 122 URLRequestContextConfig config( |
116 // Enable QUIC. | 123 // Enable QUIC. |
117 true, | 124 true, |
118 // QUIC User Agent ID. | 125 // QUIC User Agent ID. |
119 "Default QUIC User Agent ID", | 126 "Default QUIC User Agent ID", |
120 // Enable SPDY. | 127 // Enable SPDY. |
121 true, | 128 true, |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 std::unique_ptr<net::URLRequestContext> context(builder.Build()); | 168 std::unique_ptr<net::URLRequestContext> context(builder.Build()); |
162 const net::HttpNetworkSession::Params* params = | 169 const net::HttpNetworkSession::Params* params = |
163 context->GetNetworkSessionParams(); | 170 context->GetNetworkSessionParams(); |
164 | 171 |
165 EXPECT_FALSE(params->quic_close_sessions_on_ip_change); | 172 EXPECT_FALSE(params->quic_close_sessions_on_ip_change); |
166 EXPECT_TRUE(params->quic_migrate_sessions_on_network_change); | 173 EXPECT_TRUE(params->quic_migrate_sessions_on_network_change); |
167 EXPECT_TRUE(params->quic_migrate_sessions_early); | 174 EXPECT_TRUE(params->quic_migrate_sessions_early); |
168 } | 175 } |
169 | 176 |
170 } // namespace cronet | 177 } // namespace cronet |
OLD | NEW |