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

Unified Diff: components/offline_pages/offline_page_metadata_store_impl_unittest.cc

Issue 2343743002: [Offline pages] Updating the UpdateCallback in OPMStoreSQL (Closed)
Patch Set: Addressing final feedback Created 4 years, 3 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: components/offline_pages/offline_page_metadata_store_impl_unittest.cc
diff --git a/components/offline_pages/offline_page_metadata_store_impl_unittest.cc b/components/offline_pages/offline_page_metadata_store_impl_unittest.cc
index d3d1c8ac491f934a19531d432d79109f0d9e73a6..b73b5744aff442a67d81d896861d55b747748434 100644
--- a/components/offline_pages/offline_page_metadata_store_impl_unittest.cc
+++ b/components/offline_pages/offline_page_metadata_store_impl_unittest.cc
@@ -233,8 +233,10 @@ class OfflinePageMetadataStoreTest : public testing::Test {
void GetOfflinePagesCallback(
OfflinePageMetadataStore::LoadStatus load_status,
const std::vector<OfflinePageItem>& offline_pages);
- void AddCallback(OfflinePageMetadataStore::ItemActionStatus status);
- void UpdateCallback(CalledCallback called_callback, bool success);
+ void AddCallback(ItemActionStatus status);
+ void UpdateCallback(CalledCallback called_callback,
+ std::unique_ptr<StoreUpdateResult> result);
+ void ResetCallback(bool status);
void ClearResults();
@@ -242,9 +244,12 @@ class OfflinePageMetadataStoreTest : public testing::Test {
void CheckThatOfflinePageCanBeSaved(
std::unique_ptr<OfflinePageMetadataStore> store);
+ StoreUpdateResult* last_update_result() { return last_update_result_.get(); }
+
protected:
CalledCallback last_called_callback_;
Status last_status_;
+ std::unique_ptr<StoreUpdateResult> last_update_result_;
std::vector<OfflinePageItem> offline_pages_;
OfflinePageMetadataStoreFactory factory_;
@@ -276,19 +281,24 @@ void OfflinePageMetadataStoreTest::GetOfflinePagesCallback(
offline_pages_.swap(const_cast<std::vector<OfflinePageItem>&>(offline_pages));
}
-void OfflinePageMetadataStoreTest::AddCallback(
- OfflinePageMetadataStore::ItemActionStatus status) {
+void OfflinePageMetadataStoreTest::AddCallback(ItemActionStatus status) {
last_called_callback_ = ADD;
// TODO(fgorski): Add specific add status.
// last_item_status_ = status;
last_status_ =
- status == OfflinePageMetadataStore::SUCCESS ? STATUS_TRUE : STATUS_FALSE;
+ status == ItemActionStatus::SUCCESS ? STATUS_TRUE : STATUS_FALSE;
}
void OfflinePageMetadataStoreTest::UpdateCallback(
CalledCallback called_callback,
- bool status) {
+ std::unique_ptr<StoreUpdateResult> result) {
last_called_callback_ = called_callback;
+ last_status_ = result->updated_items.size() > 0 ? STATUS_TRUE : STATUS_FALSE;
+ last_update_result_ = std::move(result);
+}
+
+void OfflinePageMetadataStoreTest::ResetCallback(bool status) {
+ last_called_callback_ = RESET;
last_status_ = status ? STATUS_TRUE : STATUS_FALSE;
}
@@ -296,6 +306,7 @@ void OfflinePageMetadataStoreTest::ClearResults() {
last_called_callback_ = NONE;
last_status_ = STATUS_NONE;
offline_pages_.clear();
+ last_update_result_.reset(nullptr);
}
OfflinePageItem OfflinePageMetadataStoreTest::CheckThatStoreHasOneItem() {
@@ -335,16 +346,7 @@ void OfflinePageMetadataStoreTest::CheckThatOfflinePageCanBeSaved(
offline_pages_[0].offline_id != offline_page.offline_id) {
std::swap(offline_pages_[0], offline_pages_[1]);
}
- EXPECT_EQ(offline_page.url, offline_pages_[0].url);
- EXPECT_EQ(offline_page.offline_id, offline_pages_[0].offline_id);
- EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path);
- EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time);
- EXPECT_EQ(offline_page.expiration_time, offline_pages_[0].expiration_time);
- EXPECT_EQ(offline_page.title, offline_pages_[0].title);
- EXPECT_EQ(offline_page.client_id, offline_pages_[0].client_id);
- EXPECT_EQ(1234LL, offline_pages_[0].offline_id);
- EXPECT_EQ(kFileSize, offline_pages_[0].file_size);
- EXPECT_EQ(kTestClientId1, offline_pages_[0].client_id);
+ EXPECT_EQ(offline_page, offline_pages_[0]);
}
std::unique_ptr<OfflinePageMetadataStore>
@@ -409,7 +411,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
OfflinePageMetadataStoreSQL* sql_store =
static_cast<OfflinePageMetadataStoreSQL*>(store.get());
- sql_store->SetStateForTesting(OfflinePageMetadataStore::NOT_LOADED, false);
+ sql_store->SetStateForTesting(StoreState::NOT_LOADED, false);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -418,8 +420,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
EXPECT_EQ(0UL, offline_pages_.size());
EXPECT_EQ(STATUS_FALSE, last_status_);
- sql_store->SetStateForTesting(
- OfflinePageMetadataStore::FAILED_INITIALIZATION, false);
+ sql_store->SetStateForTesting(StoreState::FAILED_LOADING, false);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -428,8 +429,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
EXPECT_EQ(0UL, offline_pages_.size());
EXPECT_EQ(STATUS_FALSE, last_status_);
- sql_store->SetStateForTesting(
- OfflinePageMetadataStore::FAILED_RESET, false);
+ sql_store->SetStateForTesting(StoreState::FAILED_RESET, false);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -438,8 +438,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
EXPECT_EQ(0UL, offline_pages_.size());
EXPECT_EQ(STATUS_FALSE, last_status_);
- sql_store->SetStateForTesting(
- OfflinePageMetadataStore::LOADED, true);
+ sql_store->SetStateForTesting(StoreState::LOADED, true);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -448,8 +447,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
EXPECT_EQ(0UL, offline_pages_.size());
EXPECT_EQ(STATUS_FALSE, last_status_);
- sql_store->SetStateForTesting(
- OfflinePageMetadataStore::NOT_LOADED, true);
+ sql_store->SetStateForTesting(StoreState::NOT_LOADED, true);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -458,8 +456,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
EXPECT_EQ(0UL, offline_pages_.size());
EXPECT_EQ(STATUS_FALSE, last_status_);
- sql_store->SetStateForTesting(
- OfflinePageMetadataStore::FAILED_INITIALIZATION, false);
+ sql_store->SetStateForTesting(StoreState::FAILED_LOADING, false);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -468,8 +465,7 @@ TEST_F(OfflinePageMetadataStoreTest, GetOfflinePagesFromInvalidStore) {
EXPECT_EQ(0UL, offline_pages_.size());
EXPECT_EQ(STATUS_FALSE, last_status_);
- sql_store->SetStateForTesting(
- OfflinePageMetadataStore::FAILED_RESET, false);
+ sql_store->SetStateForTesting(StoreState::FAILED_RESET, false);
store->GetOfflinePages(
base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
base::Unretained(this)));
@@ -586,6 +582,12 @@ TEST_F(OfflinePageMetadataStoreTest, RemoveOfflinePage) {
PumpLoop();
EXPECT_EQ(REMOVE, last_called_callback_);
EXPECT_EQ(STATUS_TRUE, last_status_);
+ ASSERT_TRUE(last_update_result() != nullptr);
+ EXPECT_EQ(1UL, last_update_result()->item_statuses.size());
+ EXPECT_EQ(ItemActionStatus::SUCCESS,
+ last_update_result()->item_statuses.begin()->second);
+ EXPECT_EQ(1UL, last_update_result()->updated_items.size());
+ EXPECT_EQ(offline_page, *(last_update_result()->updated_items.begin()));
ClearResults();
@@ -658,6 +660,12 @@ TEST_F(OfflinePageMetadataStoreTest, AddRemoveMultipleOfflinePages) {
PumpLoop();
EXPECT_EQ(REMOVE, last_called_callback_);
EXPECT_EQ(STATUS_TRUE, last_status_);
+ ASSERT_TRUE(last_update_result() != nullptr);
+ EXPECT_EQ(1UL, last_update_result()->item_statuses.size());
+ EXPECT_EQ(ItemActionStatus::SUCCESS,
+ last_update_result()->item_statuses.begin()->second);
+ EXPECT_EQ(1UL, last_update_result()->updated_items.size());
+ EXPECT_EQ(offline_page_1, *(last_update_result()->updated_items.begin()));
ClearResults();
@@ -707,15 +715,7 @@ TEST_F(OfflinePageMetadataStoreTest, UpdateOfflinePage) {
EXPECT_EQ(LOAD, last_called_callback_);
EXPECT_EQ(STATUS_TRUE, last_status_);
ASSERT_EQ(1U, offline_pages_.size());
- EXPECT_EQ(offline_page.url, offline_pages_[0].url);
- EXPECT_EQ(offline_page.offline_id, offline_pages_[0].offline_id);
- EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path);
- EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size);
- EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time);
- EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time);
- EXPECT_EQ(offline_page.expiration_time, offline_pages_[0].expiration_time);
- EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count);
- EXPECT_EQ(offline_page.client_id, offline_pages_[0].client_id);
+ EXPECT_EQ(offline_page, offline_pages_[0]);
// Then update some data.
offline_page.file_size = kFileSize + 1;
@@ -729,6 +729,12 @@ TEST_F(OfflinePageMetadataStoreTest, UpdateOfflinePage) {
PumpLoop();
EXPECT_EQ(UPDATE, last_called_callback_);
EXPECT_EQ(STATUS_TRUE, last_status_);
+ ASSERT_TRUE(last_update_result() != nullptr);
+ EXPECT_EQ(1UL, last_update_result()->item_statuses.size());
+ EXPECT_EQ(ItemActionStatus::SUCCESS,
+ last_update_result()->item_statuses.begin()->second);
+ EXPECT_EQ(1UL, last_update_result()->updated_items.size());
+ EXPECT_EQ(offline_page, *(last_update_result()->updated_items.begin()));
ClearResults();
store->GetOfflinePages(
@@ -739,15 +745,7 @@ TEST_F(OfflinePageMetadataStoreTest, UpdateOfflinePage) {
EXPECT_EQ(LOAD, last_called_callback_);
EXPECT_EQ(STATUS_TRUE, last_status_);
ASSERT_EQ(1U, offline_pages_.size());
- EXPECT_EQ(offline_page.url, offline_pages_[0].url);
- EXPECT_EQ(offline_page.offline_id, offline_pages_[0].offline_id);
- EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path);
- EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size);
- EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time);
- EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time);
- EXPECT_EQ(offline_page.expiration_time, offline_pages_[0].expiration_time);
- EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count);
- EXPECT_EQ(offline_page.client_id, offline_pages_[0].client_id);
+ EXPECT_EQ(offline_page, offline_pages_[0]);
}
TEST_F(OfflinePageMetadataStoreTest, ClearAllOfflinePages) {
@@ -787,8 +785,8 @@ TEST_F(OfflinePageMetadataStoreTest, ClearAllOfflinePages) {
EXPECT_EQ(2U, offline_pages_.size());
// Clear all records from the store.
- store->Reset(base::Bind(&OfflinePageMetadataStoreTest::UpdateCallback,
- base::Unretained(this), RESET));
+ store->Reset(base::Bind(&OfflinePageMetadataStoreTest::ResetCallback,
+ base::Unretained(this)));
PumpLoop();
EXPECT_EQ(RESET, last_called_callback_);
EXPECT_EQ(STATUS_TRUE, last_status_);

Powered by Google App Engine
This is Rietveld 408576698