summaryrefslogtreecommitdiff
path: root/chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc')
-rw-r--r--chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc59
1 files changed, 48 insertions, 11 deletions
diff --git a/chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc b/chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc
index 89b7432c2af..c5d11207922 100644
--- a/chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc
+++ b/chromium/components/offline_pages/core/offline_page_model_impl_unittest.cc
@@ -131,6 +131,8 @@ class OfflinePageModelImplTest
MultipleOfflinePageItemResult GetAllPages();
MultipleOfflinePageItemResult GetPagesByClientIds(
const std::vector<ClientId>& client_ids);
+ MultipleOfflinePageItemResult GetPagesByRequestOrigin(
+ const std::string& origin);
void DeletePagesByClientIds(const std::vector<ClientId>& client_ids);
// Saves the page without waiting for it to finish.
@@ -333,8 +335,10 @@ OfflinePageModelImplTest::BuildStore() {
std::unique_ptr<OfflinePageModelImpl> OfflinePageModelImplTest::BuildModel(
std::unique_ptr<OfflinePageMetadataStore> store) {
+ std::unique_ptr<ArchiveManager> archive_manager(new ArchiveManager(
+ temp_dir_.GetPath(), base::ThreadTaskRunnerHandle::Get()));
return std::unique_ptr<OfflinePageModelImpl>(
- new OfflinePageModelImpl(std::move(store), temp_dir_.GetPath(),
+ new OfflinePageModelImpl(std::move(store), std::move(archive_manager),
base::ThreadTaskRunnerHandle::Get()));
}
@@ -457,6 +461,17 @@ MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByClientIds(
return result;
}
+MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByRequestOrigin(
+ const std::string& origin) {
+ MultipleOfflinePageItemResult result;
+ model()->GetPagesByRequestOrigin(
+ origin,
+ base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
+ AsWeakPtr(), base::Unretained(&result)));
+ PumpLoop();
+ return result;
+}
+
void OfflinePageModelImplTest::DeletePagesByClientIds(
const std::vector<ClientId>& client_ids) {
model()->DeletePagesByClientIds(
@@ -527,8 +542,7 @@ MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByFinalURL(
const GURL& url) {
MultipleOfflinePageItemResult result;
model()->GetPagesByURL(
- url,
- OfflinePageModel::URLSearchMode::SEARCH_BY_FINAL_URL_ONLY,
+ url, URLSearchMode::SEARCH_BY_FINAL_URL_ONLY,
base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
AsWeakPtr(), base::Unretained(&result)));
PumpLoop();
@@ -539,8 +553,7 @@ MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByAllURLS(
const GURL& url) {
MultipleOfflinePageItemResult result;
model()->GetPagesByURL(
- url,
- OfflinePageModel::URLSearchMode::SEARCH_BY_ALL_URLS,
+ url, URLSearchMode::SEARCH_BY_ALL_URLS,
base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
AsWeakPtr(), base::Unretained(&result)));
PumpLoop();
@@ -698,8 +711,8 @@ TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) {
TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) {
// Don't create archiver since it will not be needed for pages that are not
// going to be saved.
- SavePageWithArchiver(
- kFileUrl, kTestClientId1, std::unique_ptr<OfflinePageTestArchiver>());
+ SavePageWithArchiver(kFileUrl, kTestClientId1,
+ std::unique_ptr<OfflinePageTestArchiver>());
EXPECT_EQ(SavePageResult::SKIPPED, last_save_result());
}
@@ -1069,8 +1082,8 @@ TEST_F(OfflinePageModelImplTest, DetectThatHeadlessPageIsDeleted) {
EXPECT_TRUE(base::PathExists(path));
// Since we've manually changed the store, we have to reload the model to
- // actually refresh the in-memory copy in model. Otherwise GetAllPages() would
- // still have the page we saved above.
+ // actually refresh the in-memory copy in model. Otherwise GetAllPages()
+ // would still have the page we saved above.
ResetModel();
PumpLoop();
@@ -1336,6 +1349,30 @@ TEST_F(OfflinePageModelImplTest, GetPagesByClientIds) {
EXPECT_EQ(kTestUrl2, item.url);
}
+TEST_F(OfflinePageModelImplTest, GetPagesByRequestOrigin) {
+ // We will save 3 pages.
+ std::string origin1("abc.xyz");
+ std::string origin2("abc");
+ std::pair<SavePageResult, int64_t> save_pages[3];
+ save_pages[0] = SavePage(kTestUrl, kTestClientId1, origin1);
+ save_pages[1] = SavePage(kTestUrl2, kTestClientId2, origin2);
+ save_pages[2] = SavePage(kTestUrl3, kTestClientId3, origin1);
+
+ for (const auto& save_result : save_pages) {
+ ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS,
+ std::get<0>(save_result));
+ }
+
+ std::vector<OfflinePageItem> offline_pages = GetPagesByRequestOrigin(origin2);
+ EXPECT_EQ(1U, offline_pages.size());
+
+ const OfflinePageItem& item = offline_pages[0];
+ EXPECT_EQ(kTestUrl2, item.url);
+ EXPECT_EQ(origin2, item.request_origin);
+ EXPECT_EQ(kTestClientId2.name_space, item.client_id.name_space);
+ EXPECT_EQ(kTestClientId2.id, item.client_id.id);
+}
+
TEST_F(OfflinePageModelImplTest, DeletePagesByClientIds) {
// We will save 3 pages.
std::pair<SavePageResult, int64_t> saved_pages[3];
@@ -1404,8 +1441,8 @@ TEST_F(OfflinePageModelImplTest, StoreLoadFailurePersists) {
// Should record failure to load.
histograms().ExpectBucketCount("OfflinePages.Model.FinalLoadSuccessful",
false, 1);
- // Should show the previous count since no attempts are recorded for failure.
- // In case of failure, all attempts are assumed spent.
+ // Should show the previous count since no attempts are recorded for
+ // failure. In case of failure, all attempts are assumed spent.
histograms().ExpectUniqueSample("OfflinePages.Model.InitAttemptsSpent", 1, 1);
const std::vector<OfflinePageItem>& offline_pages = GetAllPages();