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

Side by Side Diff: components/offline_pages/offline_page_model_unittest.cc

Issue 1981093002: [Offline pages] Hooking up Archive Manager to Offline Page Model (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@archive-manager
Patch Set: Fixing the windows bot Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « components/offline_pages/offline_page_model.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/offline_pages/offline_page_model.h" 5 #include "components/offline_pages/offline_page_model.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 void OnCheckPagesExistOfflineDone(const CheckPagesExistOfflineResult& result); 80 void OnCheckPagesExistOfflineDone(const CheckPagesExistOfflineResult& result);
81 void OnClearAllDone(); 81 void OnClearAllDone();
82 void OnGetOfflineIdsForClientIdDone(MultipleOfflineIdResult* storage, 82 void OnGetOfflineIdsForClientIdDone(MultipleOfflineIdResult* storage,
83 const MultipleOfflineIdResult& result); 83 const MultipleOfflineIdResult& result);
84 void OnGetSingleOfflinePageItemResult( 84 void OnGetSingleOfflinePageItemResult(
85 SingleOfflinePageItemResult* storage, 85 SingleOfflinePageItemResult* storage,
86 const SingleOfflinePageItemResult& result); 86 const SingleOfflinePageItemResult& result);
87 void OnGetMultipleOfflinePageItemsResult( 87 void OnGetMultipleOfflinePageItemsResult(
88 MultipleOfflinePageItemResult* storage, 88 MultipleOfflinePageItemResult* storage,
89 const MultipleOfflinePageItemResult& result); 89 const MultipleOfflinePageItemResult& result);
90 void OnClearPageByStorageManager(int pages_cleared, DeletePageResult result);
91 90
92 // OfflinePageMetadataStore callbacks. 91 // OfflinePageMetadataStore callbacks.
93 void OnStoreUpdateDone(bool /* success */); 92 void OnStoreUpdateDone(bool /* success */);
94 93
95 std::unique_ptr<OfflinePageTestArchiver> BuildArchiver( 94 std::unique_ptr<OfflinePageTestArchiver> BuildArchiver(
96 const GURL& url, 95 const GURL& url,
97 OfflinePageArchiver::ArchiverResult result); 96 OfflinePageArchiver::ArchiverResult result);
98 std::unique_ptr<OfflinePageMetadataStore> BuildStore(); 97 std::unique_ptr<OfflinePageMetadataStore> BuildStore();
99 std::unique_ptr<OfflinePageModel> BuildModel( 98 std::unique_ptr<OfflinePageModel> BuildModel(
100 std::unique_ptr<OfflinePageMetadataStore> store); 99 std::unique_ptr<OfflinePageMetadataStore> store);
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 const SingleOfflinePageItemResult& result) { 380 const SingleOfflinePageItemResult& result) {
382 *storage = result; 381 *storage = result;
383 } 382 }
384 383
385 void OfflinePageModelTest::OnGetMultipleOfflinePageItemsResult( 384 void OfflinePageModelTest::OnGetMultipleOfflinePageItemsResult(
386 MultipleOfflinePageItemResult* storage, 385 MultipleOfflinePageItemResult* storage,
387 const MultipleOfflinePageItemResult& result) { 386 const MultipleOfflinePageItemResult& result) {
388 *storage = result; 387 *storage = result;
389 } 388 }
390 389
391 void OfflinePageModelTest::OnClearPageByStorageManager(
392 int pages_cleared,
393 DeletePageResult result) {
394 last_cleared_pages_count_ = pages_cleared;
395 last_clear_page_result_ = result;
396 }
397
398 base::Optional<OfflinePageItem> OfflinePageModelTest::GetPagesByOnlineURL( 390 base::Optional<OfflinePageItem> OfflinePageModelTest::GetPagesByOnlineURL(
399 const GURL& online_url) { 391 const GURL& online_url) {
400 MultipleOfflinePageItemResult result; 392 MultipleOfflinePageItemResult result;
401 model()->GetPagesByOnlineURL( 393 model()->GetPagesByOnlineURL(
402 online_url, 394 online_url,
403 base::Bind(&OfflinePageModelTest::OnGetMultipleOfflinePageItemsResult, 395 base::Bind(&OfflinePageModelTest::OnGetMultipleOfflinePageItemsResult,
404 AsWeakPtr(), base::Unretained(&result))); 396 AsWeakPtr(), base::Unretained(&result)));
405 PumpLoop(); 397 PumpLoop();
406 if (result.size() > 0) 398 if (result.size() > 0)
407 return base::make_optional(result[0]); 399 return base::make_optional(result[0]);
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 928
937 std::set<int64_t> id_set; 929 std::set<int64_t> id_set;
938 for (size_t i = 0; i < ids.size(); i++) { 930 for (size_t i = 0; i < ids.size(); i++) {
939 id_set.insert(ids[i]); 931 id_set.insert(ids[i]);
940 } 932 }
941 933
942 EXPECT_TRUE(id_set.find(offline1) != id_set.end()); 934 EXPECT_TRUE(id_set.find(offline1) != id_set.end());
943 EXPECT_TRUE(id_set.find(offline2) != id_set.end()); 935 EXPECT_TRUE(id_set.find(offline2) != id_set.end());
944 } 936 }
945 937
946 TEST_F(OfflinePageModelTest, ClearPagesFromOneSource) {
947 base::Time now = base::Time::Now();
948 base::TimeDelta expiration_period = model()
949 ->GetPolicyController()
950 ->GetPolicy(kTestClientNamespace)
951 .lifetime_policy.expiration_period;
952
953 SavePage(kTestUrl, kTestClientId1);
954 GetStore()->UpdateLastAccessTime(
955 last_save_offline_id(),
956 now - base::TimeDelta::FromDays(10) - expiration_period);
957 SavePage(kTestUrl2, kTestClientId2);
958 GetStore()->UpdateLastAccessTime(
959 last_save_offline_id(),
960 now - base::TimeDelta::FromDays(1) - expiration_period);
961 SavePage(kTestUrl3, kTestClientId3);
962 GetStore()->UpdateLastAccessTime(last_save_offline_id(), now);
963
964 ResetModel();
965
966 // Only first two pages are expired.
967 model()->GetStorageManager()->ClearPagesIfNeeded(base::Bind(
968 &OfflinePageModelTest::OnClearPageByStorageManager, AsWeakPtr()));
969
970 PumpLoop();
971
972 std::vector<OfflinePageItem> offline_pages = GetAllPages();
973
974 EXPECT_EQ(1UL, offline_pages.size());
975 EXPECT_EQ(1UL, GetStore()->GetAllPages().size());
976 EXPECT_EQ(2, last_cleared_pages_count());
977 EXPECT_EQ(DeletePageResult::SUCCESS, last_clear_page_result());
978 }
979
980 TEST_F(OfflinePageModelTest, GetBestPage) { 938 TEST_F(OfflinePageModelTest, GetBestPage) {
981 // We will save 3 pages - two for the same URL, and one for a different URL. 939 // We will save 3 pages - two for the same URL, and one for a different URL.
982 // Correct behavior will pick the most recently saved page for the correct 940 // Correct behavior will pick the most recently saved page for the correct
983 // URL. 941 // URL.
984 std::pair<SavePageResult, int64_t> saved_pages[3]; 942 std::pair<SavePageResult, int64_t> saved_pages[3];
985 saved_pages[0] = SavePage(kTestUrl, kTestClientId1); 943 saved_pages[0] = SavePage(kTestUrl, kTestClientId1);
986 saved_pages[1] = SavePage(kTestUrl, kTestClientId1); 944 saved_pages[1] = SavePage(kTestUrl, kTestClientId1);
987 saved_pages[2] = SavePage(kTestUrl2, kTestClientId2); 945 saved_pages[2] = SavePage(kTestUrl2, kTestClientId2);
988 946
989 for (const auto& save_result : saved_pages) { 947 for (const auto& save_result : saved_pages) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 std::unique_ptr<base::FeatureList> feature_list2(new base::FeatureList); 1009 std::unique_ptr<base::FeatureList> feature_list2(new base::FeatureList);
1052 feature_list2->InitializeFromCommandLine( 1010 feature_list2->InitializeFromCommandLine(
1053 std::string(offline_pages::kOfflineBookmarksFeature.name) + "," + 1011 std::string(offline_pages::kOfflineBookmarksFeature.name) + "," +
1054 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, 1012 offline_pages::kOfflinePagesBackgroundLoadingFeature.name,
1055 ""); 1013 "");
1056 base::FeatureList::SetInstance(std::move(feature_list2)); 1014 base::FeatureList::SetInstance(std::move(feature_list2));
1057 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled()); 1015 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled());
1058 } 1016 }
1059 1017
1060 } // namespace offline_pages 1018 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/offline_page_model.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698