Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1296)

Unified Diff: components/offline_pages/offline_page_model_impl_unittest.cc

Issue 2429943002: Remove all synchronous methods from OfflinePageBridge. (Closed)
Patch Set: Fix a test and address nits. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/offline_pages/offline_page_model_impl_unittest.cc
diff --git a/components/offline_pages/offline_page_model_impl_unittest.cc b/components/offline_pages/offline_page_model_impl_unittest.cc
index a65ef23c02b87be71f0671690ce94afce05ba0b3..fa00760796b4d4733d7342277fc070b43a1b0021 100644
--- a/components/offline_pages/offline_page_model_impl_unittest.cc
+++ b/components/offline_pages/offline_page_model_impl_unittest.cc
@@ -119,6 +119,9 @@ class OfflinePageModelImplTest
OfflinePageTestStore* GetStore();
MultipleOfflinePageItemResult GetAllPages();
+ MultipleOfflinePageItemResult GetPagesByClientIds(
+ const std::vector<ClientId>& client_ids);
+ void DeletePagesByClientIds(const std::vector<ClientId>& client_ids);
// Returns the offline ID of the saved page.
std::pair<SavePageResult, int64_t> SavePage(const GURL& url,
@@ -330,6 +333,25 @@ MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() {
return result;
}
+MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByClientIds(
+ const std::vector<ClientId>& client_ids) {
+ MultipleOfflinePageItemResult result;
+ model()->GetPagesByClientIds(
+ client_ids,
+ base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
+ AsWeakPtr(), base::Unretained(&result)));
+ PumpLoop();
+ return result;
+}
+
+void OfflinePageModelImplTest::DeletePagesByClientIds(
+ const std::vector<ClientId>& client_ids) {
+ model()->DeletePagesByClientIds(
+ client_ids,
+ base::Bind(&OfflinePageModelImplTest::OnDeletePageDone, AsWeakPtr()));
+ PumpLoop();
+}
+
CheckPagesExistOfflineResult OfflinePageModelImplTest::CheckPagesExistOffline(
std::set<GURL> pages) {
model()->CheckPagesExistOffline(
@@ -1036,27 +1058,6 @@ TEST_F(OfflinePageModelImplTest, DownloadMetrics) {
"OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1);
}
-TEST_F(OfflinePageModelImplTest, GetBestPage) {
- // We will save 3 pages - two for the same URL, and one for a different URL.
- // Correct behavior will pick the most recently saved page for the correct
- // URL.
- std::pair<SavePageResult, int64_t> saved_pages[3];
- saved_pages[0] = SavePage(kTestUrl, kTestClientId1);
- saved_pages[1] = SavePage(kTestUrl, kTestClientId1);
- saved_pages[2] = SavePage(kTestUrl2, kTestClientId2);
-
- for (const auto& save_result : saved_pages) {
- ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS,
- std::get<0>(save_result));
- }
-
- const OfflinePageItem* offline_page =
- model()->MaybeGetBestPageForOnlineURL(kTestUrl);
- ASSERT_TRUE(nullptr != offline_page);
-
- EXPECT_EQ(std::get<1>(saved_pages[1]), offline_page->offline_id);
-}
-
TEST_F(OfflinePageModelImplTest, ExpirePages) {
// We will save 3 pages and then expire 2 of them.
std::pair<SavePageResult, int64_t> saved_pages[3];
@@ -1095,6 +1096,60 @@ TEST_F(OfflinePageModelImplTest, ExpirePages) {
EXPECT_TRUE(last_expire_page_result());
}
+TEST_F(OfflinePageModelImplTest, GetPagesByClientIds) {
+ // We will save 3 pages. One will be expired.
+ std::pair<SavePageResult, int64_t> saved_pages[3];
+ saved_pages[0] = SavePage(kTestUrl, kTestClientId1);
+ saved_pages[1] = SavePage(kTestUrl2, kTestClientId2);
+ saved_pages[2] = SavePage(kTestUrl3, kTestClientId3);
+
+ for (const auto& save_result : saved_pages) {
+ ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS,
+ std::get<0>(save_result));
+ }
+
+ std::vector<int64_t> pages_to_expire = {std::get<1>(saved_pages[0])};
+ // Pages are marked as expired if they have an expiration_time set.
+ base::Time expiration_time =
+ base::Time::Now() + base::TimeDelta::FromMinutes(5);
+ model()->ExpirePages(
+ pages_to_expire, expiration_time,
+ base::Bind(&OfflinePageModelImplTest::OnPagesExpired, AsWeakPtr()));
+ PumpLoop();
+
+ std::vector<ClientId> client_ids = {kTestClientId1, kTestClientId2};
+ std::vector<OfflinePageItem> offline_pages = GetPagesByClientIds(client_ids);
+ EXPECT_EQ(1U, offline_pages.size());
+
+ const OfflinePageItem& item = offline_pages[0];
+ EXPECT_EQ(kTestClientId2.name_space, item.client_id.name_space);
+ EXPECT_EQ(kTestClientId2.id, item.client_id.id);
+ EXPECT_EQ(kTestUrl2, item.url);
+}
+
+TEST_F(OfflinePageModelImplTest, DeletePagesByClientIds) {
+ // We will save 3 pages.
+ std::pair<SavePageResult, int64_t> saved_pages[3];
+ saved_pages[0] = SavePage(kTestUrl, kTestClientId1);
+ saved_pages[1] = SavePage(kTestUrl2, kTestClientId2);
+ saved_pages[2] = SavePage(kTestUrl3, kTestClientId3);
+
+ for (const auto& save_result : saved_pages) {
+ ASSERT_EQ(OfflinePageModel::SavePageResult::SUCCESS,
+ std::get<0>(save_result));
+ }
+
+ std::vector<ClientId> client_ids = {kTestClientId1, kTestClientId2};
+ DeletePagesByClientIds(client_ids);
+ std::vector<OfflinePageItem> offline_pages = GetAllPages();
+ ASSERT_EQ(1U, offline_pages.size());
+
+ const OfflinePageItem& item = offline_pages[0];
+ EXPECT_EQ(kTestClientId3.name_space, item.client_id.name_space);
+ EXPECT_EQ(kTestClientId3.id, item.client_id.id);
+ EXPECT_EQ(kTestUrl3, item.url);
+}
+
TEST_F(OfflinePageModelImplTest, CustomTabsNamespace) {
SavePage(kTestUrl, ClientId(kCCTNamespace, "123"));
std::string histogram_name = "OfflinePages.SavePageResult.";
« no previous file with comments | « components/offline_pages/offline_page_model_impl.cc ('k') | components/offline_pages/stub_offline_page_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698