| 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 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 &profile_sync_service_bundle_); | 241 &profile_sync_service_bundle_); |
| 242 ProfileSyncService::InitParams init_params = | 242 ProfileSyncService::InitParams init_params = |
| 243 profile_sync_service_bundle_.CreateBasicInitParams(behavior, | 243 profile_sync_service_bundle_.CreateBasicInitParams(behavior, |
| 244 builder.Build()); | 244 builder.Build()); |
| 245 | 245 |
| 246 service_ = base::MakeUnique<ProfileSyncService>(std::move(init_params)); | 246 service_ = base::MakeUnique<ProfileSyncService>(std::move(init_params)); |
| 247 service_->RegisterDataTypeController( | 247 service_->RegisterDataTypeController( |
| 248 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); | 248 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); |
| 249 } | 249 } |
| 250 | 250 |
| 251 #if defined(OS_WIN) || defined(OS_MACOSX) || \ | |
| 252 (defined(OS_LINUX) && !defined(OS_CHROMEOS)) | |
| 253 void CreateServiceWithoutSignIn() { | 251 void CreateServiceWithoutSignIn() { |
| 254 CreateService(ProfileSyncService::AUTO_START); | 252 component_factory_ = profile_sync_service_bundle_.component_factory(); |
| 255 signin_manager()->SignOut(signin_metrics::SIGNOUT_TEST, | 253 ProfileSyncServiceBundle::SyncClientBuilder builder( |
| 256 signin_metrics::SignoutDelete::IGNORE_METRIC); | 254 &profile_sync_service_bundle_); |
| 255 ProfileSyncService::InitParams init_params = |
| 256 profile_sync_service_bundle_.CreateBasicInitParams( |
| 257 ProfileSyncService::AUTO_START, builder.Build()); |
| 258 |
| 259 init_params.local_sync_backend_enabled = true; |
| 260 init_params.local_sync_backend_folder = |
| 261 base::FilePath(FILE_PATH_LITERAL("dummyPath")); |
| 262 init_params.oauth2_token_service = nullptr; |
| 263 init_params.gaia_cookie_manager_service = nullptr; |
| 264 |
| 265 service_ = base::MakeUnique<ProfileSyncService>(std::move(init_params)); |
| 266 service_->RegisterDataTypeController( |
| 267 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); |
| 257 } | 268 } |
| 258 #endif | |
| 259 | 269 |
| 260 void ShutdownAndDeleteService() { | 270 void ShutdownAndDeleteService() { |
| 261 if (service_) | 271 if (service_) |
| 262 service_->Shutdown(); | 272 service_->Shutdown(); |
| 263 service_.reset(); | 273 service_.reset(); |
| 264 } | 274 } |
| 265 | 275 |
| 266 void InitializeForNthSync() { | 276 void InitializeForNthSync() { |
| 267 // Set first sync time before initialize to simulate a complete sync setup. | 277 // Set first sync time before initialize to simulate a complete sync setup. |
| 268 syncer::SyncPrefs sync_prefs(prefs()); | 278 syncer::SyncPrefs sync_prefs(prefs()); |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 new base::FundamentalValue(false)); | 412 new base::FundamentalValue(false)); |
| 403 IssueTestTokens(); | 413 IssueTestTokens(); |
| 404 CreateService(ProfileSyncService::AUTO_START); | 414 CreateService(ProfileSyncService::AUTO_START); |
| 405 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 415 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 406 ExpectSyncBackendHostCreation(1); | 416 ExpectSyncBackendHostCreation(1); |
| 407 InitializeForNthSync(); | 417 InitializeForNthSync(); |
| 408 EXPECT_FALSE(service()->IsManaged()); | 418 EXPECT_FALSE(service()->IsManaged()); |
| 409 EXPECT_TRUE(service()->IsSyncActive()); | 419 EXPECT_TRUE(service()->IsSyncActive()); |
| 410 } | 420 } |
| 411 | 421 |
| 422 // Verify a successful initialization. |
| 423 TEST_F(ProfileSyncServiceTest, SuccessfulLocalBackendInitialization) { |
| 424 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, |
| 425 new base::FundamentalValue(false)); |
| 426 IssueTestTokens(); |
| 427 CreateServiceWithoutSignIn(); |
| 428 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 429 ExpectSyncBackendHostCreation(1); |
| 430 InitializeForNthSync(); |
| 431 EXPECT_FALSE(service()->IsManaged()); |
| 432 EXPECT_TRUE(service()->IsSyncActive()); |
| 433 } |
| 434 |
| 412 // Verify that an initialization where first setup is not complete does not | 435 // Verify that an initialization where first setup is not complete does not |
| 413 // start up the backend. | 436 // start up the backend. |
| 414 TEST_F(ProfileSyncServiceTest, NeedsConfirmation) { | 437 TEST_F(ProfileSyncServiceTest, NeedsConfirmation) { |
| 415 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, | 438 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, |
| 416 new base::FundamentalValue(false)); | 439 new base::FundamentalValue(false)); |
| 417 IssueTestTokens(); | 440 IssueTestTokens(); |
| 418 CreateService(ProfileSyncService::MANUAL_START); | 441 CreateService(ProfileSyncService::MANUAL_START); |
| 419 syncer::SyncPrefs sync_prefs(prefs()); | 442 syncer::SyncPrefs sync_prefs(prefs()); |
| 420 base::Time now = base::Time::Now(); | 443 base::Time now = base::Time::Now(); |
| 421 sync_prefs.SetLastSyncedTime(now); | 444 sync_prefs.SetLastSyncedTime(now); |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 // Progress the controller to RUNNING first, which is how the service | 992 // Progress the controller to RUNNING first, which is how the service |
| 970 // determines whether a type is enabled. | 993 // determines whether a type is enabled. |
| 971 controller->StartAssociating(base::Bind(&DoNothing)); | 994 controller->StartAssociating(base::Bind(&DoNothing)); |
| 972 controller->FinishStart(DataTypeController::OK_FIRST_RUN); | 995 controller->FinishStart(DataTypeController::OK_FIRST_RUN); |
| 973 service()->RegisterDataTypeController(std::move(controller)); | 996 service()->RegisterDataTypeController(std::move(controller)); |
| 974 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); | 997 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); |
| 975 } | 998 } |
| 976 | 999 |
| 977 } // namespace | 1000 } // namespace |
| 978 } // namespace browser_sync | 1001 } // namespace browser_sync |
| OLD | NEW |