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

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

Powered by Google App Engine
This is Rietveld 408576698