diff options
author | bnc <bnc@chromium.org> | 2015-03-30 20:06:25 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-31 03:07:06 +0000 |
commit | 4988e439c1a14779f32b4dc9c289d9e4bad467af (patch) | |
tree | 3847ba303bb21df2e50596e7c693d34ee441ee77 /net/http/http_server_properties_manager_unittest.cc | |
parent | b5ff8d1fc8b72aa40b8936df0775cec7abc6b849 (diff) | |
download | chromium_src-4988e439c1a14779f32b4dc9c289d9e4bad467af.zip chromium_src-4988e439c1a14779f32b4dc9c289d9e4bad467af.tar.gz chromium_src-4988e439c1a14779f32b4dc9c289d9e4bad467af.tar.bz2 |
Introduce AlternativeServiceInfo.
* Introduce AlternativeServiceInfo and use it instead of AlternateProtocolInfo
in HttpServerPropertiesImpl.
* Change language in method and variable names and comments to consistently talk
about alternative service instead of alternate protocol (except for threshold
related occurrences).
* Update HttpServerPropertiesManager to save by key "alternative_service"
instead of "alternate_protocol", while still being able to read old
preferences.
* Add TODO(bnc) at a couple of places.
BUG=392575
Review URL: https://codereview.chromium.org/1043973002
Cr-Commit-Position: refs/heads/master@{#322968}
Diffstat (limited to 'net/http/http_server_properties_manager_unittest.cc')
-rw-r--r-- | net/http/http_server_properties_manager_unittest.cc | 121 |
1 files changed, 61 insertions, 60 deletions
diff --git a/net/http/http_server_properties_manager_unittest.cc b/net/http/http_server_properties_manager_unittest.cc index f017815..9394485 100644 --- a/net/http/http_server_properties_manager_unittest.cc +++ b/net/http/http_server_properties_manager_unittest.cc @@ -74,14 +74,14 @@ class TestingHttpServerPropertiesManager : public HttpServerPropertiesManager { MOCK_METHOD6(UpdateCacheFromPrefsOnNetworkThread, void(std::vector<std::string>* spdy_servers, SpdySettingsMap* spdy_settings_map, - AlternateProtocolMap* alternate_protocol_map, + AlternativeServiceMap* alternative_service_map, IPAddressNumber* last_quic_address, ServerNetworkStatsMap* server_network_stats_map, bool detected_corrupted_prefs)); MOCK_METHOD5(UpdatePrefsOnPref, void(base::ListValue* spdy_server_list, SpdySettingsMap* spdy_settings_map, - AlternateProtocolMap* alternate_protocol_map, + AlternativeServiceMap* alternative_service_map, IPAddressNumber* last_quic_address, ServerNetworkStatsMap* server_network_stats_map)); @@ -163,12 +163,15 @@ TEST_F(HttpServerPropertiesManagerTest, // Set supports_spdy for www.google.com:80. server_pref_dict->SetBoolean("supports_spdy", true); - // Set up alternate_protocol for www.google.com:80. - base::DictionaryValue* alternate_protocol = new base::DictionaryValue; - alternate_protocol->SetInteger("port", 443); - alternate_protocol->SetString("protocol_str", "npn-spdy/3"); - server_pref_dict->SetWithoutPathExpansion("alternate_protocol", - alternate_protocol); + // Set up alternative_service for www.google.com:80. + base::DictionaryValue* alternative_service_dict = new base::DictionaryValue; + alternative_service_dict->SetString("protocol_str", "npn-spdy/3"); + alternative_service_dict->SetString("host", "maps.google.com"); + alternative_service_dict->SetInteger("port", 443); + base::ListValue* alternative_service_list = new base::ListValue; + alternative_service_list->Append(alternative_service_dict); + server_pref_dict->SetWithoutPathExpansion("alternative_service", + alternative_service_list); // Set up ServerNetworkStats for www.google.com:80. base::DictionaryValue* stats = new base::DictionaryValue; @@ -185,13 +188,13 @@ TEST_F(HttpServerPropertiesManagerTest, // Set supports_spdy for mail.google.com:80 server_pref_dict1->SetBoolean("supports_spdy", true); - // Set up alternate_protocol for mail.google.com:80 - base::DictionaryValue* alternate_protocol1 = new base::DictionaryValue; - alternate_protocol1->SetInteger("port", 444); - alternate_protocol1->SetString("protocol_str", "npn-spdy/3.1"); - + // Set up alternate_protocol for mail.google.com:80 to test migration to + // alternative-service. + base::DictionaryValue* alternate_protocol_dict = new base::DictionaryValue; + alternate_protocol_dict->SetString("protocol_str", "npn-spdy/3.1"); + alternate_protocol_dict->SetInteger("port", 444); server_pref_dict1->SetWithoutPathExpansion("alternate_protocol", - alternate_protocol1); + alternate_protocol_dict); // Set up ServerNetworkStats for mail.google.com:80. base::DictionaryValue* stats1 = new base::DictionaryValue; @@ -229,15 +232,17 @@ TEST_F(HttpServerPropertiesManagerTest, EXPECT_FALSE(http_server_props_manager_->SupportsRequestPriority( HostPortPair::FromString("foo.google.com:1337"))); - // Verify AlternateProtocol. + // Verify alternative service. AlternativeService alternative_service = http_server_props_manager_->GetAlternativeService(google_server); - EXPECT_EQ(443, alternative_service.port); EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol); + EXPECT_EQ("maps.google.com", alternative_service.host); + EXPECT_EQ(443, alternative_service.port); alternative_service = http_server_props_manager_->GetAlternativeService(mail_server); - EXPECT_EQ(444, alternative_service.port); EXPECT_EQ(NPN_SPDY_3_1, alternative_service.protocol); + EXPECT_EQ("mail.google.com", alternative_service.host); + EXPECT_EQ(444, alternative_service.port); // Verify SupportsQuic. IPAddressNumber last_address; @@ -263,12 +268,15 @@ TEST_F(HttpServerPropertiesManagerTest, BadCachedHostPortPair) { // Set supports_spdy for www.google.com:65536. server_pref_dict->SetBoolean("supports_spdy", true); - // Set up alternate_protocol for www.google.com:65536. - base::DictionaryValue* alternate_protocol = new base::DictionaryValue; - alternate_protocol->SetInteger("port", 80); - alternate_protocol->SetString("protocol_str", "npn-spdy/3"); - server_pref_dict->SetWithoutPathExpansion("alternate_protocol", - alternate_protocol); + // Set up alternative_service for www.google.com:65536. + + base::DictionaryValue* alternative_service_dict = new base::DictionaryValue; + alternative_service_dict->SetString("protocol_str", "npn-spdy/3"); + alternative_service_dict->SetInteger("port", 80); + base::ListValue* alternative_service_list = new base::ListValue; + alternative_service_list->Append(alternative_service_dict); + server_pref_dict->SetWithoutPathExpansion("alternative_service", + alternative_service_list); // Set up ServerNetworkStats for www.google.com:65536. base::DictionaryValue* stats = new base::DictionaryValue; @@ -313,12 +321,14 @@ TEST_F(HttpServerPropertiesManagerTest, BadCachedAltProtocolPort) { // Set supports_spdy for www.google.com:80. server_pref_dict->SetBoolean("supports_spdy", true); - // Set up alternate_protocol for www.google.com:80. - base::DictionaryValue* alternate_protocol = new base::DictionaryValue; - alternate_protocol->SetInteger("port", 65536); - alternate_protocol->SetString("protocol_str", "npn-spdy/3"); - server_pref_dict->SetWithoutPathExpansion("alternate_protocol", - alternate_protocol); + // Set up alternative_service for www.google.com:80. + base::DictionaryValue* alternative_service_dict = new base::DictionaryValue; + alternative_service_dict->SetString("protocol_str", "npn-spdy/3"); + alternative_service_dict->SetInteger("port", 65536); + base::ListValue* alternative_service_list = new base::ListValue; + alternative_service_list->Append(alternative_service_dict); + server_pref_dict->SetWithoutPathExpansion("alternative_service", + alternative_service_list); // Set the server preference for www.google.com:80. base::DictionaryValue* servers_dict = new base::DictionaryValue; @@ -336,7 +346,7 @@ TEST_F(HttpServerPropertiesManagerTest, BadCachedAltProtocolPort) { base::RunLoop().RunUntilIdle(); Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); - // Verify AlternateProtocol is not set. + // Verify alternative service is not set. EXPECT_FALSE( HasAlternativeService(HostPortPair::FromString("www.google.com:80"))); } @@ -586,7 +596,7 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) { Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); } -// https://crbug.com/444956: Add 200 alternate_protocol servers followed by +// https://crbug.com/444956: Add 200 alternative_service servers followed by // supports_quic and verify we have read supports_quic from prefs. TEST_F(HttpServerPropertiesManagerTest, BadSupportsQuic) { ExpectCacheUpdate(); @@ -594,13 +604,16 @@ TEST_F(HttpServerPropertiesManagerTest, BadSupportsQuic) { base::DictionaryValue* servers_dict = new base::DictionaryValue; for (int i = 0; i < 200; ++i) { - // Set up alternate_protocol for www.google.com:i. - base::DictionaryValue* alternate_protocol = new base::DictionaryValue; - alternate_protocol->SetInteger("port", i); - alternate_protocol->SetString("protocol_str", "npn-spdy/3"); + // Set up alternative_service for www.google.com:i. + base::DictionaryValue* alternative_service_dict = new base::DictionaryValue; + alternative_service_dict->SetString("protocol_str", "npn-spdy/3"); + alternative_service_dict->SetString("host", ""); + alternative_service_dict->SetInteger("port", i); + base::ListValue* alternative_service_list = new base::ListValue; + alternative_service_list->Append(alternative_service_dict); base::DictionaryValue* server_pref_dict = new base::DictionaryValue; - server_pref_dict->SetWithoutPathExpansion("alternate_protocol", - alternate_protocol); + server_pref_dict->SetWithoutPathExpansion("alternative_service", + alternative_service_list); servers_dict->SetWithoutPathExpansion(StringPrintf("www.google.com:%d", i), server_pref_dict); } @@ -631,7 +644,7 @@ TEST_F(HttpServerPropertiesManagerTest, BadSupportsQuic) { base::RunLoop().RunUntilIdle(); Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); - // Verify AlternateProtocol. + // Verify alternative service. for (int i = 0; i < 200; ++i) { std::string server = StringPrintf("www.google.com:%d", i); AlternativeService alternative_service = @@ -652,7 +665,7 @@ TEST_F(HttpServerPropertiesManagerTest, UpdateCacheWithPrefs) { const HostPortPair server_mail("mail.google.com", 80); // Set alternate protocol. - AlternativeService www_altsvc(NPN_SPDY_3, "www.google.com", 443); + AlternativeService www_altsvc(NPN_SPDY_3, "", 443); AlternativeService mail_altsvc(NPN_SPDY_3_1, "mail.google.com", 444); http_server_props_manager_->SetAlternativeService(server_www, www_altsvc, 1.0); @@ -676,27 +689,15 @@ TEST_F(HttpServerPropertiesManagerTest, UpdateCacheWithPrefs) { base::RunLoop().RunUntilIdle(); // Verify preferences. - const char expected_json[] = "{" - "\"servers\":{" - "\"mail.google.com:80\":{" - "\"alternate_protocol\":{" - "\"port\":444,\"probability\":0.2,\"protocol_str\":\"npn-spdy/3.1\"" - "}," - "\"network_stats\":{" - "\"srtt\":42" - "}" - "}," - "\"www.google.com:80\":{" - "\"alternate_protocol\":{" - "\"port\":443,\"probability\":1.0,\"protocol_str\":\"npn-spdy/3\"" - "}" - "}" - "}," - "\"supports_quic\":{" - "\"address\":\"127.0.0.1\",\"used_quic\":true" - "}," - "\"version\":3" - "}"; + const char expected_json[] = + "{\"servers\":{\"mail.google.com:80\":{\"alternative_service\":[{" + "\"host\":" + "\"mail.google.com\",\"port\":444,\"probability\":0.2,\"protocol_str\":" + "\"npn-spdy/" + "3.1\"}],\"network_stats\":{\"srtt\":42}},\"www.google.com:80\":" + "{\"alternative_service\":[{\"port\":443,\"probability\":1.0," + "\"protocol_str\":\"npn-spdy/3\"}]}},\"supports_quic\":" + "{\"address\":\"127.0.0.1\",\"used_quic\":true},\"version\":3}"; const base::Value* http_server_properties = pref_service_.GetUserPref(kTestHttpServerProperties); |