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

Unified Diff: sync/engine/sync_scheduler_whitebox_unittest.cc

Issue 13743003: sync: Finish the SyncScheduler refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix ModelNeutralState forward decl Created 7 years, 8 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: sync/engine/sync_scheduler_whitebox_unittest.cc
diff --git a/sync/engine/sync_scheduler_whitebox_unittest.cc b/sync/engine/sync_scheduler_whitebox_unittest.cc
deleted file mode 100644
index 7a550fa67986ab540d83aecbf25ebfab32a2ae1a..0000000000000000000000000000000000000000
--- a/sync/engine/sync_scheduler_whitebox_unittest.cc
+++ /dev/null
@@ -1,258 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/message_loop.h"
-#include "base/time.h"
-#include "sync/engine/backoff_delay_provider.h"
-#include "sync/engine/sync_scheduler_impl.h"
-#include "sync/engine/throttled_data_type_tracker.h"
-#include "sync/internal_api/public/engine/polling_constants.h"
-#include "sync/sessions/sync_session_context.h"
-#include "sync/sessions/test_util.h"
-#include "sync/test/engine/fake_model_worker.h"
-#include "sync/test/engine/mock_connection_manager.h"
-#include "sync/test/engine/test_directory_setter_upper.h"
-#include "sync/test/fake_extensions_activity_monitor.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using base::TimeDelta;
-using base::TimeTicks;
-
-namespace syncer {
-using sessions::SyncSession;
-using sessions::SyncSessionContext;
-using sessions::SyncSourceInfo;
-using sync_pb::GetUpdatesCallerInfo;
-
-class SyncSchedulerWhiteboxTest : public testing::Test {
- public:
- virtual void SetUp() {
- dir_maker_.SetUp();
- Syncer* syncer = new Syncer();
-
- ModelSafeRoutingInfo routes;
- routes[BOOKMARKS] = GROUP_UI;
- routes[NIGORI] = GROUP_PASSIVE;
-
- workers_.push_back(make_scoped_refptr(new FakeModelWorker(GROUP_UI)));
- workers_.push_back(make_scoped_refptr(new FakeModelWorker(GROUP_PASSIVE)));
-
- std::vector<ModelSafeWorker*> workers;
- for (std::vector<scoped_refptr<FakeModelWorker> >::iterator it =
- workers_.begin(); it != workers_.end(); ++it) {
- workers.push_back(it->get());
- }
-
- connection_.reset(new MockConnectionManager(NULL));
- throttled_data_type_tracker_.reset(new ThrottledDataTypeTracker(NULL));
- context_.reset(
- new SyncSessionContext(
- connection_.get(), dir_maker_.directory(),
- workers, &extensions_activity_monitor_,
- throttled_data_type_tracker_.get(),
- std::vector<SyncEngineEventListener*>(), NULL, NULL,
- true, // enable keystore encryption
- "fake_invalidator_client_id"));
- context_->set_notifications_enabled(true);
- context_->set_account_name("Test");
- scheduler_.reset(
- new SyncSchedulerImpl("TestSyncSchedulerWhitebox",
- BackoffDelayProvider::FromDefaults(),
- context(),
- syncer));
- }
-
- virtual void TearDown() {
- scheduler_.reset();
- }
-
- void SetMode(SyncScheduler::Mode mode) {
- scheduler_->mode_ = mode;
- }
-
- void ResetWaitInterval() {
- scheduler_->wait_interval_.reset();
- }
-
- void SetWaitIntervalToThrottled() {
- scheduler_->wait_interval_.reset(new SyncSchedulerImpl::WaitInterval(
- SyncSchedulerImpl::WaitInterval::THROTTLED, TimeDelta::FromSeconds(1)));
- }
-
- void SetWaitIntervalToExponentialBackoff() {
- scheduler_->wait_interval_.reset(
- new SyncSchedulerImpl::WaitInterval(
- SyncSchedulerImpl::WaitInterval::EXPONENTIAL_BACKOFF,
- TimeDelta::FromSeconds(1)));
- }
-
- SyncSchedulerImpl::JobProcessDecision DecideOnJob(
- const SyncSessionJob& job,
- SyncSchedulerImpl::JobPriority priority) {
- return scheduler_->DecideOnJob(job, priority);
- }
-
- void InitializeSyncerOnNormalMode() {
- SetMode(SyncScheduler::NORMAL_MODE);
- ResetWaitInterval();
- }
-
- SyncSchedulerImpl::JobProcessDecision CreateAndDecideJob(
- SyncSessionJob::Purpose purpose) {
- SyncSessionJob job(purpose, TimeTicks::Now(),
- SyncSourceInfo(), ConfigurationParams());
- return DecideOnJob(job, SyncSchedulerImpl::NORMAL_PRIORITY);
- }
-
- bool ShouldPoll() {
- return scheduler_->ShouldPoll();
- }
-
- SyncSessionContext* context() { return context_.get(); }
-
- private:
- MessageLoop message_loop_;
- scoped_ptr<MockConnectionManager> connection_;
- scoped_ptr<SyncSessionContext> context_;
- std::vector<scoped_refptr<FakeModelWorker> > workers_;
- FakeExtensionsActivityMonitor extensions_activity_monitor_;
- scoped_ptr<ThrottledDataTypeTracker> throttled_data_type_tracker_;
- TestDirectorySetterUpper dir_maker_;
-
- protected:
- // Declared here to ensure it is destructed before the objects it references.
- scoped_ptr<SyncSchedulerImpl> scheduler_;
-};
-
-TEST_F(SyncSchedulerWhiteboxTest, SaveNudge) {
- InitializeSyncerOnNormalMode();
-
- // Now set the mode to configure.
- SetMode(SyncScheduler::CONFIGURATION_MODE);
-
- SyncSchedulerImpl::JobProcessDecision decision =
- CreateAndDecideJob(SyncSessionJob::NUDGE);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::SAVE);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, SaveNudgeWhileTypeThrottled) {
- InitializeSyncerOnNormalMode();
-
- const ModelTypeSet types(BOOKMARKS);
-
- // Mark bookmarks as throttled.
- context()->throttled_data_type_tracker()->SetUnthrottleTime(
- types, base::TimeTicks::Now() + base::TimeDelta::FromHours(2));
-
- const ModelTypeInvalidationMap& invalidation_map =
- ModelTypeSetToInvalidationMap(types, std::string());
-
- SyncSourceInfo info(GetUpdatesCallerInfo::LOCAL, invalidation_map);
-
- // Now schedule a nudge with just bookmarks and the change is local.
- SyncSessionJob job(SyncSessionJob::NUDGE,
- TimeTicks::Now(),
- info,
- ConfigurationParams());
- SyncSchedulerImpl::JobProcessDecision decision =
- DecideOnJob(job, SyncSchedulerImpl::NORMAL_PRIORITY);
- // TODO(tim): This shouldn't drop. Bug 177659.
- EXPECT_EQ(decision, SyncSchedulerImpl::DROP);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, ContinueNudge) {
- InitializeSyncerOnNormalMode();
-
- SyncSchedulerImpl::JobProcessDecision decision = CreateAndDecideJob(
- SyncSessionJob::NUDGE);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::CONTINUE);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, ContinuePoll) {
- InitializeSyncerOnNormalMode();
- EXPECT_TRUE(ShouldPoll());
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, DropPollInConfigureMode) {
- InitializeSyncerOnNormalMode();
- SetMode(SyncScheduler::CONFIGURATION_MODE);
- EXPECT_FALSE(ShouldPoll());
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, DropPollWhenThrottled) {
- InitializeSyncerOnNormalMode();
- SetWaitIntervalToThrottled();
- EXPECT_FALSE(ShouldPoll());
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, DropPollInBackoff) {
- InitializeSyncerOnNormalMode();
- SetWaitIntervalToExponentialBackoff();
- EXPECT_FALSE(ShouldPoll());
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, ContinueConfiguration) {
- InitializeSyncerOnNormalMode();
- SetMode(SyncScheduler::CONFIGURATION_MODE);
-
- SyncSchedulerImpl::JobProcessDecision decision = CreateAndDecideJob(
- SyncSessionJob::CONFIGURATION);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::CONTINUE);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, SaveConfigurationWhileThrottled) {
- InitializeSyncerOnNormalMode();
- SetMode(SyncScheduler::CONFIGURATION_MODE);
-
- SetWaitIntervalToThrottled();
-
- SyncSchedulerImpl::JobProcessDecision decision = CreateAndDecideJob(
- SyncSessionJob::CONFIGURATION);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::SAVE);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, SaveNudgeWhileThrottled) {
- InitializeSyncerOnNormalMode();
- SetMode(SyncScheduler::CONFIGURATION_MODE);
-
- SetWaitIntervalToThrottled();
-
- SyncSchedulerImpl::JobProcessDecision decision = CreateAndDecideJob(
- SyncSessionJob::NUDGE);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::SAVE);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, DropNudgeWhileExponentialBackOff) {
- InitializeSyncerOnNormalMode();
- SetMode(SyncScheduler::NORMAL_MODE);
- SetWaitIntervalToExponentialBackoff();
-
- SyncSchedulerImpl::JobProcessDecision decision = CreateAndDecideJob(
- SyncSessionJob::NUDGE);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::DROP);
-}
-
-TEST_F(SyncSchedulerWhiteboxTest, ContinueCanaryJobConfig) {
- InitializeSyncerOnNormalMode();
- SetMode(SyncScheduler::CONFIGURATION_MODE);
- SetWaitIntervalToExponentialBackoff();
-
- SyncSessionJob job(SyncSessionJob::CONFIGURATION,
- TimeTicks::Now(), SyncSourceInfo(),
- ConfigurationParams());
-
- SyncSchedulerImpl::JobProcessDecision decision =
- DecideOnJob(job, SyncSchedulerImpl::CANARY_PRIORITY);
-
- EXPECT_EQ(decision, SyncSchedulerImpl::CONTINUE);
-}
-
-} // namespace syncer

Powered by Google App Engine
This is Rietveld 408576698