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

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

Issue 2687153003: [sync] Adjust ProfileSyncServiceStartupTest to do more crypto (Closed)
Patch Set: Switch to ON_CALL Created 3 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 25 matching lines...) Expand all
36 using testing::DoAll; 36 using testing::DoAll;
37 using testing::Mock; 37 using testing::Mock;
38 using testing::Return; 38 using testing::Return;
39 39
40 namespace browser_sync { 40 namespace browser_sync {
41 41
42 namespace { 42 namespace {
43 43
44 const char kGaiaId[] = "12345"; 44 const char kGaiaId[] = "12345";
45 const char kEmail[] = "test_user@gmail.com"; 45 const char kEmail[] = "test_user@gmail.com";
46 const char kDummyPassword[] = ""; 46 const char kDummyPassword[] = "foobar";
47 47
48 class SyncServiceObserverMock : public syncer::SyncServiceObserver { 48 class SyncServiceObserverMock : public syncer::SyncServiceObserver {
49 public: 49 public:
50 SyncServiceObserverMock(); 50 SyncServiceObserverMock();
51 virtual ~SyncServiceObserverMock(); 51 virtual ~SyncServiceObserverMock();
52 52
53 MOCK_METHOD1(OnStateChanged, void(syncer::SyncService*)); 53 MOCK_METHOD1(OnStateChanged, void(syncer::SyncService*));
54 }; 54 };
55 55
56 SyncServiceObserverMock::SyncServiceObserverMock() {} 56 SyncServiceObserverMock::SyncServiceObserverMock() {}
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 EXPECT_CALL(*data_type_manager, state()) 189 EXPECT_CALL(*data_type_manager, state())
190 .WillOnce(Return(DataTypeManager::CONFIGURED)) 190 .WillOnce(Return(DataTypeManager::CONFIGURED))
191 .WillOnce(Return(DataTypeManager::CONFIGURED)); 191 .WillOnce(Return(DataTypeManager::CONFIGURED));
192 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 192 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
193 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 193 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
194 194
195 auto sync_blocker = sync_service_->GetSetupInProgressHandle(); 195 auto sync_blocker = sync_service_->GetSetupInProgressHandle();
196 196
197 // Simulate successful signin as test_user. 197 // Simulate successful signin as test_user.
198 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 198 std::string account_id = SimulateTestUserSignin(sync_service_.get());
199 ON_CALL(*data_type_manager, IsNigoriEnabled()).WillByDefault(Return(true));
199 // Create some tokens in the token service. 200 // Create some tokens in the token service.
200 IssueTestTokens(account_id); 201 IssueTestTokens(account_id);
201 202
202 // Simulate the UI telling sync it has finished setting up. 203 // Simulate the UI telling sync it has finished setting up.
203 sync_blocker.reset(); 204 sync_blocker.reset();
204 sync_service_->SetFirstSetupComplete(); 205 sync_service_->SetFirstSetupComplete();
205 EXPECT_TRUE(sync_service_->IsSyncActive()); 206 EXPECT_TRUE(sync_service_->IsSyncActive());
206 } 207 }
207 208
208 // TODO(pavely): Reenable test once android is switched to oauth2. 209 // TODO(pavely): Reenable test once android is switched to oauth2.
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 CreateSyncService(ProfileSyncService::MANUAL_START); 313 CreateSyncService(ProfileSyncService::MANUAL_START);
313 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 314 std::string account_id = SimulateTestUserSignin(sync_service_.get());
314 sync_service_->SetFirstSetupComplete(); 315 sync_service_->SetFirstSetupComplete();
315 SetUpSyncEngine(); 316 SetUpSyncEngine();
316 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 317 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
317 EXPECT_CALL(*data_type_manager, Configure(_, _)); 318 EXPECT_CALL(*data_type_manager, Configure(_, _));
318 EXPECT_CALL(*data_type_manager, state()) 319 EXPECT_CALL(*data_type_manager, state())
319 .WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 320 .WillRepeatedly(Return(DataTypeManager::CONFIGURED));
320 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 321 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
321 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 322 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
323 ON_CALL(*data_type_manager, IsNigoriEnabled()).WillByDefault(Return(true));
322 324
323 IssueTestTokens(account_id); 325 IssueTestTokens(account_id);
324 326
325 sync_service_->Initialize(); 327 sync_service_->Initialize();
326 } 328 }
327 329
328 // Test that we can recover from a case where a bug in the code resulted in 330 // Test that we can recover from a case where a bug in the code resulted in
329 // OnUserChoseDatatypes not being properly called and datatype preferences 331 // OnUserChoseDatatypes not being properly called and datatype preferences
330 // therefore being left unset. 332 // therefore being left unset.
331 TEST_F(ProfileSyncServiceStartupTest, StartRecoverDatatypePrefs) { 333 TEST_F(ProfileSyncServiceStartupTest, StartRecoverDatatypePrefs) {
(...skipping 10 matching lines...) Expand all
342 CreateSyncService(ProfileSyncService::MANUAL_START); 344 CreateSyncService(ProfileSyncService::MANUAL_START);
343 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 345 std::string account_id = SimulateTestUserSignin(sync_service_.get());
344 sync_service_->SetFirstSetupComplete(); 346 sync_service_->SetFirstSetupComplete();
345 SetUpSyncEngine(); 347 SetUpSyncEngine();
346 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 348 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
347 EXPECT_CALL(*data_type_manager, Configure(_, _)); 349 EXPECT_CALL(*data_type_manager, Configure(_, _));
348 EXPECT_CALL(*data_type_manager, state()) 350 EXPECT_CALL(*data_type_manager, state())
349 .WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 351 .WillRepeatedly(Return(DataTypeManager::CONFIGURED));
350 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 352 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
351 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 353 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
354 ON_CALL(*data_type_manager, IsNigoriEnabled()).WillByDefault(Return(true));
352 355
353 IssueTestTokens(account_id); 356 IssueTestTokens(account_id);
354 sync_service_->Initialize(); 357 sync_service_->Initialize();
355 358
356 EXPECT_TRUE( 359 EXPECT_TRUE(
357 pref_service()->GetBoolean(syncer::prefs::kSyncKeepEverythingSynced)); 360 pref_service()->GetBoolean(syncer::prefs::kSyncKeepEverythingSynced));
358 } 361 }
359 362
360 // Verify that the recovery of datatype preferences doesn't overwrite a valid 363 // Verify that the recovery of datatype preferences doesn't overwrite a valid
361 // case where only bookmarks are enabled. 364 // case where only bookmarks are enabled.
362 TEST_F(ProfileSyncServiceStartupTest, StartDontRecoverDatatypePrefs) { 365 TEST_F(ProfileSyncServiceStartupTest, StartDontRecoverDatatypePrefs) {
363 // Explicitly set Keep Everything Synced to false and have only bookmarks 366 // Explicitly set Keep Everything Synced to false and have only bookmarks
364 // enabled. 367 // enabled.
365 pref_service()->SetBoolean(syncer::prefs::kSyncKeepEverythingSynced, false); 368 pref_service()->SetBoolean(syncer::prefs::kSyncKeepEverythingSynced, false);
366 369
367 // Pre load the tokens 370 // Pre load the tokens
368 CreateSyncService(ProfileSyncService::MANUAL_START); 371 CreateSyncService(ProfileSyncService::MANUAL_START);
369 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 372 std::string account_id = SimulateTestUserSignin(sync_service_.get());
370 sync_service_->SetFirstSetupComplete(); 373 sync_service_->SetFirstSetupComplete();
371 SetUpSyncEngine(); 374 SetUpSyncEngine();
372 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 375 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
373 EXPECT_CALL(*data_type_manager, Configure(_, _)); 376 EXPECT_CALL(*data_type_manager, Configure(_, _));
374 EXPECT_CALL(*data_type_manager, state()) 377 EXPECT_CALL(*data_type_manager, state())
375 .WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 378 .WillRepeatedly(Return(DataTypeManager::CONFIGURED));
376 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 379 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
377 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 380 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
381 ON_CALL(*data_type_manager, IsNigoriEnabled()).WillByDefault(Return(true));
378 IssueTestTokens(account_id); 382 IssueTestTokens(account_id);
379 sync_service_->Initialize(); 383 sync_service_->Initialize();
380 384
381 EXPECT_FALSE( 385 EXPECT_FALSE(
382 pref_service()->GetBoolean(syncer::prefs::kSyncKeepEverythingSynced)); 386 pref_service()->GetBoolean(syncer::prefs::kSyncKeepEverythingSynced));
383 } 387 }
384 388
385 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) { 389 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) {
386 // Service should not be started by Initialize() since it's managed. 390 // Service should not be started by Initialize() since it's managed.
387 pref_service()->SetString(prefs::kGoogleServicesAccountId, kEmail); 391 pref_service()->SetString(prefs::kGoogleServicesAccountId, kEmail);
(...skipping 11 matching lines...) Expand all
399 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { 403 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) {
400 CreateSyncService(ProfileSyncService::MANUAL_START); 404 CreateSyncService(ProfileSyncService::MANUAL_START);
401 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 405 std::string account_id = SimulateTestUserSignin(sync_service_.get());
402 sync_service_->SetFirstSetupComplete(); 406 sync_service_->SetFirstSetupComplete();
403 SetUpSyncEngine(); 407 SetUpSyncEngine();
404 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 408 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
405 EXPECT_CALL(*data_type_manager, Configure(_, _)); 409 EXPECT_CALL(*data_type_manager, Configure(_, _));
406 EXPECT_CALL(*data_type_manager, state()) 410 EXPECT_CALL(*data_type_manager, state())
407 .WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 411 .WillRepeatedly(Return(DataTypeManager::CONFIGURED));
408 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 412 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
413 ON_CALL(*data_type_manager, IsNigoriEnabled()).WillByDefault(Return(true));
409 IssueTestTokens(account_id); 414 IssueTestTokens(account_id);
410 sync_service_->Initialize(); 415 sync_service_->Initialize();
411 EXPECT_TRUE(sync_service_->IsEngineInitialized()); 416 EXPECT_TRUE(sync_service_->IsEngineInitialized());
412 EXPECT_TRUE(sync_service_->IsSyncActive()); 417 EXPECT_TRUE(sync_service_->IsSyncActive());
413 418
414 // The service should stop when switching to managed mode. 419 // The service should stop when switching to managed mode.
415 Mock::VerifyAndClearExpectations(data_type_manager); 420 Mock::VerifyAndClearExpectations(data_type_manager);
416 EXPECT_CALL(*data_type_manager, state()) 421 EXPECT_CALL(*data_type_manager, state())
417 .WillOnce(Return(DataTypeManager::CONFIGURED)); 422 .WillOnce(Return(DataTypeManager::CONFIGURED));
418 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 423 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
(...skipping 24 matching lines...) Expand all
443 .WillRepeatedly( 448 .WillRepeatedly(
444 DoAll(InvokeOnConfigureStart(sync_service_.get()), 449 DoAll(InvokeOnConfigureStart(sync_service_.get()),
445 InvokeOnConfigureDone( 450 InvokeOnConfigureDone(
446 sync_service_.get(), 451 sync_service_.get(),
447 base::Bind(&ProfileSyncServiceStartupTest::SetError, 452 base::Bind(&ProfileSyncServiceStartupTest::SetError,
448 base::Unretained(this)), 453 base::Unretained(this)),
449 result))); 454 result)));
450 EXPECT_CALL(*data_type_manager, state()) 455 EXPECT_CALL(*data_type_manager, state())
451 .WillOnce(Return(DataTypeManager::STOPPED)); 456 .WillOnce(Return(DataTypeManager::STOPPED));
452 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 457 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
458 ON_CALL(*data_type_manager, IsNigoriEnabled()).WillByDefault(Return(true));
453 IssueTestTokens(account_id); 459 IssueTestTokens(account_id);
454 sync_service_->Initialize(); 460 sync_service_->Initialize();
455 EXPECT_TRUE(sync_service_->HasUnrecoverableError()); 461 EXPECT_TRUE(sync_service_->HasUnrecoverableError());
456 } 462 }
457 463
458 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) { 464 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) {
459 // Pre load the tokens 465 // Pre load the tokens
460 CreateSyncService(ProfileSyncService::MANUAL_START); 466 CreateSyncService(ProfileSyncService::MANUAL_START);
461 std::string account_id = SimulateTestUserSignin(sync_service_.get()); 467 std::string account_id = SimulateTestUserSignin(sync_service_.get());
462 FakeSyncEngine* mock_sbh = SetUpSyncEngine(); 468 FakeSyncEngine* mock_sbh = SetUpSyncEngine();
463 mock_sbh->set_fail_initial_download(true); 469 mock_sbh->set_fail_initial_download(true);
464 470
465 pref_service()->ClearPref(syncer::prefs::kSyncFirstSetupComplete); 471 pref_service()->ClearPref(syncer::prefs::kSyncFirstSetupComplete);
466 472
467 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber()); 473 EXPECT_CALL(observer_, OnStateChanged(_)).Times(AnyNumber());
468 sync_service_->Initialize(); 474 sync_service_->Initialize();
469 475
470 auto sync_blocker = sync_service_->GetSetupInProgressHandle(); 476 auto sync_blocker = sync_service_->GetSetupInProgressHandle();
471 IssueTestTokens(account_id); 477 IssueTestTokens(account_id);
472 sync_blocker.reset(); 478 sync_blocker.reset();
473 EXPECT_FALSE(sync_service_->IsSyncActive()); 479 EXPECT_FALSE(sync_service_->IsSyncActive());
474 } 480 }
475 481
476 } // namespace browser_sync 482 } // namespace browser_sync
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698