Index: chrome/browser/sync_file_system/drive_backend/sync_worker_unittest.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/sync_engine_unittest.cc b/chrome/browser/sync_file_system/drive_backend/sync_worker_unittest.cc |
similarity index 76% |
copy from chrome/browser/sync_file_system/drive_backend/sync_engine_unittest.cc |
copy to chrome/browser/sync_file_system/drive_backend/sync_worker_unittest.cc |
index 5c353a38ea368f8c0f88fb10436a5fc5593f3603..eb0b0f4fc84d11012bf4909c1d573214dc1de9ed 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/sync_engine_unittest.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/sync_worker_unittest.cc |
@@ -1,8 +1,8 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Copyright 2014 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 "chrome/browser/sync_file_system/drive_backend/sync_engine.h" |
+#include "chrome/browser/sync_file_system/drive_backend/sync_worker.h" |
#include "base/files/scoped_temp_dir.h" |
#include "base/run_loop.h" |
@@ -12,6 +12,7 @@ |
#include "chrome/browser/extensions/test_extension_service.h" |
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" |
+#include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" |
#include "chrome/browser/sync_file_system/drive_backend/sync_task.h" |
#include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h" |
#include "chrome/browser/sync_file_system/drive_backend/sync_worker.h" |
@@ -97,12 +98,11 @@ class MockExtensionService : public TestExtensionService { |
DISALLOW_COPY_AND_ASSIGN(MockExtensionService); |
}; |
-class SyncEngineTest |
- : public testing::Test, |
- public base::SupportsWeakPtr<SyncEngineTest> { |
+class SyncWorkerTest : public testing::Test, |
+ public base::SupportsWeakPtr<SyncWorkerTest> { |
public: |
- SyncEngineTest() {} |
- virtual ~SyncEngineTest() {} |
+ SyncWorkerTest() {} |
+ virtual ~SyncWorkerTest() {} |
virtual void SetUp() OVERRIDE { |
ASSERT_TRUE(profile_dir_.CreateUniqueTempDir()); |
@@ -112,51 +112,56 @@ class SyncEngineTest |
scoped_ptr<drive::DriveServiceInterface> |
fake_drive_service(new drive::FakeDriveService); |
- sync_engine_.reset(new drive_backend::SyncEngine( |
- fake_drive_service.Pass(), |
- scoped_ptr<drive::DriveUploaderInterface>(), |
- base::MessageLoopProxy::current(), |
- NULL /* notification_manager */, |
- extension_service_.get(), |
- NULL /* signin_manager */)); |
- sync_engine_->Initialize(profile_dir_.path(), |
- NULL, |
- base::MessageLoopProxy::current(), |
- in_memory_env_.get()); |
- sync_engine_->SetSyncEnabled(true); |
+ scoped_ptr<SyncEngineContext> |
+ sync_engine_context(new SyncEngineContext( |
+ fake_drive_service.Pass(), |
+ scoped_ptr<drive::DriveUploaderInterface>(), |
+ NULL /* task_logger */, |
+ base::MessageLoopProxy::current() /* ui_task_runner */, |
+ base::MessageLoopProxy::current() /* worker_task_runner */, |
+ base::MessageLoopProxy::current() /* file_task_runner */)); |
+ |
+ sync_worker_.reset(new SyncWorker( |
+ profile_dir_.path(), |
+ extension_service_->AsWeakPtr(), |
+ sync_engine_context.Pass(), |
+ in_memory_env_.get())); |
+ sync_worker_->Initialize(); |
+ |
+ sync_worker_->SetSyncEnabled(true); |
base::RunLoop().RunUntilIdle(); |
} |
virtual void TearDown() OVERRIDE { |
- sync_engine_.reset(); |
+ sync_worker_.reset(); |
extension_service_.reset(); |
base::RunLoop().RunUntilIdle(); |
} |
MockExtensionService* extension_service() { return extension_service_.get(); } |
- SyncEngine* sync_engine() { return sync_engine_.get(); } |
+ SyncWorker* sync_worker() { return sync_worker_.get(); } |
void UpdateRegisteredApps() { |
- sync_engine_->UpdateRegisteredAppsForTesting(); |
+ sync_worker_->UpdateRegisteredApps(); |
} |
- SyncTaskManager* GetSyncEngineTaskManager() { |
- return sync_engine_->sync_worker_->GetSyncTaskManager(); |
+ SyncTaskManager* GetSyncTaskManager() { |
+ return sync_worker_->GetSyncTaskManager(); |
} |
void CheckServiceState(SyncStatusCode expected_sync_status, |
RemoteServiceState expected_service_status, |
SyncStatusCode sync_status) { |
EXPECT_EQ(expected_sync_status, sync_status); |
- EXPECT_EQ(expected_service_status, sync_engine_->GetCurrentState()); |
+ EXPECT_EQ(expected_service_status, sync_worker_->GetCurrentState()); |
} |
MetadataDatabase* metadata_database() { |
- return sync_engine_->sync_worker_->GetMetadataDatabase(); |
+ return sync_worker_->GetMetadataDatabase(); |
} |
void SetHasRefreshToken(bool has_refresh_token) { |
- sync_engine_->sync_worker_->has_refresh_token_ = has_refresh_token; |
+ sync_worker_->has_refresh_token_ = has_refresh_token; |
} |
private: |
@@ -165,35 +170,35 @@ class SyncEngineTest |
scoped_ptr<leveldb::Env> in_memory_env_; |
scoped_ptr<MockExtensionService> extension_service_; |
- scoped_ptr<drive_backend::SyncEngine> sync_engine_; |
+ scoped_ptr<SyncWorker> sync_worker_; |
- DISALLOW_COPY_AND_ASSIGN(SyncEngineTest); |
+ DISALLOW_COPY_AND_ASSIGN(SyncWorkerTest); |
}; |
-TEST_F(SyncEngineTest, EnableOrigin) { |
+TEST_F(SyncWorkerTest, EnableOrigin) { |
FileTracker tracker; |
SyncStatusCode sync_status = SYNC_STATUS_UNKNOWN; |
GURL origin = extensions::Extension::GetBaseURLFromExtensionId(kAppID); |
- sync_engine()->RegisterOrigin(origin, CreateResultReceiver(&sync_status)); |
+ sync_worker()->RegisterOrigin(origin, CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
ASSERT_TRUE(metadata_database()->FindAppRootTracker(kAppID, &tracker)); |
EXPECT_EQ(TRACKER_KIND_APP_ROOT, tracker.tracker_kind()); |
- sync_engine()->DisableOrigin(origin, CreateResultReceiver(&sync_status)); |
+ sync_worker()->DisableOrigin(origin, CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
ASSERT_TRUE(metadata_database()->FindAppRootTracker(kAppID, &tracker)); |
EXPECT_EQ(TRACKER_KIND_DISABLED_APP_ROOT, tracker.tracker_kind()); |
- sync_engine()->EnableOrigin(origin, CreateResultReceiver(&sync_status)); |
+ sync_worker()->EnableOrigin(origin, CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
ASSERT_TRUE(metadata_database()->FindAppRootTracker(kAppID, &tracker)); |
EXPECT_EQ(TRACKER_KIND_APP_ROOT, tracker.tracker_kind()); |
- sync_engine()->UninstallOrigin( |
+ sync_worker()->UninstallOrigin( |
origin, |
RemoteFileSyncService::UNINSTALL_AND_KEEP_REMOTE, |
CreateResultReceiver(&sync_status)); |
@@ -202,7 +207,7 @@ TEST_F(SyncEngineTest, EnableOrigin) { |
ASSERT_FALSE(metadata_database()->FindAppRootTracker(kAppID, &tracker)); |
} |
-TEST_F(SyncEngineTest, UpdateRegisteredApps) { |
+TEST_F(SyncWorkerTest, UpdateRegisteredApps) { |
SyncStatusCode sync_status = SYNC_STATUS_UNKNOWN; |
for (int i = 0; i < 3; i++) { |
scoped_refptr<const extensions::Extension> extension = |
@@ -217,7 +222,7 @@ TEST_F(SyncEngineTest, UpdateRegisteredApps) { |
GURL origin = extensions::Extension::GetBaseURLFromExtensionId( |
extension->id()); |
sync_status = SYNC_STATUS_UNKNOWN; |
- sync_engine()->RegisterOrigin(origin, CreateResultReceiver(&sync_status)); |
+ sync_worker()->RegisterOrigin(origin, CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
} |
@@ -248,140 +253,141 @@ TEST_F(SyncEngineTest, UpdateRegisteredApps) { |
ASSERT_FALSE(metadata_database()->FindAppRootTracker("app_2", &tracker)); |
} |
-TEST_F(SyncEngineTest, GetOriginStatusMap) { |
+TEST_F(SyncWorkerTest, GetOriginStatusMap) { |
FileTracker tracker; |
SyncStatusCode sync_status = SYNC_STATUS_UNKNOWN; |
GURL origin = extensions::Extension::GetBaseURLFromExtensionId(kAppID); |
- sync_engine()->RegisterOrigin(GURL("chrome-extension://app_0"), |
+ sync_worker()->RegisterOrigin(GURL("chrome-extension://app_0"), |
CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
- sync_engine()->RegisterOrigin(GURL("chrome-extension://app_1"), |
+ sync_worker()->RegisterOrigin(GURL("chrome-extension://app_1"), |
CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
scoped_ptr<RemoteFileSyncService::OriginStatusMap> status_map; |
- sync_engine()->GetOriginStatusMap(CreateResultReceiver(&status_map)); |
+ sync_worker()->GetOriginStatusMap(CreateResultReceiver(&status_map)); |
base::RunLoop().RunUntilIdle(); |
ASSERT_EQ(2u, status_map->size()); |
EXPECT_EQ("Enabled", (*status_map)[GURL("chrome-extension://app_0")]); |
EXPECT_EQ("Enabled", (*status_map)[GURL("chrome-extension://app_1")]); |
- sync_engine()->DisableOrigin(GURL("chrome-extension://app_1"), |
+ sync_worker()->DisableOrigin(GURL("chrome-extension://app_1"), |
CreateResultReceiver(&sync_status)); |
base::RunLoop().RunUntilIdle(); |
EXPECT_EQ(SYNC_STATUS_OK, sync_status); |
- sync_engine()->GetOriginStatusMap(CreateResultReceiver(&status_map)); |
+ sync_worker()->GetOriginStatusMap(CreateResultReceiver(&status_map)); |
base::RunLoop().RunUntilIdle(); |
ASSERT_EQ(2u, status_map->size()); |
EXPECT_EQ("Enabled", (*status_map)[GURL("chrome-extension://app_0")]); |
EXPECT_EQ("Disabled", (*status_map)[GURL("chrome-extension://app_1")]); |
} |
-TEST_F(SyncEngineTest, UpdateServiceState) { |
- EXPECT_EQ(REMOTE_SERVICE_OK, sync_engine()->GetCurrentState()); |
+TEST_F(SyncWorkerTest, UpdateServiceState) { |
+ EXPECT_EQ(REMOTE_SERVICE_OK, sync_worker()->GetCurrentState()); |
+ // Assume an user is in login state. |
SetHasRefreshToken(true); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_STATUS_AUTHENTICATION_FAILED), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_AUTHENTICATION_FAILED, |
REMOTE_SERVICE_AUTHENTICATION_REQUIRED)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_STATUS_ACCESS_FORBIDDEN), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_ACCESS_FORBIDDEN, |
REMOTE_SERVICE_AUTHENTICATION_REQUIRED)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_STATUS_SERVICE_TEMPORARILY_UNAVAILABLE), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_SERVICE_TEMPORARILY_UNAVAILABLE, |
REMOTE_SERVICE_TEMPORARY_UNAVAILABLE)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_STATUS_NETWORK_ERROR), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_NETWORK_ERROR, |
REMOTE_SERVICE_TEMPORARY_UNAVAILABLE)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_STATUS_ABORT), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_ABORT, |
REMOTE_SERVICE_TEMPORARY_UNAVAILABLE)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_STATUS_FAILED), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_FAILED, |
REMOTE_SERVICE_TEMPORARY_UNAVAILABLE)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_DATABASE_ERROR_CORRUPTION), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_DATABASE_ERROR_CORRUPTION, |
REMOTE_SERVICE_DISABLED)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_DATABASE_ERROR_IO_ERROR), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_DATABASE_ERROR_IO_ERROR, |
REMOTE_SERVICE_DISABLED)); |
- GetSyncEngineTaskManager()->ScheduleTask( |
+ GetSyncTaskManager()->ScheduleTask( |
FROM_HERE, |
base::Bind(&EmptyTask, SYNC_DATABASE_ERROR_FAILED), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_DATABASE_ERROR_FAILED, |
REMOTE_SERVICE_DISABLED)); |
- GetSyncEngineTaskManager()->ScheduleSyncTask( |
+ GetSyncTaskManager()->ScheduleSyncTask( |
FROM_HERE, |
scoped_ptr<SyncTask>(new MockSyncTask(false)), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_OK, |
REMOTE_SERVICE_DISABLED)); |
- GetSyncEngineTaskManager()->ScheduleSyncTask( |
+ GetSyncTaskManager()->ScheduleSyncTask( |
FROM_HERE, |
scoped_ptr<SyncTask>(new MockSyncTask(true)), |
SyncTaskManager::PRIORITY_MED, |
- base::Bind(&SyncEngineTest::CheckServiceState, |
+ base::Bind(&SyncWorkerTest::CheckServiceState, |
AsWeakPtr(), |
SYNC_STATUS_OK, |
REMOTE_SERVICE_OK)); |