| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "net/http/http_server_properties_impl.h" | 5 #include "net/http/http_server_properties_impl.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 *os << alternative_service.ToString(); | 43 *os << alternative_service.ToString(); |
| 44 } | 44 } |
| 45 | 45 |
| 46 namespace { | 46 namespace { |
| 47 | 47 |
| 48 const int kMaxSupportsSpdyServerHosts = 500; | 48 const int kMaxSupportsSpdyServerHosts = 500; |
| 49 const SpdySettingsIds kSpdySettingsId = SETTINGS_UPLOAD_BANDWIDTH; | 49 const SpdySettingsIds kSpdySettingsId = SETTINGS_UPLOAD_BANDWIDTH; |
| 50 const SpdySettingsFlags kSpdySettingsFlags = SETTINGS_FLAG_PERSISTED; | 50 const SpdySettingsFlags kSpdySettingsFlags = SETTINGS_FLAG_PERSISTED; |
| 51 | 51 |
| 52 struct SpdySettingsDataToVerify { | 52 struct SpdySettingsDataToVerify { |
| 53 HostPortPair spdy_server; | 53 url::SchemeHostPort spdy_server; |
| 54 uint32_t value; | 54 uint32_t value; |
| 55 }; | 55 }; |
| 56 | 56 |
| 57 class HttpServerPropertiesImplTest : public testing::Test { | 57 class HttpServerPropertiesImplTest : public testing::Test { |
| 58 protected: | 58 protected: |
| 59 bool HasAlternativeService(const HostPortPair& origin) { | 59 bool HasAlternativeService(const HostPortPair& origin) { |
| 60 const AlternativeServiceVector alternative_service_vector = | 60 const AlternativeServiceVector alternative_service_vector = |
| 61 impl_.GetAlternativeServices(origin); | 61 impl_.GetAlternativeServices(origin); |
| 62 return !alternative_service_vector.empty(); | 62 return !alternative_service_vector.empty(); |
| 63 } | 63 } |
| 64 | 64 |
| 65 bool SetAlternativeService(const HostPortPair& origin, | 65 bool SetAlternativeService(const HostPortPair& origin, |
| 66 const AlternativeService& alternative_service) { | 66 const AlternativeService& alternative_service) { |
| 67 const base::Time expiration = | 67 const base::Time expiration = |
| 68 base::Time::Now() + base::TimeDelta::FromDays(1); | 68 base::Time::Now() + base::TimeDelta::FromDays(1); |
| 69 return impl_.SetAlternativeService(origin, alternative_service, expiration); | 69 return impl_.SetAlternativeService(origin, alternative_service, expiration); |
| 70 } | 70 } |
| 71 | 71 |
| 72 void InitializeSpdySettingsUploadBandwidth(SpdySettingsMap* spdy_settings_map, | 72 void InitializeSpdySettingsUploadBandwidth( |
| 73 const HostPortPair& spdy_server, | 73 SpdySettingsMap* spdy_settings_map, |
| 74 uint32_t value) { | 74 const url::SchemeHostPort& spdy_server, |
| 75 uint32_t value) { |
| 75 SettingsMap settings_map; | 76 SettingsMap settings_map; |
| 76 settings_map[kSpdySettingsId] = | 77 settings_map[kSpdySettingsId] = |
| 77 SettingsFlagsAndValue(kSpdySettingsFlags, value); | 78 SettingsFlagsAndValue(kSpdySettingsFlags, value); |
| 78 spdy_settings_map->Put(spdy_server, settings_map); | 79 spdy_settings_map->Put(spdy_server, settings_map); |
| 79 } | 80 } |
| 80 | 81 |
| 81 void VerifySpdySettingsUploadBandwidth( | 82 void VerifySpdySettingsUploadBandwidth( |
| 82 const SpdySettingsDataToVerify* data_to_verify) { | 83 const SpdySettingsDataToVerify* data_to_verify) { |
| 83 const SpdySettingsMap& spdy_settings_map = impl_.spdy_settings_map(); | 84 const SpdySettingsMap& spdy_settings_map = impl_.spdy_settings_map(); |
| 84 int count = 0; | 85 int count = 0; |
| (...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 967 | 968 |
| 968 EXPECT_TRUE( | 969 EXPECT_TRUE( |
| 969 impl_.WasAlternativeServiceRecentlyBroken(bar_alternative_service)); | 970 impl_.WasAlternativeServiceRecentlyBroken(bar_alternative_service)); |
| 970 EXPECT_FALSE( | 971 EXPECT_FALSE( |
| 971 impl_.WasAlternativeServiceRecentlyBroken(baz_alternative_service)); | 972 impl_.WasAlternativeServiceRecentlyBroken(baz_alternative_service)); |
| 972 } | 973 } |
| 973 | 974 |
| 974 typedef HttpServerPropertiesImplTest SpdySettingsServerPropertiesTest; | 975 typedef HttpServerPropertiesImplTest SpdySettingsServerPropertiesTest; |
| 975 | 976 |
| 976 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { | 977 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { |
| 977 HostPortPair spdy_server_google("www.google.com", 443); | 978 url::SchemeHostPort spdy_server_google("https", "www.google.com", 443); |
| 978 HostPortPair spdy_server_photos("photos.google.com", 443); | 979 url::SchemeHostPort spdy_server_photos("https", "photos.google.com", 443); |
| 979 HostPortPair spdy_server_docs("docs.google.com", 443); | 980 url::SchemeHostPort spdy_server_docs("https", "docs.google.com", 443); |
| 980 HostPortPair spdy_server_mail("mail.google.com", 443); | 981 url::SchemeHostPort spdy_server_mail("https", "mail.google.com", 443); |
| 981 | 982 |
| 982 // Check by initializing empty spdy settings. | 983 // Check by initializing empty spdy settings. |
| 983 SpdySettingsMap spdy_settings_map(SpdySettingsMap::NO_AUTO_EVICT); | 984 SpdySettingsMap spdy_settings_map(SpdySettingsMap::NO_AUTO_EVICT); |
| 984 impl_.InitializeSpdySettingsServers(&spdy_settings_map); | 985 impl_.InitializeSpdySettingsServers(&spdy_settings_map); |
| 985 EXPECT_TRUE(impl_.GetSpdySettings(spdy_server_google).empty()); | 986 EXPECT_TRUE(impl_.GetSpdySettings(spdy_server_google).empty()); |
| 986 | 987 |
| 987 // Check by initializing spdy server settings for www.google.com:443 and | 988 // Check by initializing spdy server settings for www.google.com:443 and |
| 988 // photos.google.com:443. | 989 // photos.google.com:443. |
| 989 const SpdySettingsDataToVerify data_to_verify1[] = { | 990 const SpdySettingsDataToVerify data_to_verify1[] = { |
| 990 {spdy_server_google, 10000}, {spdy_server_photos, 20000}, | 991 {spdy_server_google, 10000}, {spdy_server_photos, 20000}, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 data_to_verify3[3].spdy_server, | 1033 data_to_verify3[3].spdy_server, |
| 1033 data_to_verify3[3].value); | 1034 data_to_verify3[3].value); |
| 1034 InitializeSpdySettingsUploadBandwidth(&spdy_settings_map3, | 1035 InitializeSpdySettingsUploadBandwidth(&spdy_settings_map3, |
| 1035 data_to_verify3[1].spdy_server, | 1036 data_to_verify3[1].spdy_server, |
| 1036 data_to_verify3[1].value); | 1037 data_to_verify3[1].value); |
| 1037 impl_.InitializeSpdySettingsServers(&spdy_settings_map3); | 1038 impl_.InitializeSpdySettingsServers(&spdy_settings_map3); |
| 1038 VerifySpdySettingsUploadBandwidth(data_to_verify3); | 1039 VerifySpdySettingsUploadBandwidth(data_to_verify3); |
| 1039 } | 1040 } |
| 1040 | 1041 |
| 1041 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { | 1042 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { |
| 1042 HostPortPair spdy_server_empty(std::string(), 443); | 1043 url::SchemeHostPort spdy_server_empty("https", std::string(), 443); |
| 1043 const SettingsMap& settings_map0 = impl_.GetSpdySettings(spdy_server_empty); | 1044 const SettingsMap& settings_map0 = impl_.GetSpdySettings(spdy_server_empty); |
| 1044 EXPECT_EQ(0U, settings_map0.size()); // Returns kEmptySettingsMap. | 1045 EXPECT_EQ(0U, settings_map0.size()); // Returns kEmptySettingsMap. |
| 1045 | 1046 |
| 1046 // Add www.google.com:443 as persisting. | 1047 // Add www.google.com:443 as persisting. |
| 1047 HostPortPair spdy_server_google("www.google.com", 443); | 1048 url::SchemeHostPort spdy_server_google("https", "www.google.com", 443); |
| 1048 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; | 1049 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; |
| 1049 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; | 1050 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1050 const uint32_t value1 = 31337; | 1051 const uint32_t value1 = 31337; |
| 1051 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); | 1052 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); |
| 1052 // Check the values. | 1053 // Check the values. |
| 1053 const SettingsMap& settings_map1_ret = | 1054 const SettingsMap& settings_map1_ret = |
| 1054 impl_.GetSpdySettings(spdy_server_google); | 1055 impl_.GetSpdySettings(spdy_server_google); |
| 1055 ASSERT_EQ(1U, settings_map1_ret.size()); | 1056 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 1056 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); | 1057 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 1057 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); | 1058 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); |
| 1058 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; | 1059 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 1059 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); | 1060 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 1060 EXPECT_EQ(value1, flags_and_value1_ret.second); | 1061 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 1061 | 1062 |
| 1062 // Add mail.google.com:443 as not persisting. | 1063 // Add mail.google.com:443 as not persisting. |
| 1063 HostPortPair spdy_server_mail("mail.google.com", 443); | 1064 url::SchemeHostPort spdy_server_mail("https", "mail.google.com", 443); |
| 1064 const SpdySettingsIds id2 = SETTINGS_DOWNLOAD_BANDWIDTH; | 1065 const SpdySettingsIds id2 = SETTINGS_DOWNLOAD_BANDWIDTH; |
| 1065 const SpdySettingsFlags flags2 = SETTINGS_FLAG_NONE; | 1066 const SpdySettingsFlags flags2 = SETTINGS_FLAG_NONE; |
| 1066 const uint32_t value2 = 62667; | 1067 const uint32_t value2 = 62667; |
| 1067 EXPECT_FALSE(impl_.SetSpdySetting(spdy_server_mail, id2, flags2, value2)); | 1068 EXPECT_FALSE(impl_.SetSpdySetting(spdy_server_mail, id2, flags2, value2)); |
| 1068 const SettingsMap& settings_map2_ret = | 1069 const SettingsMap& settings_map2_ret = |
| 1069 impl_.GetSpdySettings(spdy_server_mail); | 1070 impl_.GetSpdySettings(spdy_server_mail); |
| 1070 EXPECT_EQ(0U, settings_map2_ret.size()); // Returns kEmptySettingsMap. | 1071 EXPECT_EQ(0U, settings_map2_ret.size()); // Returns kEmptySettingsMap. |
| 1071 | 1072 |
| 1072 // Add docs.google.com:443 as persisting | 1073 // Add docs.google.com:443 as persisting |
| 1073 HostPortPair spdy_server_docs("docs.google.com", 443); | 1074 url::SchemeHostPort spdy_server_docs("https", "docs.google.com", 443); |
| 1074 const SpdySettingsIds id3 = SETTINGS_ROUND_TRIP_TIME; | 1075 const SpdySettingsIds id3 = SETTINGS_ROUND_TRIP_TIME; |
| 1075 const SpdySettingsFlags flags3 = SETTINGS_FLAG_PLEASE_PERSIST; | 1076 const SpdySettingsFlags flags3 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1076 const uint32_t value3 = 93997; | 1077 const uint32_t value3 = 93997; |
| 1077 SettingsFlagsAndValue flags_and_value3(flags3, value3); | 1078 SettingsFlagsAndValue flags_and_value3(flags3, value3); |
| 1078 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags3, value3)); | 1079 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags3, value3)); |
| 1079 // Check the values. | 1080 // Check the values. |
| 1080 const SettingsMap& settings_map3_ret = | 1081 const SettingsMap& settings_map3_ret = |
| 1081 impl_.GetSpdySettings(spdy_server_docs); | 1082 impl_.GetSpdySettings(spdy_server_docs); |
| 1082 ASSERT_EQ(1U, settings_map3_ret.size()); | 1083 ASSERT_EQ(1U, settings_map3_ret.size()); |
| 1083 SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); | 1084 SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1102 const SettingsMap& settings_map5_ret = | 1103 const SettingsMap& settings_map5_ret = |
| 1103 impl_.GetSpdySettings(spdy_server_google); | 1104 impl_.GetSpdySettings(spdy_server_google); |
| 1104 ASSERT_EQ(0U, settings_map5_ret.size()); | 1105 ASSERT_EQ(0U, settings_map5_ret.size()); |
| 1105 | 1106 |
| 1106 // Clear all settings. | 1107 // Clear all settings. |
| 1107 ASSERT_GT(impl_.spdy_settings_map().size(), 0U); | 1108 ASSERT_GT(impl_.spdy_settings_map().size(), 0U); |
| 1108 impl_.ClearAllSpdySettings(); | 1109 impl_.ClearAllSpdySettings(); |
| 1109 ASSERT_EQ(0U, impl_.spdy_settings_map().size()); | 1110 ASSERT_EQ(0U, impl_.spdy_settings_map().size()); |
| 1110 } | 1111 } |
| 1111 | 1112 |
| 1113 TEST_F(SpdySettingsServerPropertiesTest, SpdySettingWithSchemeHostPort) { |
| 1114 // Test SpdySettingMap is correctly maintained with setting and |
| 1115 // clearing method. |
| 1116 // Add https://www.google.com:443 as persisting. |
| 1117 url::SchemeHostPort https_www_server("https", "www.google.com", 443); |
| 1118 url::SchemeHostPort http_www_server("http", "www.google.com", 443); |
| 1119 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; |
| 1120 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1121 const uint32_t value1 = 31337; |
| 1122 EXPECT_TRUE(impl_.SetSpdySetting(https_www_server, id1, flags1, value1)); |
| 1123 // Check the values. |
| 1124 const SettingsMap& settings_map1_ret = |
| 1125 impl_.GetSpdySettings(https_www_server); |
| 1126 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 1127 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 1128 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); |
| 1129 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 1130 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 1131 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 1132 // Check the values is not set for http server. |
| 1133 const SettingsMap& settings_map1_ret2 = |
| 1134 impl_.GetSpdySettings(http_www_server); |
| 1135 ASSERT_EQ(0U, settings_map1_ret2.size()); |
| 1136 |
| 1137 // Add http://www.google.com:443 as persisting |
| 1138 const SpdySettingsIds id2 = SETTINGS_ROUND_TRIP_TIME; |
| 1139 const SpdySettingsFlags flags2 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1140 const uint32_t value2 = 93997; |
| 1141 SettingsFlagsAndValue flags_and_value2(flags2, value2); |
| 1142 EXPECT_TRUE(impl_.SetSpdySetting(http_www_server, id2, flags2, value2)); |
| 1143 // Check the values. |
| 1144 const SettingsMap& settings_map2_ret = impl_.GetSpdySettings(http_www_server); |
| 1145 ASSERT_EQ(1U, settings_map2_ret.size()); |
| 1146 SettingsMap::const_iterator it2_ret = settings_map2_ret.find(id2); |
| 1147 EXPECT_TRUE(it2_ret != settings_map2_ret.end()); |
| 1148 SettingsFlagsAndValue flags_and_value2_ret = it2_ret->second; |
| 1149 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value2_ret.first); |
| 1150 EXPECT_EQ(value2, flags_and_value2_ret.second); |
| 1151 |
| 1152 // Clear https://www.google.com:443 as persisting. |
| 1153 impl_.ClearSpdySettings(https_www_server); |
| 1154 // Check the values. |
| 1155 const SettingsMap& settings_map3_ret = |
| 1156 impl_.GetSpdySettings(https_www_server); |
| 1157 ASSERT_EQ(0U, settings_map3_ret.size()); |
| 1158 // Check the setting is not cleared for http server. |
| 1159 const SettingsMap& settings_map3_ret2 = |
| 1160 impl_.GetSpdySettings(http_www_server); |
| 1161 ASSERT_EQ(1U, settings_map3_ret2.size()); |
| 1162 |
| 1163 // Clear all settings. |
| 1164 ASSERT_GT(impl_.spdy_settings_map().size(), 0U); |
| 1165 impl_.ClearAllSpdySettings(); |
| 1166 ASSERT_EQ(0U, impl_.spdy_settings_map().size()); |
| 1167 } |
| 1168 |
| 1112 TEST_F(SpdySettingsServerPropertiesTest, Clear) { | 1169 TEST_F(SpdySettingsServerPropertiesTest, Clear) { |
| 1113 // Add www.google.com:443 as persisting. | 1170 // Add www.google.com:443 as persisting. |
| 1114 HostPortPair spdy_server_google("www.google.com", 443); | 1171 url::SchemeHostPort spdy_server_google("https", "www.google.com", 443); |
| 1115 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; | 1172 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; |
| 1116 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; | 1173 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1117 const uint32_t value1 = 31337; | 1174 const uint32_t value1 = 31337; |
| 1118 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); | 1175 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); |
| 1119 // Check the values. | 1176 // Check the values. |
| 1120 const SettingsMap& settings_map1_ret = | 1177 const SettingsMap& settings_map1_ret = |
| 1121 impl_.GetSpdySettings(spdy_server_google); | 1178 impl_.GetSpdySettings(spdy_server_google); |
| 1122 ASSERT_EQ(1U, settings_map1_ret.size()); | 1179 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 1123 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); | 1180 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 1124 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); | 1181 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); |
| 1125 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; | 1182 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 1126 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); | 1183 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 1127 EXPECT_EQ(value1, flags_and_value1_ret.second); | 1184 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 1128 | 1185 |
| 1129 // Add docs.google.com:443 as persisting | 1186 // Add docs.google.com:443 as persisting |
| 1130 HostPortPair spdy_server_docs("docs.google.com", 443); | 1187 url::SchemeHostPort spdy_server_docs("https", "docs.google.com", 443); |
| 1131 const SpdySettingsIds id3 = SETTINGS_ROUND_TRIP_TIME; | 1188 const SpdySettingsIds id3 = SETTINGS_ROUND_TRIP_TIME; |
| 1132 const SpdySettingsFlags flags3 = SETTINGS_FLAG_PLEASE_PERSIST; | 1189 const SpdySettingsFlags flags3 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1133 const uint32_t value3 = 93997; | 1190 const uint32_t value3 = 93997; |
| 1134 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags3, value3)); | 1191 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags3, value3)); |
| 1135 // Check the values. | 1192 // Check the values. |
| 1136 const SettingsMap& settings_map3_ret = | 1193 const SettingsMap& settings_map3_ret = |
| 1137 impl_.GetSpdySettings(spdy_server_docs); | 1194 impl_.GetSpdySettings(spdy_server_docs); |
| 1138 ASSERT_EQ(1U, settings_map3_ret.size()); | 1195 ASSERT_EQ(1U, settings_map3_ret.size()); |
| 1139 SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); | 1196 SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); |
| 1140 EXPECT_TRUE(it3_ret != settings_map3_ret.end()); | 1197 EXPECT_TRUE(it3_ret != settings_map3_ret.end()); |
| 1141 SettingsFlagsAndValue flags_and_value3_ret = it3_ret->second; | 1198 SettingsFlagsAndValue flags_and_value3_ret = it3_ret->second; |
| 1142 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value3_ret.first); | 1199 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value3_ret.first); |
| 1143 EXPECT_EQ(value3, flags_and_value3_ret.second); | 1200 EXPECT_EQ(value3, flags_and_value3_ret.second); |
| 1144 | 1201 |
| 1145 impl_.Clear(); | 1202 impl_.Clear(); |
| 1146 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); | 1203 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); |
| 1147 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); | 1204 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); |
| 1148 } | 1205 } |
| 1149 | 1206 |
| 1150 TEST_F(SpdySettingsServerPropertiesTest, MRUOfGetSpdySettings) { | 1207 TEST_F(SpdySettingsServerPropertiesTest, MRUOfGetSpdySettings) { |
| 1151 // Add www.google.com:443 as persisting. | 1208 // Add www.google.com:443 as persisting. |
| 1152 HostPortPair spdy_server_google("www.google.com", 443); | 1209 url::SchemeHostPort spdy_server_google("https", "www.google.com", 443); |
| 1153 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; | 1210 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; |
| 1154 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; | 1211 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1155 const uint32_t value1 = 31337; | 1212 const uint32_t value1 = 31337; |
| 1156 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); | 1213 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags1, value1)); |
| 1157 | 1214 |
| 1158 // Add docs.google.com:443 as persisting | 1215 // Add docs.google.com:443 as persisting |
| 1159 HostPortPair spdy_server_docs("docs.google.com", 443); | 1216 url::SchemeHostPort spdy_server_docs("https", "docs.google.com", 443); |
| 1160 const SpdySettingsIds id2 = SETTINGS_ROUND_TRIP_TIME; | 1217 const SpdySettingsIds id2 = SETTINGS_ROUND_TRIP_TIME; |
| 1161 const SpdySettingsFlags flags2 = SETTINGS_FLAG_PLEASE_PERSIST; | 1218 const SpdySettingsFlags flags2 = SETTINGS_FLAG_PLEASE_PERSIST; |
| 1162 const uint32_t value2 = 93997; | 1219 const uint32_t value2 = 93997; |
| 1163 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id2, flags2, value2)); | 1220 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id2, flags2, value2)); |
| 1164 | 1221 |
| 1165 // Verify the first element is docs.google.com:443. | 1222 // Verify the first element is docs.google.com:443. |
| 1166 const SpdySettingsMap& map = impl_.spdy_settings_map(); | 1223 const SpdySettingsMap& map = impl_.spdy_settings_map(); |
| 1167 SpdySettingsMap::const_iterator it = map.begin(); | 1224 SpdySettingsMap::const_iterator it = map.begin(); |
| 1168 EXPECT_TRUE(it->first.Equals(spdy_server_docs)); | 1225 EXPECT_TRUE(it->first.Equals(spdy_server_docs)); |
| 1169 const SettingsMap& settings_map2_ret = it->second; | 1226 const SettingsMap& settings_map2_ret = it->second; |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1422 EXPECT_EQ(quic_server_info1, *(impl_.GetQuicServerInfo(quic_server_id))); | 1479 EXPECT_EQ(quic_server_info1, *(impl_.GetQuicServerInfo(quic_server_id))); |
| 1423 | 1480 |
| 1424 impl_.Clear(); | 1481 impl_.Clear(); |
| 1425 EXPECT_EQ(0u, impl_.quic_server_info_map().size()); | 1482 EXPECT_EQ(0u, impl_.quic_server_info_map().size()); |
| 1426 EXPECT_EQ(nullptr, impl_.GetQuicServerInfo(quic_server_id)); | 1483 EXPECT_EQ(nullptr, impl_.GetQuicServerInfo(quic_server_id)); |
| 1427 } | 1484 } |
| 1428 | 1485 |
| 1429 } // namespace | 1486 } // namespace |
| 1430 | 1487 |
| 1431 } // namespace net | 1488 } // namespace net |
| OLD | NEW |