| 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 a144e674ef17da1685be001474c3a4edb70f36f3..3662c9590ae786a041acfc1f664844a74c09ea8c 100644
|
| --- a/net/http/http_server_properties_impl_unittest.cc
|
| +++ b/net/http/http_server_properties_impl_unittest.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/values.h"
|
| #include "net/base/host_port_pair.h"
|
| #include "net/base/ip_address.h"
|
| +#include "net/http/http_network_session.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "url/gurl.h"
|
|
|
| @@ -78,7 +79,14 @@ class HttpServerPropertiesImplTest : public testing::Test {
|
| const AlternativeService& alternative_service) {
|
| const base::Time expiration =
|
| base::Time::Now() + base::TimeDelta::FromDays(1);
|
| - return impl_.SetAlternativeService(origin, alternative_service, expiration);
|
| + if (alternative_service.protocol == kProtoQUIC) {
|
| + return impl_.SetQuicAlternativeService(
|
| + origin, alternative_service, expiration,
|
| + HttpNetworkSession::Params().quic_supported_versions);
|
| + } else {
|
| + return impl_.SetHttp2AlternativeService(origin, alternative_service,
|
| + expiration);
|
| + }
|
| }
|
|
|
| void MarkBrokenAndLetExpireAlternativeServiceNTimes(
|
| @@ -389,20 +397,25 @@ TEST_F(AlternateProtocolServerPropertiesTest, ExcludeOrigin) {
|
| AlternativeServiceInfoVector alternative_service_info_vector;
|
| base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
|
| // Same hostname, same port, TCP: should be ignored.
|
| - AlternativeServiceInfo alternative_service_info1(kProtoHTTP2, "foo", 443,
|
| - expiration);
|
| + AlternativeServiceInfo alternative_service_info1 =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + AlternativeService(kProtoHTTP2, "foo", 443), expiration);
|
| alternative_service_info_vector.push_back(alternative_service_info1);
|
| // Different hostname: GetAlternativeServiceInfos should return this one.
|
| - AlternativeServiceInfo alternative_service_info2(kProtoHTTP2, "bar", 443,
|
| - expiration);
|
| + AlternativeServiceInfo alternative_service_info2 =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + AlternativeService(kProtoHTTP2, "bar", 443), expiration);
|
| alternative_service_info_vector.push_back(alternative_service_info2);
|
| // Different port: GetAlternativeServiceInfos should return this one too.
|
| - AlternativeServiceInfo alternative_service_info3(kProtoHTTP2, "foo", 80,
|
| - expiration);
|
| + AlternativeServiceInfo alternative_service_info3 =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + AlternativeService(kProtoHTTP2, "foo", 80), expiration);
|
| alternative_service_info_vector.push_back(alternative_service_info3);
|
| // QUIC: GetAlternativeServices should return this one too.
|
| - AlternativeServiceInfo alternative_service_info4(kProtoQUIC, "foo", 443,
|
| - expiration);
|
| + AlternativeServiceInfo alternative_service_info4 =
|
| + AlternativeServiceInfo::CreateQuicAlternativeServiceInfo(
|
| + AlternativeService(kProtoQUIC, "foo", 443), expiration,
|
| + HttpNetworkSession::Params().quic_supported_versions);
|
| alternative_service_info_vector.push_back(alternative_service_info4);
|
|
|
| url::SchemeHostPort test_server("https", "foo", 443);
|
| @@ -426,7 +439,8 @@ TEST_F(AlternateProtocolServerPropertiesTest, Set) {
|
| const base::Time now = base::Time::Now();
|
| base::Time expiration1 = now + base::TimeDelta::FromDays(1);
|
| // 1st entry in the memory.
|
| - impl_.SetAlternativeService(test_server1, alternative_service1, expiration1);
|
| + impl_.SetHttp2AlternativeService(test_server1, alternative_service1,
|
| + expiration1);
|
|
|
| // |test_server2| has an alternative service, which will be
|
| // overwritten by SetAlternativeServiceServers(), because
|
| @@ -436,7 +450,8 @@ TEST_F(AlternateProtocolServerPropertiesTest, Set) {
|
| const AlternativeService alternative_service2(kProtoHTTP2, "bar2", 443);
|
| base::Time expiration2 = now + base::TimeDelta::FromDays(2);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service2, expiration2));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service2, expiration2));
|
| url::SchemeHostPort test_server2("http", "foo2", 80);
|
| // 0th entry in the memory.
|
| impl_.SetAlternativeServices(test_server2, alternative_service_info_vector);
|
| @@ -447,8 +462,9 @@ TEST_F(AlternateProtocolServerPropertiesTest, Set) {
|
| AlternativeServiceMap::NO_AUTO_EVICT);
|
| const AlternativeService alternative_service3(kProtoHTTP2, "bar3", 123);
|
| base::Time expiration3 = now + base::TimeDelta::FromDays(3);
|
| - const AlternativeServiceInfo alternative_service_info1(alternative_service3,
|
| - expiration3);
|
| + const AlternativeServiceInfo alternative_service_info1 =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service3, expiration3);
|
| // Simulate updating data for 0th entry with data from Preferences.
|
| alternative_service_map.Put(
|
| test_server2,
|
| @@ -457,8 +473,9 @@ TEST_F(AlternateProtocolServerPropertiesTest, Set) {
|
| url::SchemeHostPort test_server3("http", "foo3", 80);
|
| const AlternativeService alternative_service4(kProtoHTTP2, "bar4", 1234);
|
| base::Time expiration4 = now + base::TimeDelta::FromDays(4);
|
| - const AlternativeServiceInfo alternative_service_info2(alternative_service4,
|
| - expiration4);
|
| + const AlternativeServiceInfo alternative_service_info2 =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service4, expiration4);
|
| // Add an old entry from Preferences, this will be added to end of recency
|
| // list.
|
| alternative_service_map.Put(
|
| @@ -521,8 +538,9 @@ TEST_F(AlternateProtocolServerPropertiesTest, EmptyVector) {
|
| url::SchemeHostPort server("https", "foo", 443);
|
| const AlternativeService alternative_service(kProtoHTTP2, "bar", 443);
|
| base::Time expiration = base::Time::Now() - base::TimeDelta::FromDays(1);
|
| - const AlternativeServiceInfo alternative_service_info(alternative_service,
|
| - expiration);
|
| + const AlternativeServiceInfo alternative_service_info =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service, expiration);
|
| AlternativeServiceMap alternative_service_map(
|
| AlternativeServiceMap::NO_AUTO_EVICT);
|
| alternative_service_map.Put(
|
| @@ -554,8 +572,9 @@ TEST_F(AlternateProtocolServerPropertiesTest, EmptyVectorForCanonical) {
|
| url::SchemeHostPort canonical_server("https", "bar.c.youtube.com", 443);
|
| const AlternativeService alternative_service(kProtoHTTP2, "", 443);
|
| base::Time expiration = base::Time::Now() - base::TimeDelta::FromDays(1);
|
| - const AlternativeServiceInfo alternative_service_info(alternative_service,
|
| - expiration);
|
| + const AlternativeServiceInfo alternative_service_info =
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service, expiration);
|
| AlternativeServiceMap alternative_service_map(
|
| AlternativeServiceMap::NO_AUTO_EVICT);
|
| alternative_service_map.Put(
|
| @@ -588,8 +607,10 @@ TEST_F(AlternateProtocolServerPropertiesTest, ClearServerWithCanonical) {
|
| url::SchemeHostPort canonical_server("https", "bar.c.youtube.com", 443);
|
| const AlternativeService alternative_service(kProtoQUIC, "", 443);
|
| base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
|
| - const AlternativeServiceInfo alternative_service_info(alternative_service,
|
| - expiration);
|
| + const AlternativeServiceInfo alternative_service_info =
|
| + AlternativeServiceInfo::CreateQuicAlternativeServiceInfo(
|
| + alternative_service, expiration,
|
| + HttpNetworkSession::Params().quic_supported_versions);
|
|
|
| impl_.SetAlternativeServices(
|
| canonical_server,
|
| @@ -663,10 +684,12 @@ TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) {
|
| AlternativeServiceInfoVector alternative_service_info_vector2;
|
| base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
|
| alternative_service_info_vector2.push_back(
|
| - AlternativeServiceInfo(alternative_service1, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service1, expiration));
|
| const AlternativeService alternative_service2(kProtoHTTP2, "foo", 1234);
|
| alternative_service_info_vector2.push_back(
|
| - AlternativeServiceInfo(alternative_service2, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service2, expiration));
|
| impl_.SetAlternativeServices(test_server, alternative_service_info_vector2);
|
| alternative_service_info_vector =
|
| impl_.GetAlternativeServiceInfos(test_server);
|
| @@ -697,13 +720,15 @@ TEST_F(AlternateProtocolServerPropertiesTest, MaxAge) {
|
| // GetAlternativeServiceInfos().
|
| const AlternativeService alternative_service1(kProtoHTTP2, "foo", 443);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service1, now - one_day));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service1, now - one_day));
|
|
|
| // Second alterrnative service will expire one day from now, should be
|
| // returned by GetAlternativeSerices().
|
| const AlternativeService alternative_service2(kProtoHTTP2, "bar", 1234);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service2, now + one_day));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service2, now + one_day));
|
|
|
| url::SchemeHostPort test_server("http", "foo", 80);
|
| impl_.SetAlternativeServices(test_server, alternative_service_info_vector);
|
| @@ -724,13 +749,15 @@ TEST_F(AlternateProtocolServerPropertiesTest, MaxAgeCanonical) {
|
| // GetAlternativeServiceInfos().
|
| const AlternativeService alternative_service1(kProtoHTTP2, "foo", 443);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service1, now - one_day));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service1, now - one_day));
|
|
|
| // Second alterrnative service will expire one day from now, should be
|
| // returned by GetAlternativeSerices().
|
| const AlternativeService alternative_service2(kProtoHTTP2, "bar", 1234);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service2, now + one_day));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service2, now + one_day));
|
|
|
| url::SchemeHostPort canonical_server("https", "bar.c.youtube.com", 443);
|
| impl_.SetAlternativeServices(canonical_server,
|
| @@ -749,10 +776,12 @@ TEST_F(AlternateProtocolServerPropertiesTest, AlternativeServiceWithScheme) {
|
| const AlternativeService alternative_service1(kProtoHTTP2, "foo", 443);
|
| base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service1, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service1, expiration));
|
| const AlternativeService alternative_service2(kProtoHTTP2, "bar", 1234);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service2, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service2, expiration));
|
| // Set Alt-Svc list for |http_server|.
|
| url::SchemeHostPort http_server("http", "foo", 80);
|
| impl_.SetAlternativeServices(http_server, alternative_service_info_vector);
|
| @@ -785,10 +814,12 @@ TEST_F(AlternateProtocolServerPropertiesTest, ClearAlternativeServices) {
|
| const AlternativeService alternative_service1(kProtoHTTP2, "foo", 443);
|
| base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service1, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service1, expiration));
|
| const AlternativeService alternative_service2(kProtoHTTP2, "bar", 1234);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(alternative_service2, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + alternative_service2, expiration));
|
| url::SchemeHostPort test_server("http", "foo", 80);
|
| impl_.SetAlternativeServices(test_server, alternative_service_info_vector);
|
|
|
| @@ -874,10 +905,12 @@ TEST_F(AlternateProtocolServerPropertiesTest, Canonical) {
|
| kProtoQUIC, "bar.c.youtube.com", 1234);
|
| base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(canonical_alternative_service1, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + canonical_alternative_service1, expiration));
|
| const AlternativeService canonical_alternative_service2(kProtoHTTP2, "", 443);
|
| alternative_service_info_vector.push_back(
|
| - AlternativeServiceInfo(canonical_alternative_service2, expiration));
|
| + AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
|
| + canonical_alternative_service2, expiration));
|
| impl_.SetAlternativeServices(canonical_server,
|
| alternative_service_info_vector);
|
|
|
|
|