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

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

Powered by Google App Engine
This is Rietveld 408576698