| Index: components/offline_pages/offline_page_storage_manager_unittest.cc
|
| diff --git a/components/offline_pages/offline_page_storage_manager_unittest.cc b/components/offline_pages/offline_page_storage_manager_unittest.cc
|
| index 372037a7e23b9a6e011d695045f7aeecf087604e..6528eedb7f76e8d9916b0591bcd829462dbb17c8 100644
|
| --- a/components/offline_pages/offline_page_storage_manager_unittest.cc
|
| +++ b/components/offline_pages/offline_page_storage_manager_unittest.cc
|
| @@ -35,9 +35,7 @@ const int64_t kFreeSpaceNormal = 100 * (1 << 20);
|
|
|
| enum TestOptions {
|
| DEFAULT = 1 << 0,
|
| - EXPIRE_FAILURE = 1 << 1,
|
| - DELETE_FAILURE = 1 << 2,
|
| - EXPIRE_AND_DELETE_FAILURES = EXPIRE_FAILURE | DELETE_FAILURE,
|
| + DELETE_FAILURE = 1 << 1,
|
| };
|
|
|
| struct PageSettings {
|
| @@ -72,12 +70,10 @@ class OfflinePageTestModel : public OfflinePageModelImpl {
|
| void DeletePagesByOfflineId(const std::vector<int64_t>& offline_ids,
|
| const DeletePageCallback& callback) override;
|
|
|
| - void ExpirePages(const std::vector<int64_t>& offline_ids,
|
| - const base::Time& expiration_time,
|
| - const base::Callback<void(bool)>& callback) override;
|
| -
|
| void AddPages(const PageSettings& setting);
|
|
|
| + // The |removed_pages_| would not be cleared in during a test, so the number
|
| + // of removed pages will be accumulative in a single test case.
|
| const std::vector<OfflinePageItem>& GetRemovedPages() {
|
| return removed_pages_;
|
| }
|
| @@ -100,19 +96,6 @@ class OfflinePageTestModel : public OfflinePageModelImpl {
|
| int64_t next_offline_id_;
|
| };
|
|
|
| -void OfflinePageTestModel::ExpirePages(
|
| - const std::vector<int64_t>& offline_ids,
|
| - const base::Time& expiration_time,
|
| - const base::Callback<void(bool)>& callback) {
|
| - for (const auto id : offline_ids)
|
| - pages_.at(id).expiration_time = expiration_time;
|
| - if (options_ & TestOptions::EXPIRE_FAILURE) {
|
| - callback.Run(false);
|
| - return;
|
| - }
|
| - callback.Run(true);
|
| -}
|
| -
|
| void OfflinePageTestModel::DeletePagesByOfflineId(
|
| const std::vector<int64_t>& offline_ids,
|
| const DeletePageCallback& callback) {
|
| @@ -129,10 +112,8 @@ void OfflinePageTestModel::DeletePagesByOfflineId(
|
|
|
| int64_t OfflinePageTestModel::GetTotalSize() const {
|
| int64_t res = 0;
|
| - for (const auto& id_page_pair : pages_) {
|
| - if (!id_page_pair.second.IsExpired())
|
| - res += id_page_pair.second.file_size;
|
| - }
|
| + for (const auto& id_page_pair : pages_)
|
| + res += id_page_pair.second.file_size;
|
| return res;
|
| }
|
|
|
| @@ -274,7 +255,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearPagesLessThanLimit) {
|
| EXPECT_EQ(2, last_cleared_page_count());
|
| EXPECT_EQ(1, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(2, static_cast<int>(model()->GetRemovedPages().size()));
|
| }
|
|
|
| TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreThanLimit) {
|
| @@ -285,7 +266,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreThanLimit) {
|
| EXPECT_EQ(45, last_cleared_page_count());
|
| EXPECT_EQ(1, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(45, static_cast<int>(model()->GetRemovedPages().size()));
|
| }
|
|
|
| TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreFreshPages) {
|
| @@ -297,7 +278,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreFreshPages) {
|
| EXPECT_EQ(1, last_cleared_page_count());
|
| EXPECT_EQ(1, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(1, static_cast<int>(model()->GetRemovedPages().size()));
|
| }
|
|
|
| TEST_F(OfflinePageStorageManagerTest, TestDeleteAsyncPages) {
|
| @@ -321,26 +302,6 @@ TEST_F(OfflinePageStorageManagerTest, TestDeletionFailed) {
|
| EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| }
|
|
|
| -TEST_F(OfflinePageStorageManagerTest, TestRemoveFromStoreFailure) {
|
| - Initialize(std::vector<PageSettings>({{kBookmarkNamespace, 10, 10}}), {0, 0},
|
| - TestOptions::EXPIRE_FAILURE);
|
| - clock()->Advance(base::TimeDelta::FromMinutes(30));
|
| - TryClearPages();
|
| - EXPECT_EQ(10, last_cleared_page_count());
|
| - EXPECT_EQ(1, total_cleared_times());
|
| - EXPECT_EQ(ClearStorageResult::EXPIRE_FAILURE, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| -}
|
| -
|
| -TEST_F(OfflinePageStorageManagerTest, TestBothFailure) {
|
| - Initialize(std::vector<PageSettings>({{kBookmarkNamespace, 10, 10}}), {0, 0},
|
| - TestOptions::EXPIRE_AND_DELETE_FAILURES);
|
| - clock()->Advance(base::TimeDelta::FromMinutes(30));
|
| - TryClearPages();
|
| - EXPECT_EQ(ClearStorageResult::EXPIRE_AND_DELETE_FAILURES,
|
| - last_clear_storage_result());
|
| -}
|
| -
|
| TEST_F(OfflinePageStorageManagerTest, TestStorageTimeInterval) {
|
| Initialize(std::vector<PageSettings>(
|
| {{kBookmarkNamespace, 10, 10}, {kLastNNamespace, 10, 10}}));
|
| @@ -349,7 +310,7 @@ TEST_F(OfflinePageStorageManagerTest, TestStorageTimeInterval) {
|
| EXPECT_EQ(20, last_cleared_page_count());
|
| EXPECT_EQ(1, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(20, static_cast<int>(model()->GetRemovedPages().size()));
|
|
|
| // Advance clock so we go over the gap, but no expired pages.
|
| clock()->Advance(constants::kClearStorageInterval +
|
| @@ -358,7 +319,7 @@ TEST_F(OfflinePageStorageManagerTest, TestStorageTimeInterval) {
|
| EXPECT_EQ(0, last_cleared_page_count());
|
| EXPECT_EQ(2, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(20, static_cast<int>(model()->GetRemovedPages().size()));
|
|
|
| // Advance clock so we are still in the gap, should be unnecessary.
|
| clock()->Advance(constants::kClearStorageInterval -
|
| @@ -367,25 +328,7 @@ TEST_F(OfflinePageStorageManagerTest, TestStorageTimeInterval) {
|
| EXPECT_EQ(0, last_cleared_page_count());
|
| EXPECT_EQ(3, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::UNNECESSARY, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| -}
|
| -
|
| -TEST_F(OfflinePageStorageManagerTest, TestTwoStepExpiration) {
|
| - Initialize(std::vector<PageSettings>({{kBookmarkNamespace, 10, 10}}));
|
| - clock()->Advance(base::TimeDelta::FromMinutes(30));
|
| - TryClearPages();
|
| - EXPECT_EQ(10, last_cleared_page_count());
|
| - EXPECT_EQ(1, total_cleared_times());
|
| - EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| -
|
| - clock()->Advance(constants::kRemovePageItemInterval +
|
| - base::TimeDelta::FromDays(1));
|
| - TryClearPages();
|
| - EXPECT_EQ(10, last_cleared_page_count());
|
| - EXPECT_EQ(2, total_cleared_times());
|
| - EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(10, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(20, static_cast<int>(model()->GetRemovedPages().size()));
|
| }
|
|
|
| TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) {
|
| @@ -401,7 +344,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) {
|
| EXPECT_EQ(1, last_cleared_page_count());
|
| EXPECT_EQ(1, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(1, static_cast<int>(model()->GetRemovedPages().size()));
|
|
|
| // Advance the clock by expiration period of last_n namespace, should be
|
| // expiring all pages left in the namespace.
|
| @@ -410,7 +353,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) {
|
| EXPECT_EQ(100, last_cleared_page_count());
|
| EXPECT_EQ(2, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(101, static_cast<int>(model()->GetRemovedPages().size()));
|
|
|
| // Only 1 ms passes and no changes in pages, so no need to clear page.
|
| clock()->Advance(base::TimeDelta::FromMilliseconds(1));
|
| @@ -418,7 +361,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) {
|
| EXPECT_EQ(0, last_cleared_page_count());
|
| EXPECT_EQ(3, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::UNNECESSARY, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| + EXPECT_EQ(101, static_cast<int>(model()->GetRemovedPages().size()));
|
|
|
| // Adding more fresh pages to make it go over limit.
|
| clock()->Advance(base::TimeDelta::FromMinutes(5));
|
| @@ -433,20 +376,19 @@ TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) {
|
| model()->GetTotalSize());
|
| EXPECT_EQ(4, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - EXPECT_EQ(0, static_cast<int>(model()->GetRemovedPages().size()));
|
| - int expired_page_count = last_cleared_page_count();
|
| + int deleted_page_total = last_cleared_page_count() + 101;
|
| + EXPECT_EQ(deleted_page_total,
|
| + static_cast<int>(model()->GetRemovedPages().size()));
|
|
|
| - // After more days, all pages should be expired and .
|
| - clock()->Advance(constants::kRemovePageItemInterval +
|
| - base::TimeDelta::FromDays(1));
|
| + // After more days, all pages should be deleted.
|
| + clock()->Advance(base::TimeDelta::FromDays(30));
|
| TryClearPages();
|
| EXPECT_EQ(0, model()->GetTotalSize());
|
| EXPECT_EQ(5, total_cleared_times());
|
| EXPECT_EQ(ClearStorageResult::SUCCESS, last_clear_storage_result());
|
| - // Number of removed pages should be the ones expired above and all the pages
|
| - // initially created for last_n namespace.
|
| - EXPECT_EQ(expired_page_count + 101,
|
| - static_cast<int>(model()->GetRemovedPages().size()));
|
| + // Number of removed pages should be all the pages initially created plus 400
|
| + // more pages added above for bookmark namespace.
|
| + EXPECT_EQ(171 + 400, static_cast<int>(model()->GetRemovedPages().size()));
|
| }
|
|
|
| } // namespace offline_pages
|
|
|