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

Unified Diff: components/sync_driver/non_blocking_data_type_controller_unittest.cc

Issue 2203673002: [Sync] Move //components/sync_driver to //components/sync/driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@sd-a
Patch Set: Full change rebased on static lib. Created 4 years, 4 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/sync_driver/non_blocking_data_type_controller_unittest.cc
diff --git a/components/sync_driver/non_blocking_data_type_controller_unittest.cc b/components/sync_driver/non_blocking_data_type_controller_unittest.cc
deleted file mode 100644
index 08f22f6039ca2e6169eb0f5914864ea869bc8c78..0000000000000000000000000000000000000000
--- a/components/sync_driver/non_blocking_data_type_controller_unittest.cc
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright 2016 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 "components/sync_driver/non_blocking_data_type_controller.h"
-
-#include <memory>
-
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/location.h"
-#include "base/logging.h"
-#include "base/memory/ref_counted.h"
-#include "base/message_loop/message_loop.h"
-#include "base/run_loop.h"
-#include "components/sync/api/fake_model_type_change_processor.h"
-#include "components/sync/api/fake_model_type_service.h"
-#include "components/sync/base/model_type.h"
-#include "components/sync_driver/fake_sync_client.h"
-#include "components/sync_driver/sync_prefs.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace sync_driver {
-class SyncClient;
-} // namespace sync_driver
-
-namespace sync_driver_v2 {
-
-namespace {
-
-syncer::ModelType kTestModelType = syncer::AUTOFILL;
-
-// Implementation of NonBlockingDataTypeController being tested.
-// It posts all tasks to current thread.
-class TestDataTypeController : public NonBlockingDataTypeController {
- public:
- TestDataTypeController(
- const scoped_refptr<base::SingleThreadTaskRunner>& thread,
- sync_driver::SyncClient* sync_client)
- : NonBlockingDataTypeController(thread,
- base::Closure(),
- kTestModelType,
- sync_client) {}
-
- protected:
- ~TestDataTypeController() override {}
-
- bool RunOnModelThread(const tracked_objects::Location& from_here,
- const base::Closure& task) override {
- ui_thread()->PostTask(from_here, task);
- return true;
- }
-
- void RunOnUIThread(const tracked_objects::Location& from_here,
- const base::Closure& task) override {
- ui_thread()->PostTask(from_here, task);
- }
-};
-
-// Mock change processor to observe calls to DisableSync.
-class MockModelTypeChangeProcessor
- : public syncer_v2::FakeModelTypeChangeProcessor {
- public:
- explicit MockModelTypeChangeProcessor(int* disable_sync_call_count)
- : disable_sync_call_count_(disable_sync_call_count) {}
-
- void DisableSync() override { (*disable_sync_call_count_)++; }
-
- private:
- int* disable_sync_call_count_;
-};
-
-class NonBlockingDataTypeControllerTest : public testing::Test {
- public:
- NonBlockingDataTypeControllerTest()
- : disable_sync_call_count_(0),
- sync_prefs_(sync_client_.GetPrefService()),
- model_type_service_(
- base::Bind(&NonBlockingDataTypeControllerTest::CreateProcessor,
- base::Unretained(this))) {}
-
- void SetUp() override {
- sync_client_.SetModelTypeService(&model_type_service_);
- controller_ =
- new TestDataTypeController(message_loop_.task_runner(), &sync_client_);
- }
-
- void TearDown() override {
- controller_ = nullptr;
- PumpLoop();
- }
-
- protected:
- std::unique_ptr<syncer_v2::ModelTypeChangeProcessor> CreateProcessor(
- syncer::ModelType type,
- syncer_v2::ModelTypeService* service) {
- auto processor = base::MakeUnique<MockModelTypeChangeProcessor>(
- &disable_sync_call_count_);
- processor_ = processor.get();
- return std::move(processor);
- }
-
- // Gets controller from NOT_RUNNING to RUNNING state.
- void ActivateController() {
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING,
- controller_->state());
- controller_->LoadModels(
- base::Bind(&NonBlockingDataTypeControllerTest::LoadModelsDone,
- base::Unretained(this)));
-
- EXPECT_EQ(sync_driver::DataTypeController::MODEL_STARTING,
- controller_->state());
- PumpLoop();
- EXPECT_EQ(sync_driver::DataTypeController::MODEL_LOADED,
- controller_->state());
- controller_->StartAssociating(
- base::Bind(&NonBlockingDataTypeControllerTest::AssociationDone,
- base::Unretained(this)));
- EXPECT_EQ(sync_driver::DataTypeController::RUNNING, controller_->state());
- }
-
- void LoadModelsDone(syncer::ModelType type, syncer::SyncError error) {}
-
- void AssociationDone(sync_driver::DataTypeController::ConfigureResult result,
- const syncer::SyncMergeResult& local_merge_result,
- const syncer::SyncMergeResult& syncer_merge_result) {}
-
- void PumpLoop() { base::RunLoop().RunUntilIdle(); }
-
- int disable_sync_call_count_;
- base::MessageLoop message_loop_;
- sync_driver::FakeSyncClient sync_client_;
- sync_driver::SyncPrefs sync_prefs_;
- MockModelTypeChangeProcessor* processor_;
- syncer_v2::FakeModelTypeService model_type_service_;
- scoped_refptr<TestDataTypeController> controller_;
-};
-
-// Test emulates normal browser shutdown. Ensures that DisableSync is not
-// called.
-TEST_F(NonBlockingDataTypeControllerTest, StopWhenDatatypeEnabled) {
- // Enable datatype through preferences.
- sync_prefs_.SetFirstSetupComplete();
- sync_prefs_.SetKeepEverythingSynced(true);
-
- ActivateController();
-
- controller_->Stop();
- PumpLoop();
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state());
- // Ensure that DisableSync is not called and service still has valid change
- // processor.
- EXPECT_EQ(0, disable_sync_call_count_);
- EXPECT_TRUE(model_type_service_.HasChangeProcessor());
-}
-
-// Test emulates scenario when user disables datatype. DisableSync should be
-// called.
-TEST_F(NonBlockingDataTypeControllerTest, StopWhenDatatypeDisabled) {
- // Enable datatype through preferences.
- sync_prefs_.SetFirstSetupComplete();
- sync_prefs_.SetKeepEverythingSynced(true);
- ActivateController();
-
- // Disable datatype through preferences.
- sync_prefs_.SetKeepEverythingSynced(false);
- sync_prefs_.SetPreferredDataTypes(syncer::ModelTypeSet(kTestModelType),
- syncer::ModelTypeSet());
-
- controller_->Stop();
- PumpLoop();
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state());
- // Ensure that DisableSync is called and change processor is reset.
- EXPECT_EQ(1, disable_sync_call_count_);
- EXPECT_FALSE(model_type_service_.HasChangeProcessor());
-}
-
-// Test emulates disabling sync by signing out. DisableSync should be called.
-TEST_F(NonBlockingDataTypeControllerTest, StopWithInitialSyncPrefs) {
- // Enable datatype through preferences.
- sync_prefs_.SetFirstSetupComplete();
- sync_prefs_.SetKeepEverythingSynced(true);
- ActivateController();
-
- // Clearing preferences emulates signing out.
- sync_prefs_.ClearPreferences();
- controller_->Stop();
- PumpLoop();
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state());
- // Ensure that DisableSync is called and change processor is reset.
- EXPECT_EQ(1, disable_sync_call_count_);
- EXPECT_FALSE(model_type_service_.HasChangeProcessor());
-}
-
-// Test emulates disabling sync when datatype is not loaded yet. DisableSync
-// should not be called as service is potentially not ready to handle it.
-TEST_F(NonBlockingDataTypeControllerTest, StopBeforeLoadModels) {
- // Enable datatype through preferences.
- sync_prefs_.SetFirstSetupComplete();
- sync_prefs_.SetKeepEverythingSynced(true);
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state());
-
- // Clearing preferences emulates signing out.
- sync_prefs_.ClearPreferences();
- controller_->Stop();
- PumpLoop();
- EXPECT_EQ(sync_driver::DataTypeController::NOT_RUNNING, controller_->state());
- // Ensure that DisableSync is not called.
- EXPECT_EQ(0, disable_sync_call_count_);
-}
-
-} // namespace
-
-} // namespace sync_driver_v2
« no previous file with comments | « components/sync_driver/non_blocking_data_type_controller.cc ('k') | components/sync_driver/non_ui_data_type_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698