OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "components/doodle/doodle_service.h" | 5 #include "components/doodle/doodle_service.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 ASSERT_THAT(fetcher()->num_pending_callbacks(), Eq(0u)); | 483 ASSERT_THAT(fetcher()->num_pending_callbacks(), Eq(0u)); |
484 | 484 |
485 // The outcome should still have been recorded, but not the time - we only | 485 // The outcome should still have been recorded, but not the time - we only |
486 // record that for successful downloads. | 486 // record that for successful downloads. |
487 histograms.ExpectUniqueSample("Doodle.ConfigDownloadOutcome", | 487 histograms.ExpectUniqueSample("Doodle.ConfigDownloadOutcome", |
488 7, // OUTCOME_REFRESH_INTERVAL_NOT_PASSED | 488 7, // OUTCOME_REFRESH_INTERVAL_NOT_PASSED |
489 1); | 489 1); |
490 histograms.ExpectTotalCount("Doodle.ConfigDownloadTime", 0); | 490 histograms.ExpectTotalCount("Doodle.ConfigDownloadTime", 0); |
491 } | 491 } |
492 | 492 |
| 493 TEST_F(DoodleServiceTest, RefreshReturnsFalseOnlyForSkippedRefreshAttempts) { |
| 494 // Create a service with some refresh interval. |
| 495 RecreateService(/*min_refresh_interval=*/base::TimeDelta::FromMinutes(10)); |
| 496 |
| 497 // Trigger a refresh resulting in a fetch that receives information about no |
| 498 // newer doodle being available. |
| 499 EXPECT_TRUE(service()->Refresh()); |
| 500 fetcher()->ServeAllCallbacks(DoodleState::NO_DOODLE, base::TimeDelta(), |
| 501 base::nullopt); |
| 502 |
| 503 // Request a refresh before the min refresh interval has passed which should |
| 504 // not have resulted in a request. |
| 505 EXPECT_FALSE(service()->Refresh()); |
| 506 EXPECT_THAT(fetcher()->num_pending_callbacks(), Eq(0u)); |
| 507 } |
| 508 |
493 TEST_F(DoodleServiceTest, DoesNotRecordMetricsAtStartup) { | 509 TEST_F(DoodleServiceTest, DoesNotRecordMetricsAtStartup) { |
494 // Creating the service should not emit any histogram samples. | 510 // Creating the service should not emit any histogram samples. |
495 base::HistogramTester histograms; | 511 base::HistogramTester histograms; |
496 RecreateServiceWithZeroRefreshInterval(); | 512 RecreateServiceWithZeroRefreshInterval(); |
497 ASSERT_THAT(service()->config(), Eq(base::nullopt)); | 513 ASSERT_THAT(service()->config(), Eq(base::nullopt)); |
498 histograms.ExpectTotalCount("Doodle.ConfigDownloadOutcome", 0); | 514 histograms.ExpectTotalCount("Doodle.ConfigDownloadOutcome", 0); |
499 histograms.ExpectTotalCount("Doodle.ConfigDownloadTime", 0); | 515 histograms.ExpectTotalCount("Doodle.ConfigDownloadTime", 0); |
500 } | 516 } |
501 | 517 |
502 TEST_F(DoodleServiceTest, DoesNotRecordMetricsAtStartupWithConfig) { | 518 TEST_F(DoodleServiceTest, DoesNotRecordMetricsAtStartupWithConfig) { |
(...skipping 26 matching lines...) Expand all Loading... |
529 // Fast-forward time so that the config expires. | 545 // Fast-forward time so that the config expires. |
530 task_runner()->FastForwardBy(base::TimeDelta::FromHours(1)); | 546 task_runner()->FastForwardBy(base::TimeDelta::FromHours(1)); |
531 ASSERT_THAT(service()->config(), Eq(base::nullopt)); | 547 ASSERT_THAT(service()->config(), Eq(base::nullopt)); |
532 | 548 |
533 // This should not have resulted in any metrics being emitted. | 549 // This should not have resulted in any metrics being emitted. |
534 histograms.ExpectTotalCount("Doodle.ConfigDownloadOutcome", 0); | 550 histograms.ExpectTotalCount("Doodle.ConfigDownloadOutcome", 0); |
535 histograms.ExpectTotalCount("Doodle.ConfigDownloadTime", 0); | 551 histograms.ExpectTotalCount("Doodle.ConfigDownloadTime", 0); |
536 } | 552 } |
537 | 553 |
538 } // namespace doodle | 554 } // namespace doodle |
OLD | NEW |