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

Unified Diff: components/offline_pages/background/request_queue_store_unittest.cc

Issue 2410903003: [Offline pages] Adding capability to query a subset of requests based on IDs (Closed)
Patch Set: Addressing remaining feedback Created 4 years, 2 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
« no previous file with comments | « components/offline_pages/background/request_queue_store_sql.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/offline_pages/background/request_queue_store_unittest.cc
diff --git a/components/offline_pages/background/request_queue_store_unittest.cc b/components/offline_pages/background/request_queue_store_unittest.cc
index 0a20dfb4747b58eaa021aefdf9d21330132aaf29..c4264c4aefd1a7038958fdadff710536ec9e961f 100644
--- a/components/offline_pages/background/request_queue_store_unittest.cc
+++ b/components/offline_pages/background/request_queue_store_unittest.cc
@@ -24,6 +24,7 @@ using UpdateStatus = RequestQueueStore::UpdateStatus;
namespace {
const int64_t kRequestId = 42;
const int64_t kRequestId2 = 44;
+const int64_t kRequestId3 = 47;
const GURL kUrl("http://example.com");
const GURL kUrl2("http://another-example.com");
const ClientId kClientId("bookmark", "1234");
@@ -198,6 +199,65 @@ TYPED_TEST(RequestQueueStoreTest, GetRequestsEmpty) {
ASSERT_TRUE(this->last_requests().empty());
}
+TYPED_TEST(RequestQueueStoreTest, GetRequestsByIds) {
+ std::unique_ptr<RequestQueueStore> store(this->BuildStore());
+ base::Time creation_time = base::Time::Now();
+ SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
+ kUserRequested);
+ store->AddRequest(request1,
+ base::Bind(&RequestQueueStoreTestBase::AddRequestDone,
+ base::Unretained(this)));
+ SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time,
+ kUserRequested);
+ store->AddRequest(request2,
+ base::Bind(&RequestQueueStoreTestBase::AddRequestDone,
+ base::Unretained(this)));
+ this->PumpLoop();
+ this->ClearResults();
+
+ std::vector<int64_t> request_ids{kRequestId, kRequestId2};
+ store->GetRequestsByIds(
+ request_ids, base::Bind(&RequestQueueStoreTestBase::UpdateRequestDone,
+ base::Unretained(this)));
+
+ ASSERT_FALSE(this->last_update_result());
+ this->PumpLoop();
+ ASSERT_TRUE(this->last_update_result());
+ EXPECT_EQ(2UL, this->last_update_result()->item_statuses.size());
+ EXPECT_EQ(kRequestId, this->last_update_result()->item_statuses[0].first);
+ EXPECT_EQ(ItemActionStatus::SUCCESS,
+ this->last_update_result()->item_statuses[0].second);
+ EXPECT_EQ(kRequestId2, this->last_update_result()->item_statuses[1].first);
+ EXPECT_EQ(ItemActionStatus::SUCCESS,
+ this->last_update_result()->item_statuses[1].second);
+ EXPECT_EQ(2UL, this->last_update_result()->updated_items.size());
+ EXPECT_EQ(request1, this->last_update_result()->updated_items.at(0));
+ EXPECT_EQ(request2, this->last_update_result()->updated_items.at(1));
+ this->ClearResults();
+
+ request_ids.clear();
+ request_ids.push_back(kRequestId);
+ request_ids.push_back(kRequestId3);
+ request_ids.push_back(kRequestId);
+
+ store->GetRequestsByIds(
+ request_ids, base::Bind(&RequestQueueStoreTestBase::UpdateRequestDone,
+ base::Unretained(this)));
+
+ ASSERT_FALSE(this->last_update_result());
+ this->PumpLoop();
+ ASSERT_TRUE(this->last_update_result());
+ EXPECT_EQ(2UL, this->last_update_result()->item_statuses.size());
+ EXPECT_EQ(kRequestId, this->last_update_result()->item_statuses[0].first);
+ EXPECT_EQ(ItemActionStatus::SUCCESS,
+ this->last_update_result()->item_statuses[0].second);
+ EXPECT_EQ(kRequestId3, this->last_update_result()->item_statuses[1].first);
+ EXPECT_EQ(ItemActionStatus::NOT_FOUND,
+ this->last_update_result()->item_statuses[1].second);
+ EXPECT_EQ(1UL, this->last_update_result()->updated_items.size());
+ EXPECT_EQ(request1, this->last_update_result()->updated_items.at(0));
+}
+
TYPED_TEST(RequestQueueStoreTest, AddRequest) {
std::unique_ptr<RequestQueueStore> store(this->BuildStore());
base::Time creation_time = base::Time::Now();
« no previous file with comments | « components/offline_pages/background/request_queue_store_sql.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698