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

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

Issue 1575153004: [Sync] Simplify sync startup behavior. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@setup
Patch Set: Rebase. Created 4 years, 9 months 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 <utility> 5 #include <utility>
6 6
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 201
202 sync_service_->SetSetupInProgress(true); 202 sync_service_->SetSetupInProgress(true);
203 203
204 // Simulate successful signin as test_user. 204 // Simulate successful signin as test_user.
205 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 205 std::string account_id = SimulateTestUserSignin(sync_service_.get());
206 // Create some tokens in the token service. 206 // Create some tokens in the token service.
207 IssueTestTokens(account_id); 207 IssueTestTokens(account_id);
208 208
209 // Simulate the UI telling sync it has finished setting up. 209 // Simulate the UI telling sync it has finished setting up.
210 sync_service_->SetSetupInProgress(false); 210 sync_service_->SetSetupInProgress(false);
211 sync_service_->SetFirstSetupComplete();
211 EXPECT_TRUE(sync_service_->IsSyncActive()); 212 EXPECT_TRUE(sync_service_->IsSyncActive());
212 } 213 }
213 214
214 // TODO(pavely): Reenable test once android is switched to oauth2. 215 // TODO(pavely): Reenable test once android is switched to oauth2.
215 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartNoCredentials) { 216 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartNoCredentials) {
216 // We've never completed startup. 217 // We've never completed startup.
217 pref_service()->ClearPref(sync_driver::prefs::kSyncFirstSetupComplete); 218 pref_service()->ClearPref(sync_driver::prefs::kSyncFirstSetupComplete);
218 CreateSyncService(browser_sync::MANUAL_START); 219 CreateSyncService(browser_sync::MANUAL_START);
219 220
220 // Should not actually start, rather just clean things up and wait 221 // Should not actually start, rather just clean things up and wait
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 sync_service_->Initialize(); 405 sync_service_->Initialize();
405 } 406 }
406 407
407 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { 408 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) {
408 CreateSyncService(browser_sync::MANUAL_START); 409 CreateSyncService(browser_sync::MANUAL_START);
409 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 410 std::string account_id = SimulateTestUserSignin(sync_service_.get());
410 sync_service_->SetFirstSetupComplete(); 411 sync_service_->SetFirstSetupComplete();
411 SetUpSyncBackendHost(); 412 SetUpSyncBackendHost();
412 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 413 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
413 EXPECT_CALL(*data_type_manager, Configure(_, _)); 414 EXPECT_CALL(*data_type_manager, Configure(_, _));
415 EXPECT_CALL(*data_type_manager, state())
416 .WillRepeatedly(Return(DataTypeManager::CONFIGURED));
414 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 417 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
415 IssueTestTokens(account_id); 418 IssueTestTokens(account_id);
416 sync_service_->Initialize(); 419 sync_service_->Initialize();
420 EXPECT_TRUE(sync_service_->IsBackendInitialized());
421 EXPECT_TRUE(sync_service_->IsSyncActive());
417 422
418 // The service should stop when switching to managed mode. 423 // The service should stop when switching to managed mode.
419 Mock::VerifyAndClearExpectations(data_type_manager); 424 Mock::VerifyAndClearExpectations(data_type_manager);
420 EXPECT_CALL(*data_type_manager, state()). 425 EXPECT_CALL(*data_type_manager, state()).
421 WillOnce(Return(DataTypeManager::CONFIGURED)); 426 WillOnce(Return(DataTypeManager::CONFIGURED));
422 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 427 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
423 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
424 pref_service()->SetBoolean(sync_driver::prefs::kSyncManaged, true); 428 pref_service()->SetBoolean(sync_driver::prefs::kSyncManaged, true);
429 EXPECT_FALSE(sync_service_->IsBackendInitialized());
430 // Note that PSS no longer references |data_type_manager| after stopping.
425 431
426 // When switching back to unmanaged, the state should change, but the service 432 // When switching back to unmanaged, the state should change and sync should
427 // should not start up automatically (kSyncFirstSetupComplete will be 433 // start but not become active because IsFirstSetupComplete() will be false.
428 // false). 434 SetUpSyncBackendHost();
429 Mock::VerifyAndClearExpectations(data_type_manager); 435 // A new DataTypeManager should not be created.
430 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _)) 436 EXPECT_CALL(*component_factory_, CreateDataTypeManager(_, _, _, _, _))
431 .Times(0); 437 .Times(0);
432 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
433 pref_service()->ClearPref(sync_driver::prefs::kSyncManaged); 438 pref_service()->ClearPref(sync_driver::prefs::kSyncManaged);
439 EXPECT_TRUE(sync_service_->IsBackendInitialized());
440 EXPECT_FALSE(sync_service_->IsSyncActive());
434 } 441 }
435 442
436 TEST_F(ProfileSyncServiceStartupTest, StartFailure) { 443 TEST_F(ProfileSyncServiceStartupTest, StartFailure) {
437 CreateSyncService(browser_sync::MANUAL_START); 444 CreateSyncService(browser_sync::MANUAL_START);
438 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 445 std::string account_id = SimulateTestUserSignin(sync_service_.get());
439 sync_service_->SetFirstSetupComplete(); 446 sync_service_->SetFirstSetupComplete();
440 SetUpSyncBackendHost(); 447 SetUpSyncBackendHost();
441 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 448 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
442 DataTypeManager::ConfigureStatus status = DataTypeManager::ABORTED; 449 DataTypeManager::ConfigureStatus status = DataTypeManager::ABORTED;
443 DataTypeManager::ConfigureResult result( 450 DataTypeManager::ConfigureResult result(
(...skipping 25 matching lines...) Expand all
469 pref_service()->ClearPref(sync_driver::prefs::kSyncFirstSetupComplete); 476 pref_service()->ClearPref(sync_driver::prefs::kSyncFirstSetupComplete);
470 477
471 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 478 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
472 sync_service_->Initialize(); 479 sync_service_->Initialize();
473 480
474 sync_service_->SetSetupInProgress(true); 481 sync_service_->SetSetupInProgress(true);
475 IssueTestTokens(account_id); 482 IssueTestTokens(account_id);
476 sync_service_->SetSetupInProgress(false); 483 sync_service_->SetSetupInProgress(false);
477 EXPECT_FALSE(sync_service_->IsSyncActive()); 484 EXPECT_FALSE(sync_service_->IsSyncActive());
478 } 485 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698