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

Unified Diff: components/offline_pages/core/prefetch/prefetch_dispatcher_impl_unittest.cc

Issue 2920083002: Prefetching: Introduce store commands abstractions to be used by tasks. (Closed)
Patch Set: Minor changes Created 3 years, 6 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/core/prefetch/prefetch_dispatcher_impl_unittest.cc
diff --git a/components/offline_pages/core/prefetch/prefetch_dispatcher_impl_unittest.cc b/components/offline_pages/core/prefetch/prefetch_dispatcher_impl_unittest.cc
index 846f697919381afa39cbdd7671150446390f39b1..057278282cddac00199036b4432c019d203d89f7 100644
--- a/components/offline_pages/core/prefetch/prefetch_dispatcher_impl_unittest.cc
+++ b/components/offline_pages/core/prefetch/prefetch_dispatcher_impl_unittest.cc
@@ -12,12 +12,14 @@
#include "components/offline_pages/core/client_namespace_constants.h"
#include "components/offline_pages/core/offline_event_logger.h"
#include "components/offline_pages/core/offline_page_feature.h"
-#include "components/offline_pages/core/prefetch/prefetch_in_memory_store.h"
#include "components/offline_pages/core/prefetch/prefetch_service.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
namespace offline_pages {
+namespace {
+
class TestScopedBackgroundTask
: public PrefetchDispatcher::ScopedBackgroundTask {
public:
@@ -31,8 +33,12 @@ class TestScopedBackgroundTask
bool needs_reschedule_called = false;
};
+} // namespace
+
class PrefetchDispatcherTest : public testing::Test, public PrefetchService {
public:
+ const std::string TEST_NAMESPACE = "TestPrefetchClientNamespace";
+
PrefetchDispatcherTest();
// Test implementation.
@@ -44,7 +50,6 @@ class PrefetchDispatcherTest : public testing::Test, public PrefetchService {
OfflineMetricsCollector* GetOfflineMetricsCollector() override;
PrefetchDispatcher* GetPrefetchDispatcher() override;
PrefetchGCMHandler* GetPrefetchGCMHandler() override;
- PrefetchStore* GetPrefetchStore() override;
SuggestedArticlesObserver* GetSuggestedArticlesObserver() override;
// KeyedService implementation.
@@ -57,13 +62,13 @@ class PrefetchDispatcherTest : public testing::Test, public PrefetchService {
TaskQueue* dispatcher_task_queue() { return &dispatcher_impl_->task_queue_; }
+ protected:
+ std::vector<PrefetchURL> test_urls_;
+
private:
+ std::unique_ptr<PrefetchDispatcherImpl> dispatcher_impl_;
OfflineEventLogger logger_;
base::test::ScopedFeatureList feature_list_;
-
- std::unique_ptr<PrefetchInMemoryStore> in_memory_store_;
- std::unique_ptr<PrefetchDispatcherImpl> dispatcher_impl_;
-
scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
base::ThreadTaskRunnerHandle task_runner_handle_;
};
@@ -77,9 +82,12 @@ PrefetchDispatcherTest::PrefetchDispatcherTest()
void PrefetchDispatcherTest::SetUp() {
ASSERT_EQ(base::ThreadTaskRunnerHandle::Get(), task_runner_);
ASSERT_FALSE(task_runner_->HasPendingTask());
- in_memory_store_ = base::MakeUnique<PrefetchInMemoryStore>();
dispatcher_impl_ = base::MakeUnique<PrefetchDispatcherImpl>();
dispatcher_impl_->SetService(this);
+
+ ASSERT_TRUE(test_urls_.empty());
+ test_urls_.push_back({"1", GURL("http://testurl.com/foo")});
+ test_urls_.push_back({"2", GURL("https://testurl.com/bar")});
}
void PrefetchDispatcherTest::TearDown() {
@@ -104,10 +112,6 @@ PrefetchGCMHandler* PrefetchDispatcherTest::GetPrefetchGCMHandler() {
return nullptr;
}
-PrefetchStore* PrefetchDispatcherTest::GetPrefetchStore() {
- return in_memory_store_.get();
-}
-
SuggestedArticlesObserver*
PrefetchDispatcherTest::GetSuggestedArticlesObserver() {
NOTREACHED();
@@ -119,7 +123,7 @@ void PrefetchDispatcherTest::PumpLoop() {
}
TEST_F(PrefetchDispatcherTest, DispatcherDoesNotCrash) {
- GetPrefetchDispatcher()->AddCandidatePrefetchURLs(std::vector<PrefetchURL>());
+ GetPrefetchDispatcher()->AddCandidatePrefetchURLs(TEST_NAMESPACE, test_urls_);
GetPrefetchDispatcher()->RemoveAllUnprocessedPrefetchURLs(
kSuggestedArticlesNamespace);
GetPrefetchDispatcher()->RemovePrefetchURLsByClientId(
@@ -127,7 +131,7 @@ TEST_F(PrefetchDispatcherTest, DispatcherDoesNotCrash) {
}
TEST_F(PrefetchDispatcherTest, AddCandidatePrefetchURLsTask) {
- GetPrefetchDispatcher()->AddCandidatePrefetchURLs(std::vector<PrefetchURL>());
+ GetPrefetchDispatcher()->AddCandidatePrefetchURLs(TEST_NAMESPACE, test_urls_);
EXPECT_TRUE(dispatcher_task_queue()->HasPendingTasks());
EXPECT_TRUE(dispatcher_task_queue()->HasRunningTask());
PumpLoop();
@@ -140,10 +144,9 @@ TEST_F(PrefetchDispatcherTest, DispatcherDoesNothingIfFeatureNotEnabled) {
disabled_feature_list.InitAndDisableFeature(kPrefetchingOfflinePagesFeature);
// Don't add a task for new prefetch URLs.
- ClientId client_id("namespace", "id");
- PrefetchURL prefetch_url(client_id, GURL("https://www.chromium.org"));
+ PrefetchURL prefetch_url("id", GURL("https://www.chromium.org"));
GetPrefetchDispatcher()->AddCandidatePrefetchURLs(
- std::vector<PrefetchURL>(1, prefetch_url));
+ TEST_NAMESPACE, std::vector<PrefetchURL>(1, prefetch_url));
EXPECT_FALSE(dispatcher_task_queue()->HasRunningTask());
// Do nothing with a new background task.

Powered by Google App Engine
This is Rietveld 408576698