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

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

Issue 2555433003: [Sync] Plumb initial type set from engine to DTM. (Closed)
Patch Set: Rebase. Created 4 years 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 "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/threading/thread_task_runner_handle.h" 10 #include "base/threading/thread_task_runner_handle.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 profile_sync_service_bundle_.signin_manager()->SetAuthenticatedAccountInfo( 124 profile_sync_service_bundle_.signin_manager()->SetAuthenticatedAccountInfo(
125 kGaiaId, kEmail); 125 kGaiaId, kEmail);
126 if (sync_service) 126 if (sync_service)
127 sync_service->GoogleSigninSucceeded(account_id, kEmail, kDummyPassword); 127 sync_service->GoogleSigninSucceeded(account_id, kEmail, kDummyPassword);
128 #endif 128 #endif
129 return account_id; 129 return account_id;
130 } 130 }
131 131
132 DataTypeManagerMock* SetUpDataTypeManager() { 132 DataTypeManagerMock* SetUpDataTypeManager() {
133 DataTypeManagerMock* data_type_manager = new DataTypeManagerMock(); 133 DataTypeManagerMock* data_type_manager = new DataTypeManagerMock();
134 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _)) 134 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _, _))
135 .WillOnce(Return(data_type_manager)); 135 .WillOnce(Return(data_type_manager));
136 return data_type_manager; 136 return data_type_manager;
137 } 137 }
138 138
139 FakeSyncEngine* SetUpSyncEngine() { 139 FakeSyncEngine* SetUpSyncEngine() {
140 FakeSyncEngine* sync_backend_host = new FakeSyncEngine(); 140 FakeSyncEngine* sync_backend_host = new FakeSyncEngine();
141 EXPECT_CALL(*component_factory_, CreateSyncEngine(_, _, _, _)) 141 EXPECT_CALL(*component_factory_, CreateSyncEngine(_, _, _, _))
142 .WillOnce(Return(sync_backend_host)); 142 .WillOnce(Return(sync_backend_host));
143 return sync_backend_host; 143 return sync_backend_host;
144 } 144 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 } 206 }
207 207
208 // TODO(pavely): Reenable test once android is switched to oauth2. 208 // TODO(pavely): Reenable test once android is switched to oauth2.
209 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartNoCredentials) { 209 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartNoCredentials) {
210 // We've never completed startup. 210 // We've never completed startup.
211 pref_service()->ClearPref(syncer::prefs::kSyncFirstSetupComplete); 211 pref_service()->ClearPref(syncer::prefs::kSyncFirstSetupComplete);
212 CreateSyncService(ProfileSyncService::MANUAL_START); 212 CreateSyncService(ProfileSyncService::MANUAL_START);
213 213
214 // Should not actually start, rather just clean things up and wait 214 // Should not actually start, rather just clean things up and wait
215 // to be enabled. 215 // to be enabled.
216 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _)) 216 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _, _))
217 .Times(0); 217 .Times(0);
218 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 218 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
219 sync_service_->Initialize(); 219 sync_service_->Initialize();
220 220
221 // Preferences should be back to defaults. 221 // Preferences should be back to defaults.
222 EXPECT_EQ(0, pref_service()->GetInt64(syncer::prefs::kSyncLastSyncedTime)); 222 EXPECT_EQ(0, pref_service()->GetInt64(syncer::prefs::kSyncLastSyncedTime));
223 EXPECT_FALSE( 223 EXPECT_FALSE(
224 pref_service()->GetBoolean(syncer::prefs::kSyncFirstSetupComplete)); 224 pref_service()->GetBoolean(syncer::prefs::kSyncFirstSetupComplete));
225 225
226 // Then start things up. 226 // Then start things up.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 // Simulate successful signin. 268 // Simulate successful signin.
269 SimulateTestUserSignin(sync_service_.get()); 269 SimulateTestUserSignin(sync_service_.get());
270 270
271 sync_blocker.reset(); 271 sync_blocker.reset();
272 272
273 // Verify we successfully finish startup and configuration. 273 // Verify we successfully finish startup and configuration.
274 EXPECT_TRUE(sync_service_->IsSyncActive()); 274 EXPECT_TRUE(sync_service_->IsSyncActive());
275 } 275 }
276 276
277 TEST_F(ProfileSyncServiceStartupCrosTest, StartCrosNoCredentials) { 277 TEST_F(ProfileSyncServiceStartupCrosTest, StartCrosNoCredentials) {
278 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _)) 278 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _, _))
279 .Times(0); 279 .Times(0);
280 EXPECT_CALL(*component_factory_, CreateSyncEngine(_, _, _, _)).Times(0); 280 EXPECT_CALL(*component_factory_, CreateSyncEngine(_, _, _, _)).Times(0);
281 pref_service()->ClearPref(syncer::prefs::kSyncFirstSetupComplete); 281 pref_service()->ClearPref(syncer::prefs::kSyncFirstSetupComplete);
282 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 282 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
283 283
284 sync_service_->Initialize(); 284 sync_service_->Initialize();
285 // Sync should not start because there are no tokens yet. 285 // Sync should not start because there are no tokens yet.
286 EXPECT_FALSE(sync_service_->IsSyncActive()); 286 EXPECT_FALSE(sync_service_->IsSyncActive());
287 sync_service_->SetFirstSetupComplete(); 287 sync_service_->SetFirstSetupComplete();
288 288
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 pref_service()->GetBoolean(syncer::prefs::kSyncKeepEverythingSynced)); 382 pref_service()->GetBoolean(syncer::prefs::kSyncKeepEverythingSynced));
383 } 383 }
384 384
385 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) { 385 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) {
386 // Service should not be started by Initialize() since it's managed. 386 // Service should not be started by Initialize() since it's managed.
387 pref_service()->SetString(prefs::kGoogleServicesAccountId, kEmail); 387 pref_service()->SetString(prefs::kGoogleServicesAccountId, kEmail);
388 CreateSyncService(ProfileSyncService::MANUAL_START); 388 CreateSyncService(ProfileSyncService::MANUAL_START);
389 389
390 // Disable sync through policy. 390 // Disable sync through policy.
391 pref_service()->SetBoolean(syncer::prefs::kSyncManaged, true); 391 pref_service()->SetBoolean(syncer::prefs::kSyncManaged, true);
392 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _)) 392 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _, _))
393 .Times(0); 393 .Times(0);
394 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 394 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
395 395
396 sync_service_->Initialize(); 396 sync_service_->Initialize();
397 } 397 }
398 398
399 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { 399 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) {
400 CreateSyncService(ProfileSyncService::MANUAL_START); 400 CreateSyncService(ProfileSyncService::MANUAL_START);
401 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 401 std::string account_id = SimulateTestUserSignin(sync_service_.get());
402 sync_service_->SetFirstSetupComplete(); 402 sync_service_->SetFirstSetupComplete();
(...skipping 14 matching lines...) Expand all
417 .WillOnce(Return(DataTypeManager::CONFIGURED)); 417 .WillOnce(Return(DataTypeManager::CONFIGURED));
418 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 418 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
419 pref_service()->SetBoolean(syncer::prefs::kSyncManaged, true); 419 pref_service()->SetBoolean(syncer::prefs::kSyncManaged, true);
420 EXPECT_FALSE(sync_service_->IsEngineInitialized()); 420 EXPECT_FALSE(sync_service_->IsEngineInitialized());
421 // Note that PSS no longer references |data_type_manager| after stopping. 421 // Note that PSS no longer references |data_type_manager| after stopping.
422 422
423 // When switching back to unmanaged, the state should change but sync should 423 // When switching back to unmanaged, the state should change but sync should
424 // not start automatically because IsFirstSetupComplete() will be false. 424 // not start automatically because IsFirstSetupComplete() will be false.
425 // A new DataTypeManager should not be created. 425 // A new DataTypeManager should not be created.
426 Mock::VerifyAndClearExpectations(data_type_manager); 426 Mock::VerifyAndClearExpectations(data_type_manager);
427 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _)) 427 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _, _))
428 .Times(0); 428 .Times(0);
429 pref_service()->ClearPref(syncer::prefs::kSyncManaged); 429 pref_service()->ClearPref(syncer::prefs::kSyncManaged);
430 EXPECT_FALSE(sync_service_->IsEngineInitialized()); 430 EXPECT_FALSE(sync_service_->IsEngineInitialized());
431 EXPECT_FALSE(sync_service_->IsSyncActive()); 431 EXPECT_FALSE(sync_service_->IsSyncActive());
432 } 432 }
433 433
434 TEST_F(ProfileSyncServiceStartupTest, StartFailure) { 434 TEST_F(ProfileSyncServiceStartupTest, StartFailure) {
435 CreateSyncService(ProfileSyncService::MANUAL_START); 435 CreateSyncService(ProfileSyncService::MANUAL_START);
436 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 436 std::string account_id = SimulateTestUserSignin(sync_service_.get());
437 sync_service_->SetFirstSetupComplete(); 437 sync_service_->SetFirstSetupComplete();
(...skipping 29 matching lines...) Expand all
467 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 467 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
468 sync_service_->Initialize(); 468 sync_service_->Initialize();
469 469
470 auto sync_blocker = sync_service_->GetSetupInProgressHandle(); 470 auto sync_blocker = sync_service_->GetSetupInProgressHandle();
471 IssueTestTokens(account_id); 471 IssueTestTokens(account_id);
472 sync_blocker.reset(); 472 sync_blocker.reset();
473 EXPECT_FALSE(sync_service_->IsSyncActive()); 473 EXPECT_FALSE(sync_service_->IsSyncActive());
474 } 474 }
475 475
476 } // namespace browser_sync 476 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698