Index: components/offline_pages/core/offline_page_storage_manager_unittest.cc |
diff --git a/components/offline_pages/core/offline_page_storage_manager_unittest.cc b/components/offline_pages/core/offline_page_storage_manager_unittest.cc |
index bc3208a2dcce6312ca77abb151faf1898e3f27a1..29dbced847b88715f5a8bce7167c73950270b666 100644 |
--- a/components/offline_pages/core/offline_page_storage_manager_unittest.cc |
+++ b/components/offline_pages/core/offline_page_storage_manager_unittest.cc |
@@ -13,7 +13,6 @@ |
#include "base/test/simple_test_clock.h" |
#include "base/time/time.h" |
#include "components/offline_pages/core/archive_manager.h" |
-#include "components/offline_pages/core/client_namespace_constants.h" |
#include "components/offline_pages/core/client_policy_controller.h" |
#include "components/offline_pages/core/offline_page_item.h" |
#include "components/offline_pages/core/offline_page_model_impl.h" |
@@ -28,6 +27,9 @@ using StorageStats = offline_pages::ArchiveManager::StorageStats; |
namespace offline_pages { |
namespace { |
+const char kOneDayNamespace[] = "temporary_namespace_1day"; |
+const char kOneWeekNamespace[] = "temporary_namespace_7day"; |
+const char kPersistentNamespace[] = "persistent_namespace"; |
const GURL kTestUrl("http://example.com"); |
const base::FilePath::CharType kFilePath[] = FILE_PATH_LITERAL("/data"); |
const int64_t kTestFileSize = 1 << 19; // Make a page 512KB. |
@@ -49,11 +51,30 @@ class OfflinePageTestModel : public OfflinePageModelImpl { |
public: |
OfflinePageTestModel(std::vector<PageSettings> page_settings, |
base::SimpleTestClock* clock, |
+ ClientPolicyController* policy_controller, |
TestOptions options = TestOptions::DEFAULT) |
- : policy_controller_(new ClientPolicyController()), |
+ : policy_controller_(policy_controller), |
clock_(clock), |
options_(options), |
next_offline_id_(0) { |
+ policy_controller_->AddPolicyForTest( |
+ kOneDayNamespace, |
+ OfflinePageClientPolicyBuilder(kOneDayNamespace, |
+ LifetimePolicy::LifetimeType::TEMPORARY, |
+ kUnlimitedPages, kUnlimitedPages) |
+ .SetExpirePeriod(base::TimeDelta::FromDays(1))); |
+ policy_controller_->AddPolicyForTest( |
+ kOneWeekNamespace, |
+ OfflinePageClientPolicyBuilder(kOneWeekNamespace, |
+ LifetimePolicy::LifetimeType::TEMPORARY, |
+ kUnlimitedPages, 1) |
+ .SetExpirePeriod(base::TimeDelta::FromDays(7))); |
+ policy_controller_->AddPolicyForTest( |
+ kPersistentNamespace, |
+ OfflinePageClientPolicyBuilder(kPersistentNamespace, |
+ LifetimePolicy::LifetimeType::PERSISTENT, |
+ kUnlimitedPages, kUnlimitedPages) |
+ .SetIsRemovedOnCacheReset(false)); |
for (const auto& setting : page_settings) |
AddPages(setting); |
} |
@@ -82,12 +103,17 @@ class OfflinePageTestModel : public OfflinePageModelImpl { |
base::SimpleTestClock* clock() { return clock_; } |
+ ClientPolicyController* GetPolicyController() override { |
+ return policy_controller_; |
+ } |
+ |
private: |
std::map<int64_t, OfflinePageItem> pages_; |
std::vector<OfflinePageItem> removed_pages_; |
- std::unique_ptr<ClientPolicyController> policy_controller_; |
+ // Owned by the test. |
+ ClientPolicyController* policy_controller_; |
base::SimpleTestClock* clock_; |
@@ -217,7 +243,8 @@ void OfflinePageStorageManagerTest::Initialize( |
std::unique_ptr<base::SimpleTestClock> clock(new base::SimpleTestClock()); |
clock_ = clock.get(); |
clock_->SetNow(base::Time::Now()); |
- model_.reset(new OfflinePageTestModel(page_settings, clock_, options)); |
+ model_.reset(new OfflinePageTestModel(page_settings, clock_, |
+ policy_controller_.get(), options)); |
if (stats.free_disk_space == 0) |
stats.free_disk_space = kFreeSpaceNormal; |
@@ -249,7 +276,7 @@ void OfflinePageStorageManagerTest::OnPagesCleared(size_t pages_cleared_count, |
TEST_F(OfflinePageStorageManagerTest, TestClearPagesLessThanLimit) { |
Initialize(std::vector<PageSettings>( |
- {{kBookmarkNamespace, 1, 1}, {kLastNNamespace, 1, 1}})); |
+ {{kOneWeekNamespace, 1, 1}, {kOneDayNamespace, 1, 1}})); |
clock()->Advance(base::TimeDelta::FromMinutes(30)); |
TryClearPages(); |
EXPECT_EQ(2, last_cleared_page_count()); |
@@ -260,7 +287,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearPagesLessThanLimit) { |
TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreThanLimit) { |
Initialize(std::vector<PageSettings>( |
- {{kBookmarkNamespace, 10, 15}, {kLastNNamespace, 5, 30}})); |
+ {{kOneWeekNamespace, 10, 15}, {kOneDayNamespace, 5, 30}})); |
clock()->Advance(base::TimeDelta::FromMinutes(30)); |
TryClearPages(); |
EXPECT_EQ(45, last_cleared_page_count()); |
@@ -271,7 +298,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreThanLimit) { |
TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreFreshPages) { |
Initialize(std::vector<PageSettings>( |
- {{kBookmarkNamespace, 30, 0}, {kLastNNamespace, 100, 1}}), |
+ {{kOneWeekNamespace, 30, 0}, {kOneDayNamespace, 100, 1}}), |
{1000 * (1 << 20), 0}); |
clock()->Advance(base::TimeDelta::FromMinutes(30)); |
TryClearPages(); |
@@ -281,8 +308,8 @@ TEST_F(OfflinePageStorageManagerTest, TestClearPagesMoreFreshPages) { |
EXPECT_EQ(1, static_cast<int>(model()->GetRemovedPages().size())); |
} |
-TEST_F(OfflinePageStorageManagerTest, TestDeleteAsyncPages) { |
- Initialize(std::vector<PageSettings>({{kAsyncNamespace, 20, 0}})); |
+TEST_F(OfflinePageStorageManagerTest, TestDeletePersistentPages) { |
+ Initialize(std::vector<PageSettings>({{kPersistentNamespace, 20, 0}})); |
clock()->Advance(base::TimeDelta::FromDays(367)); |
TryClearPages(); |
EXPECT_EQ(0, last_cleared_page_count()); |
@@ -293,7 +320,7 @@ TEST_F(OfflinePageStorageManagerTest, TestDeleteAsyncPages) { |
TEST_F(OfflinePageStorageManagerTest, TestDeletionFailed) { |
Initialize(std::vector<PageSettings>( |
- {{kBookmarkNamespace, 10, 10}, {kLastNNamespace, 10, 10}}), |
+ {{kOneWeekNamespace, 10, 10}, {kOneDayNamespace, 10, 10}}), |
{kFreeSpaceNormal, 0}, TestOptions::DELETE_FAILURE); |
TryClearPages(); |
EXPECT_EQ(20, last_cleared_page_count()); |
@@ -304,7 +331,7 @@ TEST_F(OfflinePageStorageManagerTest, TestDeletionFailed) { |
TEST_F(OfflinePageStorageManagerTest, TestStorageTimeInterval) { |
Initialize(std::vector<PageSettings>( |
- {{kBookmarkNamespace, 10, 10}, {kLastNNamespace, 10, 10}})); |
+ {{kOneWeekNamespace, 10, 10}, {kOneDayNamespace, 10, 10}})); |
clock()->Advance(base::TimeDelta::FromMinutes(30)); |
TryClearPages(); |
EXPECT_EQ(20, last_cleared_page_count()); |
@@ -332,13 +359,13 @@ TEST_F(OfflinePageStorageManagerTest, TestStorageTimeInterval) { |
} |
TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) { |
- Initialize(std::vector<PageSettings>({{kBookmarkNamespace, 30, 0}, |
- {kLastNNamespace, 100, 1}, |
- {kAsyncNamespace, 40, 0}}), |
+ Initialize(std::vector<PageSettings>({{kOneWeekNamespace, 30, 0}, |
+ {kOneDayNamespace, 100, 1}, |
+ {kPersistentNamespace, 40, 0}}), |
{1000 * (1 << 20), 0}); |
clock()->Advance(base::TimeDelta::FromMinutes(30)); |
LifetimePolicy policy = |
- policy_controller()->GetPolicy(kLastNNamespace).lifetime_policy; |
+ policy_controller()->GetPolicy(kOneDayNamespace).lifetime_policy; |
TryClearPages(); |
EXPECT_EQ(1, last_cleared_page_count()); |
@@ -365,7 +392,7 @@ TEST_F(OfflinePageStorageManagerTest, TestClearMultipleTimes) { |
// Adding more fresh pages to make it go over limit. |
clock()->Advance(base::TimeDelta::FromMinutes(5)); |
- model()->AddPages({kBookmarkNamespace, 400, 0}); |
+ model()->AddPages({kOneWeekNamespace, 400, 0}); |
int64_t total_size_before = model()->GetTotalSize(); |
int64_t available_space = 300 * (1 << 20); // 300 MB |
test_archive_manager()->SetValues({available_space, total_size_before}); |