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

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

Powered by Google App Engine
This is Rietveld 408576698