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

Unified Diff: chrome/browser/android/offline_pages/offline_page_utils_unittest.cc

Issue 2041983006: [Offline Pages] Filtering expired pages and fix consistency check. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments and some naming changes. Created 4 years, 6 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: chrome/browser/android/offline_pages/offline_page_utils_unittest.cc
diff --git a/chrome/browser/android/offline_pages/offline_page_utils_unittest.cc b/chrome/browser/android/offline_pages/offline_page_utils_unittest.cc
index 06173eacea2d88d0a9f0b27416e7e9476826e093..07093e1c97a0b72c01f904e0f4891625c588eecd 100644
--- a/chrome/browser/android/offline_pages/offline_page_utils_unittest.cc
+++ b/chrome/browser/android/offline_pages/offline_page_utils_unittest.cc
@@ -35,9 +35,11 @@ namespace {
const GURL kTestPage1Url("http://test.org/page1");
const GURL kTestPage2Url("http://test.org/page2");
const GURL kTestPage3Url("http://test.org/page3");
+const GURL kTestPage4Url("http://test.org/page4");
const int64_t kTestFileSize = 876543LL;
const char* kTestPage1ClientId = "1234";
const char* kTestPage2ClientId = "5678";
+const char* kTestPage4ClientId = "9876";
} // namespace
@@ -55,6 +57,7 @@ class OfflinePageUtilsTest
// Necessary callbacks for the offline page model.
void OnSavePageDone(SavePageResult result, int64_t offlineId);
void OnClearAllDone();
+ void OnExpirePageDone(bool success);
// OfflinePageTestArchiver::Observer implementation:
void SetLastPathCreatedByArchiver(const base::FilePath& file_path) override;
@@ -65,6 +68,8 @@ class OfflinePageUtilsTest
const GURL& offline_url_page_2() const { return offline_url_page_2_; }
// Offline page URL not related to any page.
const GURL& offline_url_missing() const { return offline_url_missing_; }
+ // Offline page URL for expired page.
+ const GURL& offline_url_expired() const { return offline_url_expired_; }
TestingProfile* profile() { return &profile_; }
@@ -79,6 +84,7 @@ class OfflinePageUtilsTest
GURL offline_url_page_1_;
GURL offline_url_page_2_;
GURL offline_url_missing_;
+ GURL offline_url_expired_;
int64_t offline_id_;
@@ -121,6 +127,10 @@ void OfflinePageUtilsTest::OnSavePageDone(SavePageResult result,
offline_id_ = offline_id;
}
+void OfflinePageUtilsTest::OnExpirePageDone(bool success) {
+ // Result ignored here.
+}
+
void OfflinePageUtilsTest::OnClearAllDone() {
// Result ignored here.
}
@@ -142,29 +152,42 @@ void OfflinePageUtilsTest::CreateOfflinePages() {
kTestPage1Url, client_id, std::move(archiver),
base::Bind(&OfflinePageUtilsTest::OnSavePageDone, AsWeakPtr()));
RunUntilIdle();
- int64_t offline1 = offline_id();
+ offline_url_page_1_ =
+ model->MaybeGetPageByOfflineId(offline_id())->GetOfflineURL();
- client_id.id = kTestPage2ClientId;
// Create page 2.
archiver = BuildArchiver(kTestPage2Url,
base::FilePath(FILE_PATH_LITERAL("page2.mhtml")));
+ client_id.id = kTestPage2ClientId;
model->SavePage(
kTestPage2Url, client_id, std::move(archiver),
base::Bind(&OfflinePageUtilsTest::OnSavePageDone, AsWeakPtr()));
RunUntilIdle();
- int64_t offline2 = offline_id();
-
- // Make a copy of local paths of the two pages stored in the model.
- offline_url_page_1_ =
- model->MaybeGetPageByOfflineId(offline1)->GetOfflineURL();
offline_url_page_2_ =
- model->MaybeGetPageByOfflineId(offline2)->GetOfflineURL();
+ model->MaybeGetPageByOfflineId(offline_id())->GetOfflineURL();
+
+ // Page 3 is not created, as it is missing.
// Create a file path that is not associated with any offline page.
offline_url_missing_ = net::FilePathToFileURL(
profile()
->GetPath()
.Append(chrome::kOfflinePageArchviesDirname)
.Append(FILE_PATH_LITERAL("missing_file.mhtml")));
+
+ // Create page 4 - expired page.
+ archiver = BuildArchiver(kTestPage4Url,
+ base::FilePath(FILE_PATH_LITERAL("page4.mhtml")));
+ client_id.id = kTestPage4ClientId;
+ model->SavePage(
+ kTestPage4Url, client_id, std::move(archiver),
+ base::Bind(&OfflinePageUtilsTest::OnSavePageDone, AsWeakPtr()));
+ RunUntilIdle();
+ const OfflinePageItem* page_4 = model->MaybeGetPageByOfflineId(offline_id());
+ offline_url_expired_ = page_4->GetOfflineURL();
+ model->ExpirePages(
+ std::vector<int64_t>({offline_id()}), base::Time::Now(),
+ base::Bind(&OfflinePageUtilsTest::OnExpirePageDone, AsWeakPtr()));
+ RunUntilIdle();
}
std::unique_ptr<OfflinePageTestArchiver> OfflinePageUtilsTest::BuildArchiver(
@@ -195,8 +218,10 @@ TEST_F(OfflinePageUtilsTest, MaybeGetOfflineURLForOnlineURL) {
EXPECT_EQ(offline_url_page_2(),
OfflinePageUtils::MaybeGetOfflineURLForOnlineURL(profile(),
kTestPage2Url));
- EXPECT_EQ(GURL(), OfflinePageUtils::MaybeGetOfflineURLForOnlineURL(
- profile(), GURL(kTestPage3Url)));
+ EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOfflineURLForOnlineURL(
+ profile(), kTestPage3Url));
+ EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOfflineURLForOnlineURL(
+ profile(), kTestPage4Url));
}
TEST_F(OfflinePageUtilsTest, MaybeGetOnlineURLForOfflineURL) {
@@ -206,6 +231,8 @@ TEST_F(OfflinePageUtilsTest, MaybeGetOnlineURLForOfflineURL) {
profile(), offline_url_page_2()));
EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOnlineURLForOfflineURL(
profile(), offline_url_missing()));
+ EXPECT_EQ(kTestPage4Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL(
+ profile(), offline_url_expired()));
}
TEST_F(OfflinePageUtilsTest, IsOfflinePage) {
@@ -213,8 +240,11 @@ TEST_F(OfflinePageUtilsTest, IsOfflinePage) {
EXPECT_TRUE(OfflinePageUtils::IsOfflinePage(profile(), offline_url_page_2()));
EXPECT_FALSE(
OfflinePageUtils::IsOfflinePage(profile(), offline_url_missing()));
+ EXPECT_TRUE(
+ OfflinePageUtils::IsOfflinePage(profile(), offline_url_expired()));
EXPECT_FALSE(OfflinePageUtils::IsOfflinePage(profile(), kTestPage1Url));
EXPECT_FALSE(OfflinePageUtils::IsOfflinePage(profile(), kTestPage2Url));
+ EXPECT_FALSE(OfflinePageUtils::IsOfflinePage(profile(), kTestPage4Url));
}
TEST_F(OfflinePageUtilsTest, HasOfflinePageForOnlineURL) {
@@ -224,6 +254,8 @@ TEST_F(OfflinePageUtilsTest, HasOfflinePageForOnlineURL) {
OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage2Url));
EXPECT_FALSE(
OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage3Url));
+ EXPECT_FALSE(
+ OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage4Url));
}
} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698