| Index: net/http/http_server_properties_manager_unittest.cc
|
| diff --git a/net/http/http_server_properties_manager_unittest.cc b/net/http/http_server_properties_manager_unittest.cc
|
| index b2f11528bdb6a81c88f45554792ea29b474bff37..3d7bdfb21c509f031ed415d5398b920628fc92b7 100644
|
| --- a/net/http/http_server_properties_manager_unittest.cc
|
| +++ b/net/http/http_server_properties_manager_unittest.cc
|
| @@ -32,6 +32,7 @@ namespace {
|
| using base::StringPrintf;
|
| using base::TestMockTimeTaskRunner;
|
| using ::testing::_;
|
| +using ::testing::AtLeast;
|
| using ::testing::Invoke;
|
| using ::testing::Mock;
|
| using ::testing::StrictMock;
|
| @@ -213,25 +214,19 @@ class HttpServerPropertiesManagerTest : public testing::TestWithParam<int> {
|
| ScheduleUpdatePrefsOnNetworkThreadConcrete));
|
| }
|
|
|
| - void ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly() {
|
| + void ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(int times) {
|
| EXPECT_CALL(*http_server_props_manager_,
|
| ScheduleUpdatePrefsOnNetworkThread(_))
|
| + .Times(AtLeast(times))
|
| .WillRepeatedly(Invoke(http_server_props_manager_.get(),
|
| &TestingHttpServerPropertiesManager::
|
| ScheduleUpdatePrefsOnNetworkThreadConcrete));
|
| }
|
|
|
| - void ExpectPrefsUpdate() {
|
| - EXPECT_CALL(*http_server_props_manager_,
|
| - UpdatePrefsFromCacheOnNetworkThread(_))
|
| - .WillOnce(Invoke(http_server_props_manager_.get(),
|
| - &TestingHttpServerPropertiesManager::
|
| - UpdatePrefsFromCacheOnNetworkThreadConcrete));
|
| - }
|
| -
|
| - void ExpectPrefsUpdateRepeatedly() {
|
| + void ExpectPrefsUpdate(int times) {
|
| EXPECT_CALL(*http_server_props_manager_,
|
| UpdatePrefsFromCacheOnNetworkThread(_))
|
| + .Times(times)
|
| .WillRepeatedly(
|
| Invoke(http_server_props_manager_.get(),
|
| &TestingHttpServerPropertiesManager::
|
| @@ -487,7 +482,7 @@ TEST_P(HttpServerPropertiesManagerTest,
|
| TEST_P(HttpServerPropertiesManagerTest, BadCachedHostPortPair) {
|
| ExpectCacheUpdate();
|
| // The prefs are automatically updated in the case corruption is detected.
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| base::DictionaryValue* server_pref_dict = new base::DictionaryValue;
|
| @@ -577,7 +572,7 @@ TEST_P(HttpServerPropertiesManagerTest, BadCachedHostPortPair) {
|
| TEST_P(HttpServerPropertiesManagerTest, BadCachedAltProtocolPort) {
|
| ExpectCacheUpdate();
|
| // The prefs are automatically updated in the case corruption is detected.
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| base::DictionaryValue* server_pref_dict = new base::DictionaryValue;
|
| @@ -638,7 +633,7 @@ TEST_P(HttpServerPropertiesManagerTest, BadCachedAltProtocolPort) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, SupportsSpdy) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| // Post an update task to the network thread. SetSupportsSpdy calls
|
| @@ -670,11 +665,11 @@ TEST_P(HttpServerPropertiesManagerTest, SupportsSpdy) {
|
| // update could also be scheduled once the previous scheduled update is
|
| // completed.
|
| TEST_P(HttpServerPropertiesManagerTest,
|
| - SinglePrefUpdateForTwoSpdyServerCacheChangese) {
|
| + SinglePrefUpdateForTwoSpdyServerCacheChanges) {
|
| http_server_props_manager_->set_pref_update_delay(
|
| base::TimeDelta::FromMilliseconds(60));
|
| - ExpectPrefsUpdateRepeatedly();
|
| - ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly();
|
| + ExpectPrefsUpdate(2);
|
| + ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(3);
|
|
|
| // Post an update task to the network thread. SetSupportsSpdy calls
|
| // ScheduleUpdatePrefsOnNetworkThread with a delay of 60ms.
|
| @@ -728,7 +723,7 @@ TEST_P(HttpServerPropertiesManagerTest,
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, GetAlternativeServices) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80);
|
| @@ -759,7 +754,7 @@ TEST_P(HttpServerPropertiesManagerTest, GetAlternativeServices) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, SetAlternativeServices) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80);
|
| @@ -814,7 +809,7 @@ TEST_P(HttpServerPropertiesManagerTest, SetAlternativeServicesEmpty) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, ConfirmAlternativeService) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
|
|
| url::SchemeHostPort spdy_server_mail("http", "mail.google.com", 80);
|
| EXPECT_FALSE(HasAlternativeService(spdy_server_mail));
|
| @@ -867,7 +862,7 @@ TEST_P(HttpServerPropertiesManagerTest, ConfirmAlternativeService) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, SupportsQuic) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| IPAddress address;
|
| @@ -894,7 +889,7 @@ TEST_P(HttpServerPropertiesManagerTest, SupportsQuic) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, ServerNetworkStats) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| url::SchemeHostPort mail_server("http", "mail.google.com", 80);
|
| @@ -924,7 +919,7 @@ TEST_P(HttpServerPropertiesManagerTest, ServerNetworkStats) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, QuicServerInfo) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectScheduleUpdatePrefsOnNetworkThread();
|
|
|
| QuicServerId mail_quic_server_id("mail.google.com", 80);
|
| @@ -957,8 +952,8 @@ TEST_P(HttpServerPropertiesManagerTest, Clear) {
|
| // thus can not mock the pref task runner.
|
| SetUpWithNonTaskRunner();
|
|
|
| - ExpectPrefsUpdate();
|
| - ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly();
|
| + ExpectPrefsUpdate(1);
|
| + ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(5);
|
|
|
| url::SchemeHostPort spdy_server("https", "mail.google.com", 443);
|
| http_server_props_manager_->SetSupportsSpdy(spdy_server, true);
|
| @@ -995,7 +990,7 @@ TEST_P(HttpServerPropertiesManagerTest, Clear) {
|
|
|
| Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
|
|
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
|
|
| // Clear http server data, time out if we do not get a completion callback.
|
| http_server_props_manager_->Clear(base::MessageLoop::QuitWhenIdleClosure());
|
| @@ -1120,7 +1115,7 @@ TEST_P(HttpServerPropertiesManagerTest, BadSupportsQuic) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, UpdateCacheWithPrefs) {
|
| - ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly();
|
| + ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(5);
|
|
|
| const url::SchemeHostPort server_www("http", "www.google.com", 80);
|
| const url::SchemeHostPort server_mail("http", "mail.google.com", 80);
|
| @@ -1163,7 +1158,7 @@ TEST_P(HttpServerPropertiesManagerTest, UpdateCacheWithPrefs) {
|
| http_server_props_manager_->SetSupportsQuic(true, actual_address);
|
|
|
| // Update cache.
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectCacheUpdate();
|
| http_server_props_manager_->ScheduleUpdateCacheOnPrefThread();
|
|
|
| @@ -1270,7 +1265,7 @@ TEST_P(HttpServerPropertiesManagerTest, DoNotLoadAltSvcForInsecureOrigins) {
|
| // Do not persist expired or broken alternative service entries to disk.
|
| TEST_P(HttpServerPropertiesManagerTest,
|
| DoNotPersistExpiredOrBrokenAlternativeService) {
|
| - ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly();
|
| + ExpectScheduleUpdatePrefsOnNetworkThreadRepeatedly(2);
|
|
|
| AlternativeServiceInfoVector alternative_service_info_vector;
|
|
|
| @@ -1300,7 +1295,7 @@ TEST_P(HttpServerPropertiesManagerTest,
|
| server, alternative_service_info_vector);
|
|
|
| // Update cache.
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| ExpectCacheUpdate();
|
| http_server_props_manager_->ScheduleUpdateCacheOnPrefThread();
|
|
|
| @@ -1446,7 +1441,7 @@ TEST_P(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs0) {
|
| }
|
|
|
| TEST_P(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs1) {
|
| - ExpectPrefsUpdate();
|
| + ExpectPrefsUpdate(1);
|
| // Post an update task.
|
| http_server_props_manager_->ScheduleUpdatePrefsOnNetworkThread();
|
| // Shutdown comes before the task is executed.
|
|
|