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

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

Issue 1866983006: SHP 2: Change SpdySettingsMap to use SchemeHostPort as the key. No change to Pref data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@SHP_1
Patch Set: remove commented line 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_manager.h" 5 #include "net/http/http_server_properties_manager.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 581
582 EXPECT_TRUE(http_server_props_manager_->SupportsRequestPriority(spdy_server)); 582 EXPECT_TRUE(http_server_props_manager_->SupportsRequestPriority(spdy_server));
583 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 583 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
584 } 584 }
585 585
586 TEST_P(HttpServerPropertiesManagerTest, SetSpdySetting) { 586 TEST_P(HttpServerPropertiesManagerTest, SetSpdySetting) {
587 ExpectPrefsUpdate(); 587 ExpectPrefsUpdate();
588 ExpectScheduleUpdatePrefsOnNetworkThread(); 588 ExpectScheduleUpdatePrefsOnNetworkThread();
589 589
590 // Add SpdySetting for mail.google.com:443. 590 // Add SpdySetting for mail.google.com:443.
591 HostPortPair spdy_server_mail("mail.google.com", 443); 591 url::SchemeHostPort spdy_server_mail("https", "mail.google.com", 443);
592 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; 592 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH;
593 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; 593 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST;
594 const uint32_t value1 = 31337; 594 const uint32_t value1 = 31337;
595 http_server_props_manager_->SetSpdySetting( 595 http_server_props_manager_->SetSpdySetting(
596 spdy_server_mail, id1, flags1, value1); 596 spdy_server_mail, id1, flags1, value1);
597 597
598 // Run the task. 598 // Run the task.
599 base::RunLoop().RunUntilIdle(); 599 base::RunLoop().RunUntilIdle();
600 600
601 const SettingsMap& settings_map1_ret = 601 const SettingsMap& settings_map1_ret =
602 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 602 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
603 ASSERT_EQ(1U, settings_map1_ret.size()); 603 ASSERT_EQ(1U, settings_map1_ret.size());
604 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); 604 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1);
605 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); 605 EXPECT_TRUE(it1_ret != settings_map1_ret.end());
606 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; 606 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second;
607 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); 607 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first);
608 EXPECT_EQ(value1, flags_and_value1_ret.second); 608 EXPECT_EQ(value1, flags_and_value1_ret.second);
609 609
610 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 610 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
611 } 611 }
612 612
613 TEST_P(HttpServerPropertiesManagerTest, ClearSpdySetting) { 613 TEST_P(HttpServerPropertiesManagerTest, ClearSpdySetting) {
614 ExpectPrefsUpdateRepeatedly(); 614 ExpectPrefsUpdateRepeatedly();
615 ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(); 615 ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly();
616 616
617 // Add SpdySetting for mail.google.com:443. 617 // Add SpdySetting for mail.google.com:443.
618 HostPortPair spdy_server_mail("mail.google.com", 443); 618 url::SchemeHostPort spdy_server_mail("https", "mail.google.com", 443);
619 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; 619 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH;
620 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; 620 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST;
621 const uint32_t value1 = 31337; 621 const uint32_t value1 = 31337;
622 http_server_props_manager_->SetSpdySetting( 622 http_server_props_manager_->SetSpdySetting(
623 spdy_server_mail, id1, flags1, value1); 623 spdy_server_mail, id1, flags1, value1);
624 624
625 // Run the task. 625 // Run the task.
626 base::RunLoop().RunUntilIdle(); 626 base::RunLoop().RunUntilIdle();
627 627
628 const SettingsMap& settings_map1_ret = 628 const SettingsMap& settings_map1_ret =
(...skipping 18 matching lines...) Expand all
647 ASSERT_EQ(0U, settings_map2_ret.size()); 647 ASSERT_EQ(0U, settings_map2_ret.size());
648 648
649 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 649 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
650 } 650 }
651 651
652 TEST_P(HttpServerPropertiesManagerTest, ClearAllSpdySetting) { 652 TEST_P(HttpServerPropertiesManagerTest, ClearAllSpdySetting) {
653 ExpectPrefsUpdateRepeatedly(); 653 ExpectPrefsUpdateRepeatedly();
654 ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(); 654 ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly();
655 655
656 // Add SpdySetting for mail.google.com:443. 656 // Add SpdySetting for mail.google.com:443.
657 HostPortPair spdy_server_mail("mail.google.com", 443); 657 url::SchemeHostPort spdy_server_mail("https", "mail.google.com", 443);
658 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; 658 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH;
659 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; 659 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST;
660 const uint32_t value1 = 31337; 660 const uint32_t value1 = 31337;
661 http_server_props_manager_->SetSpdySetting( 661 http_server_props_manager_->SetSpdySetting(
662 spdy_server_mail, id1, flags1, value1); 662 spdy_server_mail, id1, flags1, value1);
663 663
664 // Run the task. 664 // Run the task.
665 base::RunLoop().RunUntilIdle(); 665 base::RunLoop().RunUntilIdle();
666 666
667 const SettingsMap& settings_map1_ret = 667 const SettingsMap& settings_map1_ret =
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
907 http_server_props_manager_->SetServerNetworkStats(spdy_server_mail, stats); 907 http_server_props_manager_->SetServerNetworkStats(spdy_server_mail, stats);
908 908
909 QuicServerId mail_quic_server_id("mail.google.com", 80); 909 QuicServerId mail_quic_server_id("mail.google.com", 80);
910 std::string quic_server_info1("quic_server_info1"); 910 std::string quic_server_info1("quic_server_info1");
911 http_server_props_manager_->SetQuicServerInfo(mail_quic_server_id, 911 http_server_props_manager_->SetQuicServerInfo(mail_quic_server_id,
912 quic_server_info1); 912 quic_server_info1);
913 913
914 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; 914 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH;
915 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; 915 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST;
916 const uint32_t value1 = 31337; 916 const uint32_t value1 = 31337;
917 http_server_props_manager_->SetSpdySetting(spdy_server_mail, id1, flags1, 917 http_server_props_manager_->SetSpdySetting(spdy_server, id1, flags1, value1);
918 value1);
919 918
920 // Run the task. 919 // Run the task.
921 base::RunLoop().RunUntilIdle(); 920 base::RunLoop().RunUntilIdle();
922 921
923 EXPECT_TRUE(http_server_props_manager_->SupportsRequestPriority(spdy_server)); 922 EXPECT_TRUE(http_server_props_manager_->SupportsRequestPriority(spdy_server));
924 EXPECT_TRUE(HasAlternativeService(spdy_server_mail)); 923 EXPECT_TRUE(HasAlternativeService(spdy_server_mail));
925 IPAddress address; 924 IPAddress address;
926 EXPECT_TRUE(http_server_props_manager_->GetSupportsQuic(&address)); 925 EXPECT_TRUE(http_server_props_manager_->GetSupportsQuic(&address));
927 EXPECT_EQ(actual_address, address); 926 EXPECT_EQ(actual_address, address);
928 const ServerNetworkStats* stats1 = 927 const ServerNetworkStats* stats1 =
929 http_server_props_manager_->GetServerNetworkStats(spdy_server_mail); 928 http_server_props_manager_->GetServerNetworkStats(spdy_server_mail);
930 EXPECT_EQ(10, stats1->srtt.ToInternalValue()); 929 EXPECT_EQ(10, stats1->srtt.ToInternalValue());
931 EXPECT_EQ(quic_server_info1, *http_server_props_manager_->GetQuicServerInfo( 930 EXPECT_EQ(quic_server_info1, *http_server_props_manager_->GetQuicServerInfo(
932 mail_quic_server_id)); 931 mail_quic_server_id));
933 932
934 // Check SPDY settings values. 933 // Check SPDY settings values.
935 const SettingsMap& settings_map1_ret = 934 const SettingsMap& settings_map1_ret =
936 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 935 http_server_props_manager_->GetSpdySettings(spdy_server);
937 ASSERT_EQ(1U, settings_map1_ret.size()); 936 ASSERT_EQ(1U, settings_map1_ret.size());
938 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); 937 SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1);
939 EXPECT_TRUE(it1_ret != settings_map1_ret.end()); 938 EXPECT_TRUE(it1_ret != settings_map1_ret.end());
940 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; 939 SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second;
941 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); 940 EXPECT_EQ(SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first);
942 EXPECT_EQ(value1, flags_and_value1_ret.second); 941 EXPECT_EQ(value1, flags_and_value1_ret.second);
943 942
944 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 943 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
945 944
946 ExpectPrefsUpdate(); 945 ExpectPrefsUpdate();
947 946
948 // Clear http server data, time out if we do not get a completion callback. 947 // Clear http server data, time out if we do not get a completion callback.
949 http_server_props_manager_->Clear(base::MessageLoop::QuitWhenIdleClosure()); 948 http_server_props_manager_->Clear(base::MessageLoop::QuitWhenIdleClosure());
950 base::RunLoop().Run(); 949 base::RunLoop().Run();
951 950
952 EXPECT_FALSE( 951 EXPECT_FALSE(
953 http_server_props_manager_->SupportsRequestPriority(spdy_server)); 952 http_server_props_manager_->SupportsRequestPriority(spdy_server));
954 EXPECT_FALSE(HasAlternativeService(spdy_server_mail)); 953 EXPECT_FALSE(HasAlternativeService(spdy_server_mail));
955 EXPECT_FALSE(http_server_props_manager_->GetSupportsQuic(&address)); 954 EXPECT_FALSE(http_server_props_manager_->GetSupportsQuic(&address));
956 const ServerNetworkStats* stats2 = 955 const ServerNetworkStats* stats2 =
957 http_server_props_manager_->GetServerNetworkStats(spdy_server_mail); 956 http_server_props_manager_->GetServerNetworkStats(spdy_server_mail);
958 EXPECT_EQ(nullptr, stats2); 957 EXPECT_EQ(nullptr, stats2);
959 EXPECT_EQ(nullptr, 958 EXPECT_EQ(nullptr,
960 http_server_props_manager_->GetQuicServerInfo(mail_quic_server_id)); 959 http_server_props_manager_->GetQuicServerInfo(mail_quic_server_id));
961 960
962 const SettingsMap& settings_map2_ret = 961 const SettingsMap& settings_map2_ret =
963 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 962 http_server_props_manager_->GetSpdySettings(spdy_server);
964 EXPECT_EQ(0U, settings_map2_ret.size()); 963 EXPECT_EQ(0U, settings_map2_ret.size());
965 964
966 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 965 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
967 } 966 }
968 967
969 // https://crbug.com/444956: Add 200 alternative_service servers followed by 968 // https://crbug.com/444956: Add 200 alternative_service servers followed by
970 // supports_quic and verify we have read supports_quic from prefs. 969 // supports_quic and verify we have read supports_quic from prefs.
971 TEST_P(HttpServerPropertiesManagerTest, BadSupportsQuic) { 970 TEST_P(HttpServerPropertiesManagerTest, BadSupportsQuic) {
972 ExpectCacheUpdate(); 971 ExpectCacheUpdate();
973 972
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
1347 // Shutdown comes before the task is executed. 1346 // Shutdown comes before the task is executed.
1348 http_server_props_manager_->ShutdownOnPrefThread(); 1347 http_server_props_manager_->ShutdownOnPrefThread();
1349 // Run the task after shutdown, but before deletion. 1348 // Run the task after shutdown, but before deletion.
1350 base::RunLoop().RunUntilIdle(); 1349 base::RunLoop().RunUntilIdle();
1351 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 1350 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
1352 http_server_props_manager_.reset(); 1351 http_server_props_manager_.reset();
1353 base::RunLoop().RunUntilIdle(); 1352 base::RunLoop().RunUntilIdle();
1354 } 1353 }
1355 1354
1356 } // namespace net 1355 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698