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

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

Issue 665083009: ABANDONED Handle multiple AlternateProtocols for each HostPortPair. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Another Cronet occurrence. Created 5 years, 11 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/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/prefs/pref_registry_simple.h" 9 #include "base/prefs/pref_registry_simple.h"
10 #include "base/prefs/testing_pref_service.h" 10 #include "base/prefs/testing_pref_service.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 224
225 // Verify SupportsSpdy. 225 // Verify SupportsSpdy.
226 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(google_server)); 226 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(google_server));
227 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(mail_server)); 227 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(mail_server));
228 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy( 228 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(
229 HostPortPair::FromString("foo.google.com:1337"))); 229 HostPortPair::FromString("foo.google.com:1337")));
230 230
231 // Verify AlternateProtocol. 231 // Verify AlternateProtocol.
232 ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(google_server)); 232 ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(google_server));
233 ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(mail_server)); 233 ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(mail_server));
234 AlternateProtocolInfo port_alternate_protocol = 234 AlternateProtocols port_alternate_protocols =
235 http_server_props_manager_->GetAlternateProtocol(google_server); 235 http_server_props_manager_->GetAlternateProtocols(google_server);
236 EXPECT_EQ(443, port_alternate_protocol.port); 236 ASSERT_EQ(1u, port_alternate_protocols.size());
237 EXPECT_EQ(NPN_SPDY_3, port_alternate_protocol.protocol); 237 EXPECT_EQ(443, port_alternate_protocols[0].port);
238 port_alternate_protocol = 238 EXPECT_EQ(NPN_SPDY_3, port_alternate_protocols[0].protocol);
239 http_server_props_manager_->GetAlternateProtocol(mail_server); 239 port_alternate_protocols =
240 EXPECT_EQ(444, port_alternate_protocol.port); 240 http_server_props_manager_->GetAlternateProtocols(mail_server);
241 EXPECT_EQ(NPN_SPDY_3_1, port_alternate_protocol.protocol); 241 ASSERT_EQ(1u, port_alternate_protocols.size());
242 EXPECT_EQ(444, port_alternate_protocols[0].port);
243 EXPECT_EQ(NPN_SPDY_3_1, port_alternate_protocols[0].protocol);
242 244
243 // Verify SupportsQuic. 245 // Verify SupportsQuic.
244 SupportsQuic supports_quic2 = 246 SupportsQuic supports_quic2 =
245 http_server_props_manager_->GetSupportsQuic(google_server); 247 http_server_props_manager_->GetSupportsQuic(google_server);
246 EXPECT_TRUE(supports_quic2.used_quic); 248 EXPECT_TRUE(supports_quic2.used_quic);
247 EXPECT_EQ("foo", supports_quic2.address); 249 EXPECT_EQ("foo", supports_quic2.address);
248 supports_quic2 = http_server_props_manager_->GetSupportsQuic(mail_server); 250 supports_quic2 = http_server_props_manager_->GetSupportsQuic(mail_server);
249 EXPECT_FALSE(supports_quic2.used_quic); 251 EXPECT_FALSE(supports_quic2.used_quic);
250 EXPECT_EQ("bar", supports_quic2.address); 252 EXPECT_EQ("bar", supports_quic2.address);
251 253
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 475
474 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 476 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
475 } 477 }
476 478
477 TEST_F(HttpServerPropertiesManagerTest, HasAlternateProtocol) { 479 TEST_F(HttpServerPropertiesManagerTest, HasAlternateProtocol) {
478 ExpectPrefsUpdate(); 480 ExpectPrefsUpdate();
479 481
480 HostPortPair spdy_server_mail("mail.google.com", 80); 482 HostPortPair spdy_server_mail("mail.google.com", 80);
481 EXPECT_FALSE( 483 EXPECT_FALSE(
482 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 484 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
483 http_server_props_manager_->SetAlternateProtocol(spdy_server_mail, 443, 485 http_server_props_manager_->AddAlternateProtocol(spdy_server_mail, 443,
484 NPN_SPDY_3, 1); 486 NPN_SPDY_3, 1);
485 487
486 // Run the task. 488 // Run the task.
487 base::RunLoop().RunUntilIdle(); 489 base::RunLoop().RunUntilIdle();
488 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 490 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
489 491
490 ASSERT_TRUE( 492 ASSERT_TRUE(
491 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 493 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
492 AlternateProtocolInfo port_alternate_protocol = 494 AlternateProtocols port_alternate_protocols =
493 http_server_props_manager_->GetAlternateProtocol(spdy_server_mail); 495 http_server_props_manager_->GetAlternateProtocols(spdy_server_mail);
494 EXPECT_EQ(443, port_alternate_protocol.port); 496 ASSERT_EQ(1u, port_alternate_protocols.size());
495 EXPECT_EQ(NPN_SPDY_3, port_alternate_protocol.protocol); 497 EXPECT_EQ(443, port_alternate_protocols[0].port);
498 EXPECT_EQ(NPN_SPDY_3, port_alternate_protocols[0].protocol);
496 } 499 }
497 500
498 TEST_F(HttpServerPropertiesManagerTest, SupportsQuic) { 501 TEST_F(HttpServerPropertiesManagerTest, SupportsQuic) {
499 ExpectPrefsUpdate(); 502 ExpectPrefsUpdate();
500 503
501 HostPortPair quic_server_mail("mail.google.com", 80); 504 HostPortPair quic_server_mail("mail.google.com", 80);
502 SupportsQuic supports_quic = 505 SupportsQuic supports_quic =
503 http_server_props_manager_->GetSupportsQuic(quic_server_mail); 506 http_server_props_manager_->GetSupportsQuic(quic_server_mail);
504 EXPECT_FALSE(supports_quic.used_quic); 507 EXPECT_FALSE(supports_quic.used_quic);
505 EXPECT_EQ("", supports_quic.address); 508 EXPECT_EQ("", supports_quic.address);
(...skipping 27 matching lines...) Expand all
533 const ServerNetworkStats* stats2 = 536 const ServerNetworkStats* stats2 =
534 http_server_props_manager_->GetServerNetworkStats(mail_server); 537 http_server_props_manager_->GetServerNetworkStats(mail_server);
535 EXPECT_EQ(10, stats2->srtt.ToInternalValue()); 538 EXPECT_EQ(10, stats2->srtt.ToInternalValue());
536 } 539 }
537 540
538 TEST_F(HttpServerPropertiesManagerTest, Clear) { 541 TEST_F(HttpServerPropertiesManagerTest, Clear) {
539 ExpectPrefsUpdate(); 542 ExpectPrefsUpdate();
540 543
541 HostPortPair spdy_server_mail("mail.google.com", 443); 544 HostPortPair spdy_server_mail("mail.google.com", 443);
542 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true); 545 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true);
543 http_server_props_manager_->SetAlternateProtocol(spdy_server_mail, 443, 546 http_server_props_manager_->AddAlternateProtocol(spdy_server_mail, 443,
544 NPN_SPDY_3, 1); 547 NPN_SPDY_3, 1);
545 http_server_props_manager_->SetSupportsQuic(spdy_server_mail, true, "foo"); 548 http_server_props_manager_->SetSupportsQuic(spdy_server_mail, true, "foo");
546 ServerNetworkStats stats; 549 ServerNetworkStats stats;
547 stats.srtt = base::TimeDelta::FromMicroseconds(10); 550 stats.srtt = base::TimeDelta::FromMicroseconds(10);
548 http_server_props_manager_->SetServerNetworkStats(spdy_server_mail, stats); 551 http_server_props_manager_->SetServerNetworkStats(spdy_server_mail, stats);
549 552
550 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; 553 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH;
551 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; 554 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST;
552 const uint32 value1 = 31337; 555 const uint32 value1 = 31337;
553 http_server_props_manager_->SetSpdySetting( 556 http_server_props_manager_->SetSpdySetting(
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 pref_service_.SetManagedPref(kTestHttpServerProperties, 646 pref_service_.SetManagedPref(kTestHttpServerProperties,
644 http_server_properties_dict); 647 http_server_properties_dict);
645 648
646 base::RunLoop().RunUntilIdle(); 649 base::RunLoop().RunUntilIdle();
647 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 650 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
648 651
649 // Verify AlternateProtocol. 652 // Verify AlternateProtocol.
650 for (int i = 0; i < 200; ++i) { 653 for (int i = 0; i < 200; ++i) {
651 std::string server = StringPrintf("www.google.com:%d", i); 654 std::string server = StringPrintf("www.google.com:%d", i);
652 ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol( 655 ASSERT_TRUE(http_server_props_manager_->HasAlternateProtocol(
653 net::HostPortPair::FromString(server))); 656 HostPortPair::FromString(server)));
654 net::AlternateProtocolInfo port_alternate_protocol = 657 AlternateProtocols port_alternate_protocols =
655 http_server_props_manager_->GetAlternateProtocol( 658 http_server_props_manager_->GetAlternateProtocols(
656 net::HostPortPair::FromString(server)); 659 HostPortPair::FromString(server));
657 EXPECT_EQ(i, port_alternate_protocol.port); 660 EXPECT_EQ(1u, port_alternate_protocols.size());
658 EXPECT_EQ(net::NPN_SPDY_3, port_alternate_protocol.protocol); 661 EXPECT_EQ(i, port_alternate_protocols[0].port);
662 EXPECT_EQ(NPN_SPDY_3, port_alternate_protocols[0].protocol);
659 } 663 }
660 664
661 // Verify SupportsQuic. 665 // Verify SupportsQuic.
662 net::SupportsQuic supports_quic1 = 666 SupportsQuic supports_quic1 = http_server_props_manager_->GetSupportsQuic(
663 http_server_props_manager_->GetSupportsQuic( 667 HostPortPair::FromString("mail.google.com:80"));
664 net::HostPortPair::FromString("mail.google.com:80"));
665 EXPECT_TRUE(supports_quic1.used_quic); 668 EXPECT_TRUE(supports_quic1.used_quic);
666 EXPECT_EQ("bar", supports_quic1.address); 669 EXPECT_EQ("bar", supports_quic1.address);
667 } 670 }
668 671
669 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdateCache0) { 672 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdateCache0) {
670 // Post an update task to the UI thread. 673 // Post an update task to the UI thread.
671 http_server_props_manager_->ScheduleUpdateCacheOnPrefThread(); 674 http_server_props_manager_->ScheduleUpdateCacheOnPrefThread();
672 // Shutdown comes before the task is executed. 675 // Shutdown comes before the task is executed.
673 http_server_props_manager_->ShutdownOnPrefThread(); 676 http_server_props_manager_->ShutdownOnPrefThread();
674 http_server_props_manager_.reset(); 677 http_server_props_manager_.reset();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
734 // Run the task after shutdown, but before deletion. 737 // Run the task after shutdown, but before deletion.
735 base::RunLoop().RunUntilIdle(); 738 base::RunLoop().RunUntilIdle();
736 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 739 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
737 http_server_props_manager_.reset(); 740 http_server_props_manager_.reset();
738 base::RunLoop().RunUntilIdle(); 741 base::RunLoop().RunUntilIdle();
739 } 742 }
740 743
741 } // namespace 744 } // namespace
742 745
743 } // namespace net 746 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698