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

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

Issue 2886273002: Change GetAlternativeServies to return alternative service infos. (Closed)
Patch Set: address comments in ps #3 Created 3 years, 7 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 <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 EXPECT_CALL(*http_server_props_manager_, 218 EXPECT_CALL(*http_server_props_manager_,
219 UpdatePrefsFromCacheOnNetworkThread(_)) 219 UpdatePrefsFromCacheOnNetworkThread(_))
220 .Times(times) 220 .Times(times)
221 .WillRepeatedly( 221 .WillRepeatedly(
222 Invoke(http_server_props_manager_.get(), 222 Invoke(http_server_props_manager_.get(),
223 &TestingHttpServerPropertiesManager:: 223 &TestingHttpServerPropertiesManager::
224 UpdatePrefsFromCacheOnNetworkThreadConcrete)); 224 UpdatePrefsFromCacheOnNetworkThreadConcrete));
225 } 225 }
226 226
227 bool HasAlternativeService(const url::SchemeHostPort& server) { 227 bool HasAlternativeService(const url::SchemeHostPort& server) {
228 const AlternativeServiceVector alternative_service_vector = 228 const AlternativeServiceInfoVector alternative_service_info_vector =
229 http_server_props_manager_->GetAlternativeServices(server); 229 http_server_props_manager_->GetAlternativeServiceInfos(server);
230 return !alternative_service_vector.empty(); 230 return !alternative_service_info_vector.empty();
231 } 231 }
232 232
233 MockPrefDelegate* pref_delegate_; // Owned by HttpServerPropertiesManager. 233 MockPrefDelegate* pref_delegate_; // Owned by HttpServerPropertiesManager.
234 std::unique_ptr<TestingHttpServerPropertiesManager> 234 std::unique_ptr<TestingHttpServerPropertiesManager>
235 http_server_props_manager_; 235 http_server_props_manager_;
236 base::Time one_day_from_now_; 236 base::Time one_day_from_now_;
237 237
238 // Overrides the main thread's message loop with a mock tick clock. Making the 238 // Overrides the main thread's message loop with a mock tick clock. Making the
239 // main thread the |pref_test_task_runner_| matches expectations better than 239 // main thread the |pref_test_task_runner_| matches expectations better than
240 // having an independent TestMockTimeTaskRunner and makes tests easier to 240 // having an independent TestMockTimeTaskRunner and makes tests easier to
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 712 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
713 net_test_task_runner_->FastForwardUntilNoTasksRemain(); 713 net_test_task_runner_->FastForwardUntilNoTasksRemain();
714 EXPECT_TRUE(pref_test_task_runner_->HasPendingTask()); 714 EXPECT_TRUE(pref_test_task_runner_->HasPendingTask());
715 pref_test_task_runner_->FastForwardUntilNoTasksRemain(); 715 pref_test_task_runner_->FastForwardUntilNoTasksRemain();
716 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 716 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
717 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 717 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
718 718
719 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 719 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
720 } 720 }
721 721
722 TEST_P(HttpServerPropertiesManagerTest, GetAlternativeServices) { 722 TEST_P(HttpServerPropertiesManagerTest, GetAlternativeServiceInfos) {
723 ExpectPrefsUpdate(1); 723 ExpectPrefsUpdate(1);
724 ExpectScheduleUpdatePrefsOnNetworkThread(); 724 ExpectScheduleUpdatePrefsOnNetworkThread();
725 725
726 url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80); 726 url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80);
727 EXPECT_FALSE(HasAlternativeService(spdy_server_mail)); 727 EXPECT_FALSE(HasAlternativeService(spdy_server_mail));
728 const AlternativeService alternative_service(kProtoHTTP2, "mail.google.com", 728 const AlternativeService alternative_service(kProtoHTTP2, "mail.google.com",
729 443); 729 443);
730 http_server_props_manager_->SetAlternativeService( 730 http_server_props_manager_->SetAlternativeService(
731 spdy_server_mail, alternative_service, one_day_from_now_); 731 spdy_server_mail, alternative_service, one_day_from_now_);
732 // ExpectScheduleUpdatePrefsOnNetworkThread() should be called only once. 732 // ExpectScheduleUpdatePrefsOnNetworkThread() should be called only once.
733 http_server_props_manager_->SetAlternativeService( 733 http_server_props_manager_->SetAlternativeService(
734 spdy_server_mail, alternative_service, one_day_from_now_); 734 spdy_server_mail, alternative_service, one_day_from_now_);
735 735
736 // Run the task. 736 // Run the task.
737 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 737 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
738 EXPECT_TRUE(net_test_task_runner_->HasPendingTask()); 738 EXPECT_TRUE(net_test_task_runner_->HasPendingTask());
739 net_test_task_runner_->FastForwardUntilNoTasksRemain(); 739 net_test_task_runner_->FastForwardUntilNoTasksRemain();
740 EXPECT_TRUE(pref_test_task_runner_->HasPendingTask()); 740 EXPECT_TRUE(pref_test_task_runner_->HasPendingTask());
741 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 741 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
742 pref_test_task_runner_->FastForwardUntilNoTasksRemain(); 742 pref_test_task_runner_->FastForwardUntilNoTasksRemain();
743 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 743 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
744 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 744 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
745 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 745 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
746 746
747 AlternativeServiceVector alternative_service_vector = 747 AlternativeServiceInfoVector alternative_service_info_vector =
748 http_server_props_manager_->GetAlternativeServices(spdy_server_mail); 748 http_server_props_manager_->GetAlternativeServiceInfos(spdy_server_mail);
749 ASSERT_EQ(1u, alternative_service_vector.size()); 749 ASSERT_EQ(1u, alternative_service_info_vector.size());
750 EXPECT_EQ(alternative_service, alternative_service_vector[0]); 750 EXPECT_EQ(alternative_service,
751 alternative_service_info_vector[0].alternative_service);
751 } 752 }
752 753
753 TEST_P(HttpServerPropertiesManagerTest, SetAlternativeServices) { 754 TEST_P(HttpServerPropertiesManagerTest, SetAlternativeServices) {
754 ExpectPrefsUpdate(1); 755 ExpectPrefsUpdate(1);
755 ExpectScheduleUpdatePrefsOnNetworkThread(); 756 ExpectScheduleUpdatePrefsOnNetworkThread();
756 757
757 url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80); 758 url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80);
758 EXPECT_FALSE(HasAlternativeService(spdy_server_mail)); 759 EXPECT_FALSE(HasAlternativeService(spdy_server_mail));
759 AlternativeServiceInfoVector alternative_service_info_vector; 760 AlternativeServiceInfoVector alternative_service_info_vector;
760 const AlternativeService alternative_service1(kProtoHTTP2, "mail.google.com", 761 const AlternativeService alternative_service1(kProtoHTTP2, "mail.google.com",
(...skipping 14 matching lines...) Expand all
775 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 776 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
776 EXPECT_TRUE(net_test_task_runner_->HasPendingTask()); 777 EXPECT_TRUE(net_test_task_runner_->HasPendingTask());
777 net_test_task_runner_->FastForwardUntilNoTasksRemain(); 778 net_test_task_runner_->FastForwardUntilNoTasksRemain();
778 EXPECT_TRUE(pref_test_task_runner_->HasPendingTask()); 779 EXPECT_TRUE(pref_test_task_runner_->HasPendingTask());
779 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 780 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
780 pref_test_task_runner_->FastForwardUntilNoTasksRemain(); 781 pref_test_task_runner_->FastForwardUntilNoTasksRemain();
781 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 782 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
782 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 783 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
783 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 784 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
784 785
785 AlternativeServiceVector alternative_service_vector = 786 AlternativeServiceInfoVector alternative_service_info_vector2 =
786 http_server_props_manager_->GetAlternativeServices(spdy_server_mail); 787 http_server_props_manager_->GetAlternativeServiceInfos(spdy_server_mail);
787 ASSERT_EQ(2u, alternative_service_vector.size()); 788 ASSERT_EQ(2u, alternative_service_info_vector2.size());
788 EXPECT_EQ(alternative_service1, alternative_service_vector[0]); 789 EXPECT_EQ(alternative_service1,
789 EXPECT_EQ(alternative_service2, alternative_service_vector[1]); 790 alternative_service_info_vector2[0].alternative_service);
791 EXPECT_EQ(alternative_service2,
792 alternative_service_info_vector2[1].alternative_service);
790 } 793 }
791 794
792 TEST_P(HttpServerPropertiesManagerTest, SetAlternativeServicesEmpty) { 795 TEST_P(HttpServerPropertiesManagerTest, SetAlternativeServicesEmpty) {
793 url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80); 796 url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80);
794 EXPECT_FALSE(HasAlternativeService(spdy_server_mail)); 797 EXPECT_FALSE(HasAlternativeService(spdy_server_mail));
795 const AlternativeService alternative_service(kProtoHTTP2, "mail.google.com", 798 const AlternativeService alternative_service(kProtoHTTP2, "mail.google.com",
796 443); 799 443);
797 http_server_props_manager_->SetAlternativeServices( 800 http_server_props_manager_->SetAlternativeServices(
798 spdy_server_mail, AlternativeServiceInfoVector()); 801 spdy_server_mail, AlternativeServiceInfoVector());
799 802
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 1134
1132 // Verify alternative service. 1135 // Verify alternative service.
1133 for (int i = 1; i <= 200; ++i) { 1136 for (int i = 1; i <= 200; ++i) {
1134 GURL server_gurl; 1137 GURL server_gurl;
1135 if (GetParam() >= 5) { 1138 if (GetParam() >= 5) {
1136 server_gurl = GURL(StringPrintf("https://www.google.com:%d", i)); 1139 server_gurl = GURL(StringPrintf("https://www.google.com:%d", i));
1137 } else { 1140 } else {
1138 server_gurl = GURL(StringPrintf("https://www.google.com:%d", i)); 1141 server_gurl = GURL(StringPrintf("https://www.google.com:%d", i));
1139 } 1142 }
1140 url::SchemeHostPort server(server_gurl); 1143 url::SchemeHostPort server(server_gurl);
1141 AlternativeServiceVector alternative_service_vector = 1144 AlternativeServiceInfoVector alternative_service_info_vector =
1142 http_server_props_manager_->GetAlternativeServices(server); 1145 http_server_props_manager_->GetAlternativeServiceInfos(server);
1143 ASSERT_EQ(1u, alternative_service_vector.size()); 1146 ASSERT_EQ(1u, alternative_service_info_vector.size());
1144 EXPECT_EQ(kProtoQUIC, alternative_service_vector[0].protocol); 1147 EXPECT_EQ(kProtoQUIC,
1145 EXPECT_EQ(i, alternative_service_vector[0].port); 1148 alternative_service_info_vector[0].alternative_service.protocol);
1149 EXPECT_EQ(i, alternative_service_info_vector[0].alternative_service.port);
1146 } 1150 }
1147 1151
1148 // Verify SupportsQuic. 1152 // Verify SupportsQuic.
1149 IPAddress address; 1153 IPAddress address;
1150 ASSERT_TRUE(http_server_props_manager_->GetSupportsQuic(&address)); 1154 ASSERT_TRUE(http_server_props_manager_->GetSupportsQuic(&address));
1151 EXPECT_EQ("127.0.0.1", address.ToString()); 1155 EXPECT_EQ("127.0.0.1", address.ToString());
1152 } 1156 }
1153 1157
1154 TEST_P(HttpServerPropertiesManagerTest, UpdatePrefsWithCache) { 1158 TEST_P(HttpServerPropertiesManagerTest, UpdatePrefsWithCache) {
1155 ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(5); 1159 ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(5);
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
1558 pref_test_task_runner_->FastForwardUntilNoTasksRemain(); 1562 pref_test_task_runner_->FastForwardUntilNoTasksRemain();
1559 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 1563 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
1560 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 1564 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
1561 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 1565 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
1562 http_server_props_manager_.reset(); 1566 http_server_props_manager_.reset();
1563 EXPECT_FALSE(net_test_task_runner_->HasPendingTask()); 1567 EXPECT_FALSE(net_test_task_runner_->HasPendingTask());
1564 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask()); 1568 EXPECT_FALSE(pref_test_task_runner_->HasPendingTask());
1565 } 1569 }
1566 1570
1567 } // namespace net 1571 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_server_properties_manager.cc ('k') | net/http/http_stream_factory_impl_job_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698