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

Side by Side Diff: net/http/http_server_properties_impl_unittest.cc

Issue 1878273004: SHP 3: Change ServerNetworkStatsMap to use SchemeHostPort as the key. No change to Pref data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git sync Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « net/http/http_server_properties_impl.cc ('k') | net/http/http_server_properties_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1275 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 EXPECT_EQ(actual_address, address); 1286 EXPECT_EQ(actual_address, address);
1287 1287
1288 impl_.Clear(); 1288 impl_.Clear();
1289 1289
1290 EXPECT_FALSE(impl_.GetSupportsQuic(&address)); 1290 EXPECT_FALSE(impl_.GetSupportsQuic(&address));
1291 } 1291 }
1292 1292
1293 typedef HttpServerPropertiesImplTest ServerNetworkStatsServerPropertiesTest; 1293 typedef HttpServerPropertiesImplTest ServerNetworkStatsServerPropertiesTest;
1294 1294
1295 TEST_F(ServerNetworkStatsServerPropertiesTest, Initialize) { 1295 TEST_F(ServerNetworkStatsServerPropertiesTest, Initialize) {
1296 HostPortPair google_server("www.google.com", 443); 1296 url::SchemeHostPort google_server("https", "www.google.com", 443);
1297 1297
1298 // Check by initializing empty ServerNetworkStats. 1298 // Check by initializing empty ServerNetworkStats.
1299 ServerNetworkStatsMap init_server_network_stats_map( 1299 ServerNetworkStatsMap init_server_network_stats_map(
1300 ServerNetworkStatsMap::NO_AUTO_EVICT); 1300 ServerNetworkStatsMap::NO_AUTO_EVICT);
1301 impl_.InitializeServerNetworkStats(&init_server_network_stats_map); 1301 impl_.InitializeServerNetworkStats(&init_server_network_stats_map);
1302 const ServerNetworkStats* stats = impl_.GetServerNetworkStats(google_server); 1302 const ServerNetworkStats* stats = impl_.GetServerNetworkStats(google_server);
1303 EXPECT_EQ(NULL, stats); 1303 EXPECT_EQ(NULL, stats);
1304 1304
1305 // Check by initializing with www.google.com:443. 1305 // Check by initializing with www.google.com:443.
1306 ServerNetworkStats stats_google; 1306 ServerNetworkStats stats_google;
1307 stats_google.srtt = base::TimeDelta::FromMicroseconds(10); 1307 stats_google.srtt = base::TimeDelta::FromMicroseconds(10);
1308 stats_google.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(100); 1308 stats_google.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(100);
1309 init_server_network_stats_map.Put(google_server, stats_google); 1309 init_server_network_stats_map.Put(google_server, stats_google);
1310 impl_.InitializeServerNetworkStats(&init_server_network_stats_map); 1310 impl_.InitializeServerNetworkStats(&init_server_network_stats_map);
1311 1311
1312 // Verify data for www.google.com:443. 1312 // Verify data for www.google.com:443.
1313 ASSERT_EQ(1u, impl_.server_network_stats_map().size()); 1313 ASSERT_EQ(1u, impl_.server_network_stats_map().size());
1314 EXPECT_EQ(stats_google, *(impl_.GetServerNetworkStats(google_server))); 1314 EXPECT_EQ(stats_google, *(impl_.GetServerNetworkStats(google_server)));
1315 1315
1316 // Test recency order and overwriting of data. 1316 // Test recency order and overwriting of data.
1317 // 1317 //
1318 // |docs_server| has a ServerNetworkStats, which will be overwritten by 1318 // |docs_server| has a ServerNetworkStats, which will be overwritten by
1319 // InitializeServerNetworkStats(), because |server_network_stats_map| has an 1319 // InitializeServerNetworkStats(), because |server_network_stats_map| has an
1320 // entry for |docs_server|. 1320 // entry for |docs_server|.
1321 HostPortPair docs_server("docs.google.com", 443); 1321 url::SchemeHostPort docs_server("https", "docs.google.com", 443);
1322 ServerNetworkStats stats_docs; 1322 ServerNetworkStats stats_docs;
1323 stats_docs.srtt = base::TimeDelta::FromMicroseconds(20); 1323 stats_docs.srtt = base::TimeDelta::FromMicroseconds(20);
1324 stats_docs.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(200); 1324 stats_docs.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(200);
1325 // Recency order will be |docs_server| and |google_server|. 1325 // Recency order will be |docs_server| and |google_server|.
1326 impl_.SetServerNetworkStats(docs_server, stats_docs); 1326 impl_.SetServerNetworkStats(docs_server, stats_docs);
1327 1327
1328 // Prepare |server_network_stats_map| to be loaded by 1328 // Prepare |server_network_stats_map| to be loaded by
1329 // InitializeServerNetworkStats(). 1329 // InitializeServerNetworkStats().
1330 ServerNetworkStatsMap server_network_stats_map( 1330 ServerNetworkStatsMap server_network_stats_map(
1331 ServerNetworkStatsMap::NO_AUTO_EVICT); 1331 ServerNetworkStatsMap::NO_AUTO_EVICT);
1332 1332
1333 // Change the values for |docs_server|. 1333 // Change the values for |docs_server|.
1334 ServerNetworkStats new_stats_docs; 1334 ServerNetworkStats new_stats_docs;
1335 new_stats_docs.srtt = base::TimeDelta::FromMicroseconds(25); 1335 new_stats_docs.srtt = base::TimeDelta::FromMicroseconds(25);
1336 new_stats_docs.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(250); 1336 new_stats_docs.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(250);
1337 server_network_stats_map.Put(docs_server, new_stats_docs); 1337 server_network_stats_map.Put(docs_server, new_stats_docs);
1338 // Add data for mail.google.com:443. 1338 // Add data for mail.google.com:443.
1339 HostPortPair mail_server("mail.google.com", 443); 1339 url::SchemeHostPort mail_server("https", "mail.google.com", 443);
1340 ServerNetworkStats stats_mail; 1340 ServerNetworkStats stats_mail;
1341 stats_mail.srtt = base::TimeDelta::FromMicroseconds(30); 1341 stats_mail.srtt = base::TimeDelta::FromMicroseconds(30);
1342 stats_mail.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(300); 1342 stats_mail.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(300);
1343 server_network_stats_map.Put(mail_server, stats_mail); 1343 server_network_stats_map.Put(mail_server, stats_mail);
1344 1344
1345 // Recency order will be |docs_server|, |google_server| and |mail_server|. 1345 // Recency order will be |docs_server|, |google_server| and |mail_server|.
1346 impl_.InitializeServerNetworkStats(&server_network_stats_map); 1346 impl_.InitializeServerNetworkStats(&server_network_stats_map);
1347 1347
1348 const ServerNetworkStatsMap& map = impl_.server_network_stats_map(); 1348 const ServerNetworkStatsMap& map = impl_.server_network_stats_map();
1349 ASSERT_EQ(3u, map.size()); 1349 ASSERT_EQ(3u, map.size());
1350 ServerNetworkStatsMap::const_iterator map_it = map.begin(); 1350 ServerNetworkStatsMap::const_iterator map_it = map.begin();
1351 1351
1352 EXPECT_TRUE(map_it->first.Equals(docs_server)); 1352 EXPECT_TRUE(map_it->first.Equals(docs_server));
1353 EXPECT_EQ(new_stats_docs, map_it->second); 1353 EXPECT_EQ(new_stats_docs, map_it->second);
1354 ++map_it; 1354 ++map_it;
1355 EXPECT_TRUE(map_it->first.Equals(google_server)); 1355 EXPECT_TRUE(map_it->first.Equals(google_server));
1356 EXPECT_EQ(stats_google, map_it->second); 1356 EXPECT_EQ(stats_google, map_it->second);
1357 ++map_it; 1357 ++map_it;
1358 EXPECT_TRUE(map_it->first.Equals(mail_server)); 1358 EXPECT_TRUE(map_it->first.Equals(mail_server));
1359 EXPECT_EQ(stats_mail, map_it->second); 1359 EXPECT_EQ(stats_mail, map_it->second);
1360 } 1360 }
1361 1361
1362 TEST_F(ServerNetworkStatsServerPropertiesTest, SetServerNetworkStats) { 1362 TEST_F(ServerNetworkStatsServerPropertiesTest, SetServerNetworkStats) {
1363 HostPortPair foo_server("foo", 80); 1363 url::SchemeHostPort foo_http_server("http", "foo", 443);
1364 const ServerNetworkStats* stats = impl_.GetServerNetworkStats(foo_server); 1364 url::SchemeHostPort foo_https_server("https", "foo", 443);
1365 EXPECT_EQ(NULL, stats); 1365 EXPECT_EQ(NULL, impl_.GetServerNetworkStats(foo_http_server));
1366 EXPECT_EQ(NULL, impl_.GetServerNetworkStats(foo_https_server));
1366 1367
1367 ServerNetworkStats stats1; 1368 ServerNetworkStats stats1;
1368 stats1.srtt = base::TimeDelta::FromMicroseconds(10); 1369 stats1.srtt = base::TimeDelta::FromMicroseconds(10);
1369 stats1.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(100); 1370 stats1.bandwidth_estimate = QuicBandwidth::FromBitsPerSecond(100);
1370 impl_.SetServerNetworkStats(foo_server, stats1); 1371 impl_.SetServerNetworkStats(foo_http_server, stats1);
1371 1372
1372 const ServerNetworkStats* stats2 = impl_.GetServerNetworkStats(foo_server); 1373 const ServerNetworkStats* stats2 =
1374 impl_.GetServerNetworkStats(foo_http_server);
1373 EXPECT_EQ(10, stats2->srtt.ToInternalValue()); 1375 EXPECT_EQ(10, stats2->srtt.ToInternalValue());
1374 EXPECT_EQ(100, stats2->bandwidth_estimate.ToBitsPerSecond()); 1376 EXPECT_EQ(100, stats2->bandwidth_estimate.ToBitsPerSecond());
1377 // Https server should have nothing set for server network stats.
1378 EXPECT_EQ(NULL, impl_.GetServerNetworkStats(foo_https_server));
1375 1379
1376 impl_.Clear(); 1380 impl_.Clear();
1377 const ServerNetworkStats* stats3 = impl_.GetServerNetworkStats(foo_server); 1381 EXPECT_EQ(NULL, impl_.GetServerNetworkStats(foo_http_server));
1378 EXPECT_EQ(NULL, stats3); 1382 EXPECT_EQ(NULL, impl_.GetServerNetworkStats(foo_https_server));
1379 } 1383 }
1380 1384
1381 typedef HttpServerPropertiesImplTest QuicServerInfoServerPropertiesTest; 1385 typedef HttpServerPropertiesImplTest QuicServerInfoServerPropertiesTest;
1382 1386
1383 TEST_F(QuicServerInfoServerPropertiesTest, Initialize) { 1387 TEST_F(QuicServerInfoServerPropertiesTest, Initialize) {
1384 HostPortPair google_server("www.google.com", 443); 1388 HostPortPair google_server("www.google.com", 443);
1385 QuicServerId google_quic_server_id(google_server, PRIVACY_MODE_ENABLED); 1389 QuicServerId google_quic_server_id(google_server, PRIVACY_MODE_ENABLED);
1386 1390
1387 EXPECT_EQ(QuicServerInfoMap::NO_AUTO_EVICT, 1391 EXPECT_EQ(QuicServerInfoMap::NO_AUTO_EVICT,
1388 impl_.quic_server_info_map().max_size()); 1392 impl_.quic_server_info_map().max_size());
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
1479 EXPECT_EQ(quic_server_info1, *(impl_.GetQuicServerInfo(quic_server_id))); 1483 EXPECT_EQ(quic_server_info1, *(impl_.GetQuicServerInfo(quic_server_id)));
1480 1484
1481 impl_.Clear(); 1485 impl_.Clear();
1482 EXPECT_EQ(0u, impl_.quic_server_info_map().size()); 1486 EXPECT_EQ(0u, impl_.quic_server_info_map().size());
1483 EXPECT_EQ(nullptr, impl_.GetQuicServerInfo(quic_server_id)); 1487 EXPECT_EQ(nullptr, impl_.GetQuicServerInfo(quic_server_id));
1484 } 1488 }
1485 1489
1486 } // namespace 1490 } // namespace
1487 1491
1488 } // namespace net 1492 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_server_properties_impl.cc ('k') | net/http/http_server_properties_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698