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

Unified Diff: net/http/http_server_properties_manager_unittest.cc

Issue 665083009: ABANDONED Handle multiple AlternateProtocols for each HostPortPair. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Custom entries for broken_alternate_protocol_list_ and map_. Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_server_properties_manager.cc ('k') | net/http/http_stream_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_server_properties_manager_unittest.cc
diff --git a/net/http/http_server_properties_manager_unittest.cc b/net/http/http_server_properties_manager_unittest.cc
index 99647b3fef9aedeb01cecc864cc8ccb49e1fbe73..2f07619947d3e6ec40e91c2584a98839ca199a8b 100644
--- a/net/http/http_server_properties_manager_unittest.cc
+++ b/net/http/http_server_properties_manager_unittest.cc
@@ -156,12 +156,18 @@ 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_services for www.google.com:80.
+ base::DictionaryValue* alternate_protocol0 = new base::DictionaryValue;
+ alternate_protocol0->SetInteger("port", 443);
+ alternate_protocol0->SetString("protocol_str", "npn-spdy/3");
+ base::DictionaryValue* alternate_protocol1 = new base::DictionaryValue;
+ alternate_protocol1->SetInteger("port", 1234);
+ alternate_protocol1->SetString("protocol_str", "quic");
+ base::ListValue* alternative_services = new base::ListValue;
+ alternative_services->Append(alternate_protocol0);
+ alternative_services->Append(alternate_protocol1);
+ server_pref_dict->SetWithoutPathExpansion("alternative_services",
+ alternative_services);
// Set up SupportsQuic for www.google.com:80.
base::DictionaryValue* supports_quic = new base::DictionaryValue;
@@ -184,13 +190,14 @@ 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");
-
- server_pref_dict1->SetWithoutPathExpansion("alternate_protocol",
- alternate_protocol1);
+ // Set up alternative_services for mail.google.com:80
+ base::DictionaryValue* alternate_protocol2 = new base::DictionaryValue;
+ alternate_protocol2->SetInteger("port", 444);
+ alternate_protocol2->SetString("protocol_str", "npn-spdy/3.1");
+ base::ListValue* alternative_services1 = new base::ListValue;
+ alternative_services1->Append(alternate_protocol2);
+ server_pref_dict1->SetWithoutPathExpansion("alternative_services",
+ alternative_services1);
// Set up SupportsQuic for mail.google.com:80
base::DictionaryValue* supports_quic1 = new base::DictionaryValue;
@@ -229,16 +236,22 @@ TEST_F(HttpServerPropertiesManagerTest,
HostPortPair::FromString("foo.google.com:1337")));
// Verify AlternateProtocol.
- ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(google_server));
- ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(mail_server));
- AlternateProtocolInfo port_alternate_protocol =
- http_server_props_manager_->GetAlternateProtocol(google_server);
- EXPECT_EQ(443, port_alternate_protocol.port);
- EXPECT_EQ(NPN_SPDY_3, port_alternate_protocol.protocol);
- port_alternate_protocol =
- http_server_props_manager_->GetAlternateProtocol(mail_server);
- EXPECT_EQ(444, port_alternate_protocol.port);
- EXPECT_EQ(NPN_SPDY_3_1, port_alternate_protocol.protocol);
+ const AlternateProtocolMap& map =
+ http_server_props_manager_->alternate_protocol_map();
+ AlternateProtocolMap::const_iterator www_it = map.Peek(google_server);
+ ASSERT_NE(map.end(), www_it);
+ const AlternateProtocols alternate_protocols0 = www_it->second;
+ ASSERT_EQ(2u, alternate_protocols0.size());
+ EXPECT_EQ(443, alternate_protocols0[0].port);
+ EXPECT_EQ(NPN_SPDY_3, alternate_protocols0[0].protocol);
+ EXPECT_EQ(1234, alternate_protocols0[1].port);
+ EXPECT_EQ(QUIC, alternate_protocols0[1].protocol);
+ AlternateProtocolMap::const_iterator mail_it = map.Peek(mail_server);
+ ASSERT_NE(map.end(), mail_it);
+ const AlternateProtocols alternate_protocols1 = mail_it->second;
+ ASSERT_EQ(1u, alternate_protocols1.size());
+ EXPECT_EQ(444, alternate_protocols1[0].port);
+ EXPECT_EQ(NPN_SPDY_3_1, alternate_protocols1[0].protocol);
// Verify SupportsQuic.
SupportsQuic supports_quic2 =
@@ -268,12 +281,14 @@ 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.
+ // Set up alternative_services 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);
+ base::ListValue* alternative_services = new base::ListValue;
+ alternative_services->Append(alternate_protocol);
+ server_pref_dict->SetWithoutPathExpansion("alternative_services",
+ alternative_services);
// Set up SupportsQuic for www.google.com:65536.
base::DictionaryValue* supports_quic = new base::DictionaryValue;
@@ -327,12 +342,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.
+ // Set up alternative_services 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);
+ base::ListValue* alternative_services = new base::ListValue;
+ alternative_services->Append(alternate_protocol);
+ server_pref_dict->SetWithoutPathExpansion("alternative_services",
+ alternative_services);
// Set the server preference for www.google.com:80.
base::DictionaryValue* servers_dict = new base::DictionaryValue;
@@ -480,15 +497,13 @@ TEST_F(HttpServerPropertiesManagerTest, HasAlternateProtocol) {
HostPortPair spdy_server_mail("mail.google.com", 80);
EXPECT_FALSE(
http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
- http_server_props_manager_->SetAlternateProtocol(spdy_server_mail, 443,
+ http_server_props_manager_->AddAlternateProtocol(spdy_server_mail, 443,
NPN_SPDY_3, 1);
// Run the task.
base::RunLoop().RunUntilIdle();
Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
- ASSERT_TRUE(
- http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
AlternateProtocolInfo port_alternate_protocol =
http_server_props_manager_->GetAlternateProtocol(spdy_server_mail);
EXPECT_EQ(443, port_alternate_protocol.port);
@@ -540,7 +555,7 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) {
HostPortPair spdy_server_mail("mail.google.com", 443);
http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true);
- http_server_props_manager_->SetAlternateProtocol(spdy_server_mail, 443,
+ http_server_props_manager_->AddAlternateProtocol(spdy_server_mail, 443,
NPN_SPDY_3, 1);
http_server_props_manager_->SetSupportsQuic(spdy_server_mail, true, "foo");
ServerNetworkStats stats;
@@ -603,7 +618,7 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) {
Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
}
-// crbug.com/444956: Add 200 alternate_protocol servers followed by
+// https://crbug.com/444956: Add 200 alternate_protocol servers followed by
// supports_quic and verify we have read supports_quic from prefs.
TEST_F(HttpServerPropertiesManagerTest, BadSupportsQuic) {
ExpectCacheUpdate();
@@ -615,9 +630,11 @@ TEST_F(HttpServerPropertiesManagerTest, BadSupportsQuic) {
base::DictionaryValue* alternate_protocol = new base::DictionaryValue;
alternate_protocol->SetInteger("port", i);
alternate_protocol->SetString("protocol_str", "npn-spdy/3");
+ base::ListValue* alternative_services = new base::ListValue;
+ alternative_services->Append(alternate_protocol);
base::DictionaryValue* server_pref_dict = new base::DictionaryValue;
- server_pref_dict->SetWithoutPathExpansion("alternate_protocol",
- alternate_protocol);
+ server_pref_dict->SetWithoutPathExpansion("alternative_services",
+ alternative_services);
servers_dict->SetWithoutPathExpansion(StringPrintf("www.google.com:%d", i),
server_pref_dict);
}
@@ -649,19 +666,16 @@ TEST_F(HttpServerPropertiesManagerTest, BadSupportsQuic) {
// Verify AlternateProtocol.
for (int i = 0; i < 200; ++i) {
std::string server = StringPrintf("www.google.com:%d", i);
- ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(
- net::HostPortPair::FromString(server)));
- net::AlternateProtocolInfo port_alternate_protocol =
+ AlternateProtocolInfo port_alternate_protocol =
http_server_props_manager_->GetAlternateProtocol(
- net::HostPortPair::FromString(server));
+ HostPortPair::FromString(server));
EXPECT_EQ(i, port_alternate_protocol.port);
- EXPECT_EQ(net::NPN_SPDY_3, port_alternate_protocol.protocol);
+ EXPECT_EQ(NPN_SPDY_3, port_alternate_protocol.protocol);
}
// Verify SupportsQuic.
- net::SupportsQuic supports_quic1 =
- http_server_props_manager_->GetSupportsQuic(
- net::HostPortPair::FromString("mail.google.com:80"));
+ SupportsQuic supports_quic1 = http_server_props_manager_->GetSupportsQuic(
+ HostPortPair::FromString("mail.google.com:80"));
EXPECT_TRUE(supports_quic1.used_quic);
EXPECT_EQ("bar", supports_quic1.address);
}
« no previous file with comments | « net/http/http_server_properties_manager.cc ('k') | net/http/http_stream_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698