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

Side by Side Diff: components/browser_sync/profile_sync_service_unittest.cc

Issue 2494873003: [Sync] Allow sync start without sign-in if the local sync backend is on. (Closed)
Patch Set: Rebased on ToT. Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698