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 10 matching lines...) Expand all Loading... | |
40 // JSON encoded experimental options. | 40 // JSON encoded experimental options. |
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 "\"connection_options\":\"TIME,TBBR,REJ\"}," | 49 "\"connection_options\":\"TIME,TBBR,REJ\"}," |
50 "\"AsyncDNS\":{\"enable\":true}}", | 50 "\"AsyncDNS\":{\"enable\":true}," |
51 "\"HostResolverRules\":{\"host_resolver_rules\":" | |
52 "\"MAP * 127.0.0.1\"}}", | |
51 // Data reduction proxy key. | 53 // Data reduction proxy key. |
52 "", | 54 "", |
53 // Data reduction proxy. | 55 // Data reduction proxy. |
54 "", | 56 "", |
55 // Fallback data reduction proxy. | 57 // Fallback data reduction proxy. |
56 "", | 58 "", |
57 // Data reduction proxy secure proxy check URL. | 59 // Data reduction proxy secure proxy check URL. |
58 "", | 60 "", |
59 // MockCertVerifier to use for testing purposes. | 61 // MockCertVerifier to use for testing purposes. |
60 std::unique_ptr<net::CertVerifier>()); | 62 std::unique_ptr<net::CertVerifier>()); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
92 EXPECT_FLOAT_EQ(0.5f, params->quic_packet_loss_threshold); | 94 EXPECT_FLOAT_EQ(0.5f, params->quic_packet_loss_threshold); |
93 | 95 |
94 // Check idle_connection_timeout_seconds. | 96 // Check idle_connection_timeout_seconds. |
95 EXPECT_EQ(300, params->quic_idle_connection_timeout_seconds); | 97 EXPECT_EQ(300, params->quic_idle_connection_timeout_seconds); |
96 | 98 |
97 EXPECT_TRUE(params->quic_close_sessions_on_ip_change); | 99 EXPECT_TRUE(params->quic_close_sessions_on_ip_change); |
98 EXPECT_FALSE(params->quic_migrate_sessions_on_network_change); | 100 EXPECT_FALSE(params->quic_migrate_sessions_on_network_change); |
99 | 101 |
100 // Check AsyncDNS resolver is enabled. | 102 // Check AsyncDNS resolver is enabled. |
101 EXPECT_TRUE(context->host_resolver()->GetDnsConfigAsValue()); | 103 EXPECT_TRUE(context->host_resolver()->GetDnsConfigAsValue()); |
104 | |
105 net::HostResolver::RequestInfo info(net::HostPortPair("abcde", 80)); | |
106 std::unique_ptr<net::AddressList> addresses(new net::AddressList); | |
pauljensen
2016/06/30 15:26:37
net::AddressList addresses;
mgersh
2016/06/30 22:54:53
Done.
| |
107 EXPECT_EQ(net::OK, context->host_resolver()->ResolveFromCache( | |
108 info, addresses.get(), net::BoundNetLog())); | |
102 } | 109 } |
103 | 110 |
104 TEST(URLRequestContextConfigTest, SetQuicConnectionMigrationOptions) { | 111 TEST(URLRequestContextConfigTest, SetQuicConnectionMigrationOptions) { |
105 URLRequestContextConfig config( | 112 URLRequestContextConfig config( |
106 // Enable QUIC. | 113 // Enable QUIC. |
107 true, | 114 true, |
108 // QUIC User Agent ID. | 115 // QUIC User Agent ID. |
109 "Default QUIC User Agent ID", | 116 "Default QUIC User Agent ID", |
110 // Enable SPDY. | 117 // Enable SPDY. |
111 true, | 118 true, |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
145 std::unique_ptr<net::URLRequestContext> context(builder.Build()); | 152 std::unique_ptr<net::URLRequestContext> context(builder.Build()); |
146 const net::HttpNetworkSession::Params* params = | 153 const net::HttpNetworkSession::Params* params = |
147 context->GetNetworkSessionParams(); | 154 context->GetNetworkSessionParams(); |
148 | 155 |
149 EXPECT_FALSE(params->quic_close_sessions_on_ip_change); | 156 EXPECT_FALSE(params->quic_close_sessions_on_ip_change); |
150 EXPECT_TRUE(params->quic_migrate_sessions_on_network_change); | 157 EXPECT_TRUE(params->quic_migrate_sessions_on_network_change); |
151 EXPECT_TRUE(params->quic_migrate_sessions_early); | 158 EXPECT_TRUE(params->quic_migrate_sessions_early); |
152 } | 159 } |
153 | 160 |
154 } // namespace cronet | 161 } // namespace cronet |
OLD | NEW |