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

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 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 c02e96d73eec635c4da99b56a7bca3f30d342428..eb7205784d351e67302b730fe4e08d2649ade498 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() {
@@ -506,6 +517,13 @@ 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.offline_id,
+ last_update_result()->updated_items.begin()->offline_id);
ClearResults();
@@ -578,6 +596,13 @@ 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.offline_id,
+ last_update_result()->updated_items.begin()->offline_id);
ClearResults();
@@ -649,6 +674,13 @@ 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.offline_id,
+ last_update_result()->updated_items.begin()->offline_id);
ClearResults();
store->GetOfflinePages(
@@ -707,8 +739,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