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

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

Issue 2234873004: Have the RequestCoordinator generate the offline_id (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge, and CR fixes per Dimich Created 4 years, 4 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
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 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); 315 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED);
316 return std::make_pair(last_save_result_, last_save_offline_id_); 316 return std::make_pair(last_save_result_, last_save_offline_id_);
317 } 317 }
318 318
319 void OfflinePageModelImplTest::SavePageWithArchiverResult( 319 void OfflinePageModelImplTest::SavePageWithArchiverResult(
320 const GURL& url, 320 const GURL& url,
321 ClientId client_id, 321 ClientId client_id,
322 OfflinePageArchiver::ArchiverResult result) { 322 OfflinePageArchiver::ArchiverResult result) {
323 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result)); 323 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result));
324 model()->SavePage( 324 model()->SavePage(
325 url, client_id, std::move(archiver), 325 url, client_id, 0ul, std::move(archiver),
326 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 326 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
327 PumpLoop(); 327 PumpLoop();
328 } 328 }
329 329
330 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() { 330 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() {
331 MultipleOfflinePageItemResult result; 331 MultipleOfflinePageItemResult result;
332 model()->GetAllPages( 332 model()->GetAllPages(
333 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, 333 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult,
334 AsWeakPtr(), base::Unretained(&result))); 334 AsWeakPtr(), base::Unretained(&result)));
335 PumpLoop(); 335 PumpLoop();
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 kTestUrl, kTestClientId1, 475 kTestUrl, kTestClientId1,
476 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); 476 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED);
477 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); 477 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result());
478 } 478 }
479 479
480 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverReturnedWrongUrl) { 480 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverReturnedWrongUrl) {
481 std::unique_ptr<OfflinePageTestArchiver> archiver( 481 std::unique_ptr<OfflinePageTestArchiver> archiver(
482 BuildArchiver(GURL("http://other.random.url.com"), 482 BuildArchiver(GURL("http://other.random.url.com"),
483 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); 483 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
484 model()->SavePage( 484 model()->SavePage(
485 kTestUrl, kTestClientId1, std::move(archiver), 485 kTestUrl, kTestClientId1, 0ul, std::move(archiver),
486 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 486 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
487 PumpLoop(); 487 PumpLoop();
488 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); 488 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result());
489 } 489 }
490 490
491 TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) { 491 TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) {
492 GetStore()->set_test_scenario( 492 GetStore()->set_test_scenario(
493 OfflinePageTestStore::TestScenario::WRITE_FAILED); 493 OfflinePageTestStore::TestScenario::WRITE_FAILED);
494 SavePage(kTestUrl, kTestClientId1); 494 SavePage(kTestUrl, kTestClientId1);
495 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); 495 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result());
496 } 496 }
497 497
498 TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) { 498 TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) {
499 // Don't create archiver since it will not be needed for pages that are not 499 // Don't create archiver since it will not be needed for pages that are not
500 // going to be saved. 500 // going to be saved.
501 model()->SavePage( 501 model()->SavePage(
502 kFileUrl, kTestClientId1, std::unique_ptr<OfflinePageTestArchiver>(), 502 kFileUrl, kTestClientId1, 0ul, std::unique_ptr<OfflinePageTestArchiver>(),
503 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 503 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
504 PumpLoop(); 504 PumpLoop();
505 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); 505 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result());
506 } 506 }
507 507
508 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverTwoPages) { 508 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverTwoPages) {
509 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( 509 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(
510 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); 510 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
511 // archiver_ptr will be valid until after first PumpLoop() call after 511 // archiver_ptr will be valid until after first PumpLoop() call after
512 // CompleteCreateArchive() is called. 512 // CompleteCreateArchive() is called.
513 OfflinePageTestArchiver* archiver_ptr = archiver.get(); 513 OfflinePageTestArchiver* archiver_ptr = archiver.get();
514 archiver_ptr->set_delayed(true); 514 archiver_ptr->set_delayed(true);
515 model()->SavePage( 515 model()->SavePage(
516 kTestUrl, kTestClientId1, std::move(archiver), 516 kTestUrl, kTestClientId1, 0ul, std::move(archiver),
517 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 517 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
518 EXPECT_TRUE(archiver_ptr->create_archive_called()); 518 EXPECT_TRUE(archiver_ptr->create_archive_called());
519 519
520 // Request to save another page. 520 // Request to save another page.
521 SavePage(kTestUrl2, kTestClientId2); 521 SavePage(kTestUrl2, kTestClientId2);
522 522
523 OfflinePageTestStore* store = GetStore(); 523 OfflinePageTestStore* store = GetStore();
524 524
525 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); 525 EXPECT_EQ(kTestUrl2, store->last_saved_page().url);
526 EXPECT_EQ(kTestClientId2, store->last_saved_page().client_id); 526 EXPECT_EQ(kTestClientId2, store->last_saved_page().client_id);
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 EXPECT_FALSE(base::PathExists(path)); 787 EXPECT_FALSE(base::PathExists(path));
788 } 788 }
789 789
790 TEST_F(OfflinePageModelImplTest, DeleteMultiplePages) { 790 TEST_F(OfflinePageModelImplTest, DeleteMultiplePages) {
791 OfflinePageTestStore* store = GetStore(); 791 OfflinePageTestStore* store = GetStore();
792 792
793 // Save 3 pages. 793 // Save 3 pages.
794 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( 794 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(
795 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); 795 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
796 model()->SavePage( 796 model()->SavePage(
797 kTestUrl, kTestClientId1, std::move(archiver), 797 kTestUrl, kTestClientId1, 0ul, std::move(archiver),
798 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 798 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
799 PumpLoop(); 799 PumpLoop();
800 int64_t offline1 = last_save_offline_id(); 800 int64_t offline1 = last_save_offline_id();
801 801
802 std::unique_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver( 802 std::unique_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver(
803 kTestUrl2, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); 803 kTestUrl2, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
804 model()->SavePage( 804 model()->SavePage(
805 kTestUrl2, kTestClientId2, std::move(archiver2), 805 kTestUrl2, kTestClientId2, 0ul, std::move(archiver2),
806 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 806 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
807 PumpLoop(); 807 PumpLoop();
808 int64_t offline2 = last_save_offline_id(); 808 int64_t offline2 = last_save_offline_id();
809 809
810 std::unique_ptr<OfflinePageTestArchiver> archiver3(BuildArchiver( 810 std::unique_ptr<OfflinePageTestArchiver> archiver3(BuildArchiver(
811 kTestUrl3, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); 811 kTestUrl3, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
812 model()->SavePage( 812 model()->SavePage(
813 kTestUrl3, kTestClientId3, std::move(archiver3), 813 kTestUrl3, kTestClientId3, 0ul, std::move(archiver3),
814 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); 814 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr()));
815 PumpLoop(); 815 PumpLoop();
816 816
817 EXPECT_EQ(3u, store->GetAllPages().size()); 817 EXPECT_EQ(3u, store->GetAllPages().size());
818 818
819 // Delete multiple pages. 819 // Delete multiple pages.
820 std::vector<int64_t> ids_to_delete; 820 std::vector<int64_t> ids_to_delete;
821 ids_to_delete.push_back(offline2); 821 ids_to_delete.push_back(offline2);
822 ids_to_delete.push_back(offline1); 822 ids_to_delete.push_back(offline1);
823 ids_to_delete.push_back(23434LL); // Non-existent ID. 823 ids_to_delete.push_back(23434LL); // Non-existent ID.
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1151 // Check if feature is correctly enabled by command-line flag. 1151 // Check if feature is correctly enabled by command-line flag.
1152 scoped_feature_list.reset(new base::test::ScopedFeatureList); 1152 scoped_feature_list.reset(new base::test::ScopedFeatureList);
1153 scoped_feature_list->InitFromCommandLine( 1153 scoped_feature_list->InitFromCommandLine(
1154 std::string(kOfflineBookmarksFeature.name) + "," + 1154 std::string(kOfflineBookmarksFeature.name) + "," +
1155 kOfflinePagesSharingFeature.name, 1155 kOfflinePagesSharingFeature.name,
1156 ""); 1156 "");
1157 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); 1157 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled());
1158 } 1158 }
1159 1159
1160 } // namespace offline_pages 1160 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698