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

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

Issue 2497703002: [Offline pages] Resetting offline page metadata store to handle LOAD/INIT failures (Closed)
Patch Set: Fixing newly added test Created 4 years, 1 month 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
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_impl.h" 5 #include "components/offline_pages/offline_page_model_impl.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 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); 636 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size);
637 EXPECT_EQ(1, offline_pages[0].access_count); 637 EXPECT_EQ(1, offline_pages[0].access_count);
638 } 638 }
639 639
640 TEST_F(OfflinePageModelImplTest, GetAllPagesStoreEmpty) { 640 TEST_F(OfflinePageModelImplTest, GetAllPagesStoreEmpty) {
641 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); 641 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
642 642
643 EXPECT_EQ(0UL, offline_pages.size()); 643 EXPECT_EQ(0UL, offline_pages.size());
644 } 644 }
645 645
646 TEST_F(OfflinePageModelImplTest, GetAllPagesStoreFailure) {
647 GetStore()->set_test_scenario(
648 OfflinePageTestStore::TestScenario::LOAD_FAILED);
649 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
650
651 EXPECT_EQ(0UL, offline_pages.size());
652 }
653
654 TEST_F(OfflinePageModelImplTest, DeletePageSuccessful) { 646 TEST_F(OfflinePageModelImplTest, DeletePageSuccessful) {
655 OfflinePageTestStore* store = GetStore(); 647 OfflinePageTestStore* store = GetStore();
656 648
657 // Save one page. 649 // Save one page.
658 SavePage(kTestUrl, kTestClientId1); 650 SavePage(kTestUrl, kTestClientId1);
659 int64_t offline1 = last_save_offline_id(); 651 int64_t offline1 = last_save_offline_id();
660 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); 652 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result());
661 EXPECT_EQ(1u, store->GetAllPages().size()); 653 EXPECT_EQ(1u, store->GetAllPages().size());
662 654
663 ResetResults(); 655 ResetResults();
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
1197 1189
1198 TEST_F(OfflinePageModelImplTest, NewTabPageNamespace) { 1190 TEST_F(OfflinePageModelImplTest, NewTabPageNamespace) {
1199 SavePage(kTestUrl, ClientId(kNTPSuggestionsNamespace, "123")); 1191 SavePage(kTestUrl, ClientId(kNTPSuggestionsNamespace, "123"));
1200 std::string histogram_name = "OfflinePages.SavePageResult."; 1192 std::string histogram_name = "OfflinePages.SavePageResult.";
1201 histogram_name += kNTPSuggestionsNamespace; 1193 histogram_name += kNTPSuggestionsNamespace;
1202 1194
1203 histograms().ExpectUniqueSample(histogram_name, 1195 histograms().ExpectUniqueSample(histogram_name,
1204 static_cast<int>(SavePageResult::SUCCESS), 1); 1196 static_cast<int>(SavePageResult::SUCCESS), 1);
1205 } 1197 }
1206 1198
1199 TEST_F(OfflinePageModelImplTest, StoreResetSuccessful) {
1200 GetStore()->set_test_scenario(
1201 OfflinePageTestStore::TestScenario::LOAD_FAILED_RESET_SUCCESS);
1202 ResetModel();
1203
1204 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
1205
1206 EXPECT_TRUE(model()->is_loaded());
1207 EXPECT_EQ(StoreState::LOADED, GetStore()->state());
1208 EXPECT_EQ(0UL, offline_pages.size());
1209
1210 std::pair<SavePageResult, int64_t> result =
1211 SavePage(kTestUrl, ClientId(kDownloadNamespace, "123"));
1212
1213 EXPECT_EQ(SavePageResult::SUCCESS, result.first);
1214 }
1215
1216 TEST_F(OfflinePageModelImplTest, StoreResetFailed) {
1217 GetStore()->set_test_scenario(
1218 OfflinePageTestStore::TestScenario::LOAD_FAILED_RESET_FAILED);
1219 ResetModel();
1220
1221 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
1222
1223 EXPECT_TRUE(model()->is_loaded());
1224 EXPECT_EQ(StoreState::FAILED_RESET, GetStore()->state());
1225 EXPECT_EQ(0UL, offline_pages.size());
1226
1227 ResetResults();
1228 std::pair<SavePageResult, int64_t> result =
1229 SavePage(kTestUrl, ClientId(kDownloadNamespace, "123"));
1230
1231 EXPECT_EQ(SavePageResult::STORE_FAILURE, result.first);
1232 }
1233
1207 TEST(CommandLineFlagsTest, OfflineBookmarks) { 1234 TEST(CommandLineFlagsTest, OfflineBookmarks) {
1208 // Disabled by default. 1235 // Disabled by default.
1209 EXPECT_FALSE(offline_pages::IsOfflineBookmarksEnabled()); 1236 EXPECT_FALSE(offline_pages::IsOfflineBookmarksEnabled());
1210 1237
1211 // Check if feature is correctly enabled by command-line flag. 1238 // Check if feature is correctly enabled by command-line flag.
1212 base::test::ScopedFeatureList scoped_feature_list; 1239 base::test::ScopedFeatureList scoped_feature_list;
1213 scoped_feature_list.InitAndEnableFeature(kOfflineBookmarksFeature); 1240 scoped_feature_list.InitAndEnableFeature(kOfflineBookmarksFeature);
1214 EXPECT_TRUE(offline_pages::IsOfflineBookmarksEnabled()); 1241 EXPECT_TRUE(offline_pages::IsOfflineBookmarksEnabled());
1215 } 1242 }
1216 1243
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1257 EXPECT_FALSE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); 1284 EXPECT_FALSE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled());
1258 1285
1259 // Check if feature is correctly enabled by command-line flag. 1286 // Check if feature is correctly enabled by command-line flag.
1260 base::test::ScopedFeatureList scoped_feature_list; 1287 base::test::ScopedFeatureList scoped_feature_list;
1261 scoped_feature_list.InitAndEnableFeature( 1288 scoped_feature_list.InitAndEnableFeature(
1262 kOfflinePagesSvelteConcurrentLoadingFeature); 1289 kOfflinePagesSvelteConcurrentLoadingFeature);
1263 EXPECT_TRUE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled()); 1290 EXPECT_TRUE(offline_pages::IsOfflinePagesSvelteConcurrentLoadingEnabled());
1264 } 1291 }
1265 1292
1266 } // namespace offline_pages 1293 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/offline_page_model_impl.cc ('k') | components/offline_pages/offline_page_test_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698