| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/browser_sync/profile_sync_service.h" | 5 #include "components/browser_sync/profile_sync_service.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 &profile_sync_service_bundle_); | 204 &profile_sync_service_bundle_); |
| 205 ProfileSyncService::InitParams init_params = | 205 ProfileSyncService::InitParams init_params = |
| 206 profile_sync_service_bundle_.CreateBasicInitParams(behavior, | 206 profile_sync_service_bundle_.CreateBasicInitParams(behavior, |
| 207 builder.Build()); | 207 builder.Build()); |
| 208 | 208 |
| 209 service_ = base::MakeUnique<ProfileSyncService>(std::move(init_params)); | 209 service_ = base::MakeUnique<ProfileSyncService>(std::move(init_params)); |
| 210 service_->RegisterDataTypeController( | 210 service_->RegisterDataTypeController( |
| 211 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); | 211 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); |
| 212 } | 212 } |
| 213 | 213 |
| 214 #if defined(OS_WIN) || defined(OS_MACOSX) || \ | 214 void CreateServiceWithLocalSyncBackend() { |
| 215 (defined(OS_LINUX) && !defined(OS_CHROMEOS)) | 215 component_factory_ = profile_sync_service_bundle_.component_factory(); |
| 216 void CreateServiceWithoutSignIn() { | 216 ProfileSyncServiceBundle::SyncClientBuilder builder( |
| 217 CreateService(ProfileSyncService::AUTO_START); | 217 &profile_sync_service_bundle_); |
| 218 signin_manager()->SignOut(signin_metrics::SIGNOUT_TEST, | 218 ProfileSyncService::InitParams init_params = |
| 219 signin_metrics::SignoutDelete::IGNORE_METRIC); | 219 profile_sync_service_bundle_.CreateBasicInitParams( |
| 220 ProfileSyncService::AUTO_START, builder.Build()); |
| 221 |
| 222 prefs()->SetBoolean(syncer::prefs::kEnableLocalSyncBackend, true); |
| 223 init_params.local_sync_backend_folder = |
| 224 base::FilePath(FILE_PATH_LITERAL("dummyPath")); |
| 225 init_params.oauth2_token_service = nullptr; |
| 226 init_params.gaia_cookie_manager_service = nullptr; |
| 227 |
| 228 service_ = base::MakeUnique<ProfileSyncService>(std::move(init_params)); |
| 229 service_->RegisterDataTypeController( |
| 230 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); |
| 220 } | 231 } |
| 221 #endif | |
| 222 | 232 |
| 223 void ShutdownAndDeleteService() { | 233 void ShutdownAndDeleteService() { |
| 224 if (service_) | 234 if (service_) |
| 225 service_->Shutdown(); | 235 service_->Shutdown(); |
| 226 service_.reset(); | 236 service_.reset(); |
| 227 } | 237 } |
| 228 | 238 |
| 229 void InitializeForNthSync() { | 239 void InitializeForNthSync() { |
| 230 // Set first sync time before initialize to simulate a complete sync setup. | 240 // Set first sync time before initialize to simulate a complete sync setup. |
| 231 syncer::SyncPrefs sync_prefs(prefs()); | 241 syncer::SyncPrefs sync_prefs(prefs()); |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 new base::FundamentalValue(false)); | 375 new base::FundamentalValue(false)); |
| 366 IssueTestTokens(); | 376 IssueTestTokens(); |
| 367 CreateService(ProfileSyncService::AUTO_START); | 377 CreateService(ProfileSyncService::AUTO_START); |
| 368 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 378 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 369 ExpectSyncEngineCreation(1); | 379 ExpectSyncEngineCreation(1); |
| 370 InitializeForNthSync(); | 380 InitializeForNthSync(); |
| 371 EXPECT_FALSE(service()->IsManaged()); | 381 EXPECT_FALSE(service()->IsManaged()); |
| 372 EXPECT_TRUE(service()->IsSyncActive()); | 382 EXPECT_TRUE(service()->IsSyncActive()); |
| 373 } | 383 } |
| 374 | 384 |
| 385 // Verify a successful initialization. |
| 386 TEST_F(ProfileSyncServiceTest, SuccessfulLocalBackendInitialization) { |
| 387 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, |
| 388 new base::FundamentalValue(false)); |
| 389 IssueTestTokens(); |
| 390 CreateServiceWithLocalSyncBackend(); |
| 391 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 392 ExpectSyncEngineCreation(1); |
| 393 InitializeForNthSync(); |
| 394 EXPECT_FALSE(service()->IsManaged()); |
| 395 EXPECT_TRUE(service()->IsSyncActive()); |
| 396 } |
| 397 |
| 375 // Verify that an initialization where first setup is not complete does not | 398 // Verify that an initialization where first setup is not complete does not |
| 376 // start up the backend. | 399 // start up the backend. |
| 377 TEST_F(ProfileSyncServiceTest, NeedsConfirmation) { | 400 TEST_F(ProfileSyncServiceTest, NeedsConfirmation) { |
| 378 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, | 401 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, |
| 379 new base::FundamentalValue(false)); | 402 new base::FundamentalValue(false)); |
| 380 IssueTestTokens(); | 403 IssueTestTokens(); |
| 381 CreateService(ProfileSyncService::MANUAL_START); | 404 CreateService(ProfileSyncService::MANUAL_START); |
| 382 syncer::SyncPrefs sync_prefs(prefs()); | 405 syncer::SyncPrefs sync_prefs(prefs()); |
| 383 base::Time now = base::Time::Now(); | 406 base::Time now = base::Time::Now(); |
| 384 sync_prefs.SetLastSyncedTime(now); | 407 sync_prefs.SetLastSyncedTime(now); |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 // Progress the controller to RUNNING first, which is how the service | 955 // Progress the controller to RUNNING first, which is how the service |
| 933 // determines whether a type is enabled. | 956 // determines whether a type is enabled. |
| 934 controller->StartAssociating(base::Bind(&DoNothing)); | 957 controller->StartAssociating(base::Bind(&DoNothing)); |
| 935 controller->FinishStart(DataTypeController::OK_FIRST_RUN); | 958 controller->FinishStart(DataTypeController::OK_FIRST_RUN); |
| 936 service()->RegisterDataTypeController(std::move(controller)); | 959 service()->RegisterDataTypeController(std::move(controller)); |
| 937 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); | 960 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); |
| 938 } | 961 } |
| 939 | 962 |
| 940 } // namespace | 963 } // namespace |
| 941 } // namespace browser_sync | 964 } // namespace browser_sync |
| OLD | NEW |