Chromium Code Reviews| Index: net/http/http_server_properties_impl_unittest.cc |
| diff --git a/net/http/http_server_properties_impl_unittest.cc b/net/http/http_server_properties_impl_unittest.cc |
| index a23ebbed89b2aa5f084914cd449d7f29cad78432..8e79c8b451663160ff753de079077561acf48b25 100644 |
| --- a/net/http/http_server_properties_impl_unittest.cc |
| +++ b/net/http/http_server_properties_impl_unittest.cc |
| @@ -243,10 +243,12 @@ typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest; |
| TEST_F(AlternateProtocolServerPropertiesTest, Basic) { |
| HostPortPair test_host_port_pair("foo", 80); |
| EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - const AlternateProtocolInfo alternate = |
| + const AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + const AlternateProtocolInfo alternate = alternate_protocols[0]; |
| EXPECT_EQ(443, alternate.port); |
| EXPECT_EQ(NPN_SPDY_3, alternate.protocol); |
| @@ -256,7 +258,7 @@ TEST_F(AlternateProtocolServerPropertiesTest, Basic) { |
| TEST_F(AlternateProtocolServerPropertiesTest, DefaultProbabilityExcluded) { |
| HostPortPair test_host_port_pair("foo", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .99); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .99); |
| EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| } |
| @@ -265,11 +267,13 @@ TEST_F(AlternateProtocolServerPropertiesTest, Probability) { |
| impl_.SetAlternateProtocolProbabilityThreshold(.25); |
| HostPortPair test_host_port_pair("foo", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - const AlternateProtocolInfo alternate = |
| + const AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + const AlternateProtocolInfo alternate = alternate_protocols[0]; |
| EXPECT_EQ(443, alternate.port); |
| EXPECT_EQ(NPN_SPDY_3, alternate.protocol); |
| EXPECT_EQ(.5, alternate.probability); |
| @@ -280,114 +284,136 @@ TEST_F(AlternateProtocolServerPropertiesTest, ProbabilityExcluded) { |
| HostPortPair test_host_port_pair("foo", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); |
| EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| } |
| TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { |
| HostPortPair test_host_port_pair1("foo1", 80); |
| - impl_.SetBrokenAlternateProtocol(test_host_port_pair1); |
| + impl_.AddAlternateProtocol(test_host_port_pair1, 123, NPN_SPDY_3, 1); |
| + { |
| + AlternateProtocolInfo alternate_protocol(123, NPN_SPDY_3, 1); |
| + impl_.SetBrokenAlternateProtocol(test_host_port_pair1, alternate_protocol); |
| + } |
|
Ryan Hamilton
2014/11/03 19:00:30
Unless it's critical to scope these two lines, pre
Bence
2014/11/03 22:32:26
Done.
|
| HostPortPair test_host_port_pair2("foo2", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_3, 1); |
| AlternateProtocolMap alternate_protocol_map( |
| AlternateProtocolMap::NO_AUTO_EVICT); |
| AlternateProtocolInfo port_alternate_protocol_pair(123, NPN_SPDY_3, 1); |
| - alternate_protocol_map.Put(test_host_port_pair2, |
| - port_alternate_protocol_pair); |
| + alternate_protocol_map.Put( |
| + test_host_port_pair2, |
| + AlternateProtocols(/* size = */ 1, |
| + /* val = */ port_alternate_protocol_pair)); |
| HostPortPair test_host_port_pair3("foo3", 80); |
| port_alternate_protocol_pair.port = 1234; |
| - alternate_protocol_map.Put(test_host_port_pair3, |
| - port_alternate_protocol_pair); |
| + alternate_protocol_map.Put( |
| + test_host_port_pair3, |
| + AlternateProtocols(/* size = */ 1, |
| + /* val = */ port_alternate_protocol_pair)); |
| impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); |
| // Verify test_host_port_pair3 is the MRU server. |
| const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); |
| net::AlternateProtocolMap::const_iterator it = map.begin(); |
| - it = map.begin(); |
| EXPECT_TRUE(it->first.Equals(test_host_port_pair3)); |
| - EXPECT_EQ(1234, it->second.port); |
| - EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
| + ASSERT_EQ(1u, it->second.size()); |
| + EXPECT_EQ(1234, it->second[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, it->second[0].protocol); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair1)); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair2)); |
| - port_alternate_protocol_pair = |
| + AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair1); |
| - EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, port_alternate_protocol_pair.protocol); |
| - port_alternate_protocol_pair = |
| - impl_.GetAlternateProtocol(test_host_port_pair2); |
| - EXPECT_EQ(123, port_alternate_protocol_pair.port); |
| - EXPECT_EQ(NPN_SPDY_3, port_alternate_protocol_pair.protocol); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate_protocols[0].protocol); |
| + alternate_protocols = impl_.GetAlternateProtocol(test_host_port_pair2); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(123, alternate_protocols[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, alternate_protocols[0].protocol); |
| } |
| TEST_F(AlternateProtocolServerPropertiesTest, MRUOfHasAlternateProtocol) { |
| HostPortPair test_host_port_pair1("foo1", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); |
| HostPortPair test_host_port_pair2("foo2", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1); |
| const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); |
| net::AlternateProtocolMap::const_iterator it = map.begin(); |
| EXPECT_TRUE(it->first.Equals(test_host_port_pair2)); |
| - EXPECT_EQ(1234, it->second.port); |
| - EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
| + ASSERT_EQ(1u, it->second.size()); |
| + EXPECT_EQ(1234, it->second[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, it->second[0].protocol); |
| // HasAlternateProtocol should reoder the AlternateProtocol map. |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair1)); |
| it = map.begin(); |
| EXPECT_TRUE(it->first.Equals(test_host_port_pair1)); |
| - EXPECT_EQ(443, it->second.port); |
| - EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
| + ASSERT_EQ(1u, it->second.size()); |
| + EXPECT_EQ(443, it->second[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, it->second[0].protocol); |
| } |
| TEST_F(AlternateProtocolServerPropertiesTest, MRUOfGetAlternateProtocol) { |
| HostPortPair test_host_port_pair1("foo1", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); |
| HostPortPair test_host_port_pair2("foo2", 80); |
| - impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1); |
| const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); |
| net::AlternateProtocolMap::const_iterator it = map.begin(); |
| EXPECT_TRUE(it->first.Equals(test_host_port_pair2)); |
| - EXPECT_EQ(1234, it->second.port); |
| - EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
| + ASSERT_EQ(1u, it->second.size()); |
| + EXPECT_EQ(1234, it->second[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, it->second[0].protocol); |
| - // GetAlternateProtocol should reoder the AlternateProtocol map. |
| - AlternateProtocolInfo alternate = |
| + // GetAlternateProtocol should reorder the AlternateProtocol map. |
| + const AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair1); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + const AlternateProtocolInfo alternate = alternate_protocols[0]; |
| EXPECT_EQ(443, alternate.port); |
| EXPECT_EQ(NPN_SPDY_3, alternate.protocol); |
| it = map.begin(); |
| EXPECT_TRUE(it->first.Equals(test_host_port_pair1)); |
| - EXPECT_EQ(443, it->second.port); |
| - EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
| + ASSERT_EQ(1u, it->second.size()); |
| + EXPECT_EQ(443, it->second[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, it->second[0].protocol); |
| } |
| TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) { |
| HostPortPair test_host_port_pair("foo", 80); |
| - impl_.SetBrokenAlternateProtocol(test_host_port_pair); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 123, NPN_SPDY_3, 1); |
| + AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1); |
| + impl_.SetBrokenAlternateProtocol(test_host_port_pair, alternate); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - AlternateProtocolInfo alternate = |
| + AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair); |
| - EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol); |
| - |
| - impl_.SetAlternateProtocol( |
| - test_host_port_pair, |
| - 1234, |
| - NPN_SPDY_3, |
| - 1); |
| - alternate = impl_.GetAlternateProtocol(test_host_port_pair); |
| - EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol) |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate_protocols[0].protocol); |
| + |
| + impl_.AddAlternateProtocol(test_host_port_pair, 123, NPN_SPDY_3, 1); |
| + alternate_protocols = impl_.GetAlternateProtocol(test_host_port_pair); |
| + ASSERT_EQ(1u, alternate_protocols.size()) |
| << "Second attempt should be ignored."; |
| + EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate_protocols[0].protocol); |
| + |
| + impl_.AddAlternateProtocol(test_host_port_pair, 1234, NPN_SPDY_3, 1); |
| + alternate_protocols = impl_.GetAlternateProtocol(test_host_port_pair); |
| + ASSERT_EQ(2u, alternate_protocols.size()) << "Different port should be fine."; |
| } |
|
Ryan Hamilton
2014/11/03 19:00:30
Do you feel like you have sufficient test coverage
Bence
2014/11/03 22:32:26
Done.
|
| TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) { |
| HostPortPair test_host_port_pair("foo", 80); |
| - impl_.SetBrokenAlternateProtocol(test_host_port_pair); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 123, NPN_SPDY_3, 1); |
| + AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1); |
| + impl_.SetBrokenAlternateProtocol(test_host_port_pair, alternate); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - AlternateProtocolInfo alternate = |
| + AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair); |
| - EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate_protocols[0].protocol); |
| impl_.ClearAlternateProtocol(test_host_port_pair); |
| EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| } |
| @@ -401,17 +427,19 @@ TEST_F(AlternateProtocolServerPropertiesTest, Forced) { |
| // Verify the forced protocol. |
| HostPortPair test_host_port_pair("foo", 80); |
| EXPECT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - AlternateProtocolInfo alternate = |
| + AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair); |
| - EXPECT_EQ(default_protocol.port, alternate.port); |
| - EXPECT_EQ(default_protocol.protocol, alternate.protocol); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(default_protocol.port, alternate_protocols[0].port); |
| + EXPECT_EQ(default_protocol.protocol, alternate_protocols[0].protocol); |
| // Verify the real protocol overrides the forced protocol. |
| - impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1); |
| + impl_.AddAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1); |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - alternate = impl_.GetAlternateProtocol(test_host_port_pair); |
| - EXPECT_EQ(443, alternate.port); |
| - EXPECT_EQ(NPN_SPDY_3, alternate.protocol); |
| + alternate_protocols = impl_.GetAlternateProtocol(test_host_port_pair); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(443, alternate_protocols[0].port); |
| + EXPECT_EQ(NPN_SPDY_3, alternate_protocols[0].protocol); |
| // Turn off the static, forced alternate protocol so that tests don't |
| // have this state. |
| @@ -431,16 +459,17 @@ TEST_F(AlternateProtocolServerPropertiesTest, Canonical) { |
| AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); |
| - impl_.SetAlternateProtocol(canonical_port_pair, |
| + impl_.AddAlternateProtocol(canonical_port_pair, |
| canonical_protocol.port, |
| canonical_protocol.protocol, |
| 1); |
| // Verify the forced protocol. |
| ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| - AlternateProtocolInfo alternate = |
| + AlternateProtocols alternate_protocols = |
| impl_.GetAlternateProtocol(test_host_port_pair); |
| - EXPECT_EQ(canonical_protocol.port, alternate.port); |
| - EXPECT_EQ(canonical_protocol.protocol, alternate.protocol); |
| + ASSERT_EQ(1u, alternate_protocols.size()); |
| + EXPECT_EQ(canonical_protocol.port, alternate_protocols[0].port); |
| + EXPECT_EQ(canonical_protocol.protocol, alternate_protocols[0].protocol); |
| // Verify the canonical suffix. |
| EXPECT_EQ(".c.youtube.com", impl_.GetCanonicalSuffix(test_host_port_pair)); |
| @@ -453,7 +482,7 @@ TEST_F(AlternateProtocolServerPropertiesTest, ClearCanonical) { |
| AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); |
| - impl_.SetAlternateProtocol(canonical_port_pair, |
| + impl_.AddAlternateProtocol(canonical_port_pair, |
| canonical_protocol.port, |
| canonical_protocol.protocol, |
| canonical_protocol.probability); |
| @@ -468,12 +497,12 @@ TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBroken) { |
| AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); |
| - impl_.SetAlternateProtocol(canonical_port_pair, |
| + impl_.AddAlternateProtocol(canonical_port_pair, |
| canonical_protocol.port, |
| canonical_protocol.protocol, |
| canonical_protocol.probability); |
| - impl_.SetBrokenAlternateProtocol(canonical_port_pair); |
| + impl_.SetBrokenAlternateProtocol(canonical_port_pair, canonical_protocol); |
| EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
| } |
| @@ -483,7 +512,7 @@ TEST_F(AlternateProtocolServerPropertiesTest, ClearWithCanonical) { |
| AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); |
| - impl_.SetAlternateProtocol(canonical_port_pair, |
| + impl_.AddAlternateProtocol(canonical_port_pair, |
| canonical_protocol.port, |
| canonical_protocol.protocol, |
| canonical_protocol.probability); |