diff options
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.cc | 59 |
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(); |