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

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

Issue 1158823005: HttpServerProperties - Don't persist if SetServerNetworkStats is called (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@update_http_props
Patch Set: Always update memory cache Created 5 years, 6 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/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/prefs/pref_registry_simple.h" 10 #include "base/prefs/pref_registry_simple.h"
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 518
519 TEST_F(HttpServerPropertiesManagerTest, ServerNetworkStats) { 519 TEST_F(HttpServerPropertiesManagerTest, ServerNetworkStats) {
520 ExpectPrefsUpdate(); 520 ExpectPrefsUpdate();
521 521
522 HostPortPair mail_server("mail.google.com", 80); 522 HostPortPair mail_server("mail.google.com", 80);
523 const ServerNetworkStats* stats = 523 const ServerNetworkStats* stats =
524 http_server_props_manager_->GetServerNetworkStats(mail_server); 524 http_server_props_manager_->GetServerNetworkStats(mail_server);
525 EXPECT_EQ(NULL, stats); 525 EXPECT_EQ(NULL, stats);
526 ServerNetworkStats stats1; 526 ServerNetworkStats stats1;
527 stats1.srtt = base::TimeDelta::FromMicroseconds(10); 527 stats1.srtt = base::TimeDelta::FromMicroseconds(10);
528 http_server_props_manager_->SetServerNetworkStats(mail_server, stats1); 528 EXPECT_TRUE(
529 http_server_props_manager_->SetServerNetworkStats(mail_server, stats1));
530 // ExpectPrefsUpdate() should be called only once.
531 EXPECT_FALSE(
532 http_server_props_manager_->SetServerNetworkStats(mail_server, stats1));
529 533
530 // Run the task. 534 // Run the task.
531 base::RunLoop().RunUntilIdle(); 535 base::RunLoop().RunUntilIdle();
532 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 536 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
533 537
534 const ServerNetworkStats* stats2 = 538 const ServerNetworkStats* stats2 =
535 http_server_props_manager_->GetServerNetworkStats(mail_server); 539 http_server_props_manager_->GetServerNetworkStats(mail_server);
536 EXPECT_EQ(10, stats2->srtt.ToInternalValue()); 540 EXPECT_EQ(10, stats2->srtt.ToInternalValue());
537 } 541 }
538 542
539 TEST_F(HttpServerPropertiesManagerTest, Clear) { 543 TEST_F(HttpServerPropertiesManagerTest, Clear) {
540 ExpectPrefsUpdate(); 544 ExpectPrefsUpdate();
541 545
542 HostPortPair spdy_server_mail("mail.google.com", 443); 546 HostPortPair spdy_server_mail("mail.google.com", 443);
543 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true); 547 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true);
544 AlternativeService alternative_service(NPN_SPDY_4, "mail.google.com", 443); 548 AlternativeService alternative_service(NPN_SPDY_4, "mail.google.com", 443);
545 EXPECT_TRUE(http_server_props_manager_->SetAlternativeService( 549 EXPECT_TRUE(http_server_props_manager_->SetAlternativeService(
546 spdy_server_mail, alternative_service, 1.0)); 550 spdy_server_mail, alternative_service, 1.0));
547 // ExpectPrefsUpdate() should be called only once. 551 // ExpectPrefsUpdate() should be called only once.
548 EXPECT_FALSE(http_server_props_manager_->SetAlternativeService( 552 EXPECT_FALSE(http_server_props_manager_->SetAlternativeService(
549 spdy_server_mail, alternative_service, 1.0)); 553 spdy_server_mail, alternative_service, 1.0));
550 IPAddressNumber actual_address; 554 IPAddressNumber actual_address;
551 CHECK(ParseIPLiteralToNumber("127.0.0.1", &actual_address)); 555 CHECK(ParseIPLiteralToNumber("127.0.0.1", &actual_address));
552 http_server_props_manager_->SetSupportsQuic(true, actual_address); 556 http_server_props_manager_->SetSupportsQuic(true, actual_address);
553 ServerNetworkStats stats; 557 ServerNetworkStats stats;
554 stats.srtt = base::TimeDelta::FromMicroseconds(10); 558 stats.srtt = base::TimeDelta::FromMicroseconds(10);
555 http_server_props_manager_->SetServerNetworkStats(spdy_server_mail, stats); 559 EXPECT_TRUE(http_server_props_manager_->SetServerNetworkStats(
560 spdy_server_mail, stats));
561 EXPECT_FALSE(http_server_props_manager_->SetServerNetworkStats(
562 spdy_server_mail, stats));
556 563
557 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH; 564 const SpdySettingsIds id1 = SETTINGS_UPLOAD_BANDWIDTH;
558 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST; 565 const SpdySettingsFlags flags1 = SETTINGS_FLAG_PLEASE_PERSIST;
559 const uint32 value1 = 31337; 566 const uint32 value1 = 31337;
560 http_server_props_manager_->SetSpdySetting( 567 http_server_props_manager_->SetSpdySetting(
561 spdy_server_mail, id1, flags1, value1); 568 spdy_server_mail, id1, flags1, value1);
562 569
563 // Run the task. 570 // Run the task.
564 base::RunLoop().RunUntilIdle(); 571 base::RunLoop().RunUntilIdle();
565 572
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 EXPECT_FALSE(http_server_props_manager_->SetAlternativeService( 689 EXPECT_FALSE(http_server_props_manager_->SetAlternativeService(
683 server_www, www_altsvc, 1.0)); 690 server_www, www_altsvc, 1.0));
684 EXPECT_TRUE(http_server_props_manager_->SetAlternativeService( 691 EXPECT_TRUE(http_server_props_manager_->SetAlternativeService(
685 server_mail, mail_altsvc, 0.2)); 692 server_mail, mail_altsvc, 0.2));
686 EXPECT_FALSE(http_server_props_manager_->SetAlternativeService( 693 EXPECT_FALSE(http_server_props_manager_->SetAlternativeService(
687 server_mail, mail_altsvc, 0.2)); 694 server_mail, mail_altsvc, 0.2));
688 695
689 // Set ServerNetworkStats. 696 // Set ServerNetworkStats.
690 ServerNetworkStats stats; 697 ServerNetworkStats stats;
691 stats.srtt = base::TimeDelta::FromInternalValue(42); 698 stats.srtt = base::TimeDelta::FromInternalValue(42);
692 http_server_props_manager_->SetServerNetworkStats(server_mail, stats); 699 EXPECT_TRUE(
700 http_server_props_manager_->SetServerNetworkStats(server_mail, stats));
693 701
694 // Set SupportsQuic. 702 // Set SupportsQuic.
695 IPAddressNumber actual_address; 703 IPAddressNumber actual_address;
696 CHECK(ParseIPLiteralToNumber("127.0.0.1", &actual_address)); 704 CHECK(ParseIPLiteralToNumber("127.0.0.1", &actual_address));
697 http_server_props_manager_->SetSupportsQuic(true, actual_address); 705 http_server_props_manager_->SetSupportsQuic(true, actual_address);
698 706
699 // Update cache. 707 // Update cache.
700 ExpectPrefsUpdate(); 708 ExpectPrefsUpdate();
701 ExpectCacheUpdate(); 709 ExpectCacheUpdate();
702 http_server_props_manager_->ScheduleUpdateCacheOnPrefThread(); 710 http_server_props_manager_->ScheduleUpdateCacheOnPrefThread();
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 // Run the task after shutdown, but before deletion. 798 // Run the task after shutdown, but before deletion.
791 base::RunLoop().RunUntilIdle(); 799 base::RunLoop().RunUntilIdle();
792 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 800 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
793 http_server_props_manager_.reset(); 801 http_server_props_manager_.reset();
794 base::RunLoop().RunUntilIdle(); 802 base::RunLoop().RunUntilIdle();
795 } 803 }
796 804
797 } // namespace 805 } // namespace
798 806
799 } // namespace net 807 } // namespace net
OLDNEW
« net/http/http_server_properties_impl.cc ('K') | « net/http/http_server_properties_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698