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

Side by Side Diff: chrome/browser/sync/profile_sync_service_startup_unittest.cc

Issue 763673002: Replace direct access to kGoogleServicesUsername with calls to SigninManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nullptr Created 6 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 "base/files/file_util.h" 5 #include "base/files/file_util.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/prefs/pref_service_syncable.h" 9 #include "chrome/browser/prefs/pref_service_syncable.h"
10 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" 10 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 errors[syncer::BOOKMARKS] = 147 errors[syncer::BOOKMARKS] =
148 syncer::SyncError(FROM_HERE, 148 syncer::SyncError(FROM_HERE,
149 syncer::SyncError::UNRECOVERABLE_ERROR, 149 syncer::SyncError::UNRECOVERABLE_ERROR,
150 "Error", 150 "Error",
151 syncer::BOOKMARKS); 151 syncer::BOOKMARKS);
152 result->data_type_status_table.UpdateFailedDataTypes(errors); 152 result->data_type_status_table.UpdateFailedDataTypes(errors);
153 } 153 }
154 154
155 protected: 155 protected:
156 void SimulateTestUserSignin() { 156 void SimulateTestUserSignin() {
157 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
158 "test_user@gmail.com");
159 #if !defined(OS_CHROMEOS) 157 #if !defined(OS_CHROMEOS)
160 fake_signin()->SignIn("test_user@gmail.com", ""); 158 fake_signin()->SignIn("test_user@gmail.com", "");
161 #else 159 #else
162 fake_signin()->SetAuthenticatedUsername("test_user@gmail.com"); 160 fake_signin()->SetAuthenticatedUsername("test_user@gmail.com");
163 sync_->GoogleSigninSucceeded("test_user@gmail.com", 161 sync_->GoogleSigninSucceeded("test_user@gmail.com",
164 "test_user@gmail.com", 162 "test_user@gmail.com",
165 ""); 163 "");
166 #endif 164 #endif
167 } 165 }
168 166
(...skipping 29 matching lines...) Expand all
198 sync_ = static_cast<ProfileSyncService*>( 196 sync_ = static_cast<ProfileSyncService*>(
199 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( 197 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse(
200 profile_, BuildCrosService)); 198 profile_, BuildCrosService));
201 sync_->AddObserver(&observer_); 199 sync_->AddObserver(&observer_);
202 } 200 }
203 201
204 static KeyedService* BuildCrosService(content::BrowserContext* context) { 202 static KeyedService* BuildCrosService(content::BrowserContext* context) {
205 Profile* profile = static_cast<Profile*>(context); 203 Profile* profile = static_cast<Profile*>(context);
206 SigninManagerBase* signin = 204 SigninManagerBase* signin =
207 SigninManagerFactory::GetForProfile(profile); 205 SigninManagerFactory::GetForProfile(profile);
208 profile->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
209 "test_user@gmail.com");
210 signin->SetAuthenticatedUsername("test_user@gmail.com"); 206 signin->SetAuthenticatedUsername("test_user@gmail.com");
211 ProfileOAuth2TokenService* oauth2_token_service = 207 ProfileOAuth2TokenService* oauth2_token_service =
212 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); 208 ProfileOAuth2TokenServiceFactory::GetForProfile(profile);
213 EXPECT_TRUE(signin->IsAuthenticated()); 209 EXPECT_TRUE(signin->IsAuthenticated());
214 return new TestProfileSyncServiceNoBackup( 210 return new TestProfileSyncServiceNoBackup(
215 scoped_ptr<ProfileSyncComponentsFactory>( 211 scoped_ptr<ProfileSyncComponentsFactory>(
216 new ProfileSyncComponentsFactoryMock()), 212 new ProfileSyncComponentsFactoryMock()),
217 profile, 213 profile,
218 make_scoped_ptr(new SupervisedUserSigninManagerWrapper(profile, 214 make_scoped_ptr(new SupervisedUserSigninManagerWrapper(profile,
219 signin)), 215 signin)),
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 sync_->SetSetupInProgress(false); 292 sync_->SetSetupInProgress(false);
297 // ProfileSyncService should try to start by requesting access token. 293 // ProfileSyncService should try to start by requesting access token.
298 // This request should fail as login token was not issued. 294 // This request should fail as login token was not issued.
299 EXPECT_FALSE(sync_->SyncActive()); 295 EXPECT_FALSE(sync_->SyncActive());
300 EXPECT_EQ(GoogleServiceAuthError::USER_NOT_SIGNED_UP, 296 EXPECT_EQ(GoogleServiceAuthError::USER_NOT_SIGNED_UP,
301 sync_->GetAuthError().state()); 297 sync_->GetAuthError().state());
302 } 298 }
303 299
304 // TODO(pavely): Reenable test once android is switched to oauth2. 300 // TODO(pavely): Reenable test once android is switched to oauth2.
305 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartInvalidCredentials) { 301 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartInvalidCredentials) {
306 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
307 "test_user@gmail.com");
308 sync_->signin()->SetAuthenticatedUsername("test_user@gmail.com"); 302 sync_->signin()->SetAuthenticatedUsername("test_user@gmail.com");
309 CreateSyncService(); 303 CreateSyncService();
310 SyncBackendHostMock* mock_sbh = SetUpSyncBackendHost(); 304 SyncBackendHostMock* mock_sbh = SetUpSyncBackendHost();
311 305
312 // Tell the backend to stall while downloading control types (simulating an 306 // Tell the backend to stall while downloading control types (simulating an
313 // auth error). 307 // auth error).
314 mock_sbh->set_fail_initial_download(true); 308 mock_sbh->set_fail_initial_download(true);
315 309
316 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 310 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
317 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(0); 311 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(0);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 } 371 }
378 372
379 #if defined(OS_WIN) 373 #if defined(OS_WIN)
380 // http://crbug.com/396402 374 // http://crbug.com/396402
381 #define MAYBE_StartNormal DISABLED_StartNormal 375 #define MAYBE_StartNormal DISABLED_StartNormal
382 #else 376 #else
383 #define MAYBE_StartNormal StartNormal 377 #define MAYBE_StartNormal StartNormal
384 #endif 378 #endif
385 TEST_F(ProfileSyncServiceStartupTest, MAYBE_StartNormal) { 379 TEST_F(ProfileSyncServiceStartupTest, MAYBE_StartNormal) {
386 // Pre load the tokens 380 // Pre load the tokens
387 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
388 "test_user@gmail.com");
389 SigninManagerFactory::GetForProfile(profile_) 381 SigninManagerFactory::GetForProfile(profile_)
390 ->SetAuthenticatedUsername("test_user@gmail.com"); 382 ->SetAuthenticatedUsername("test_user@gmail.com");
391 CreateSyncService(); 383 CreateSyncService();
392 sync_->SetSyncSetupCompleted(); 384 sync_->SetSyncSetupCompleted();
393 SetUpSyncBackendHost(); 385 SetUpSyncBackendHost();
394 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 386 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
395 EXPECT_CALL(*data_type_manager, Configure(_, _)); 387 EXPECT_CALL(*data_type_manager, Configure(_, _));
396 EXPECT_CALL(*data_type_manager, state()). 388 EXPECT_CALL(*data_type_manager, state()).
397 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 389 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
398 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 390 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
(...skipping 12 matching lines...) Expand all
411 profile_->GetPrefs()->ClearPref( 403 profile_->GetPrefs()->ClearPref(
412 sync_driver::prefs::kSyncKeepEverythingSynced); 404 sync_driver::prefs::kSyncKeepEverythingSynced);
413 syncer::ModelTypeSet user_types = syncer::UserTypes(); 405 syncer::ModelTypeSet user_types = syncer::UserTypes();
414 for (syncer::ModelTypeSet::Iterator iter = user_types.First(); 406 for (syncer::ModelTypeSet::Iterator iter = user_types.First();
415 iter.Good(); iter.Inc()) { 407 iter.Good(); iter.Inc()) {
416 profile_->GetPrefs()->ClearPref( 408 profile_->GetPrefs()->ClearPref(
417 sync_driver::SyncPrefs::GetPrefNameForDataType(iter.Get())); 409 sync_driver::SyncPrefs::GetPrefNameForDataType(iter.Get()));
418 } 410 }
419 411
420 // Pre load the tokens 412 // Pre load the tokens
421 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
422 "test_user@gmail.com");
423 SigninManagerFactory::GetForProfile(profile_) 413 SigninManagerFactory::GetForProfile(profile_)
424 ->SetAuthenticatedUsername("test_user@gmail.com"); 414 ->SetAuthenticatedUsername("test_user@gmail.com");
425 CreateSyncService(); 415 CreateSyncService();
426 sync_->SetSyncSetupCompleted(); 416 sync_->SetSyncSetupCompleted();
427 SetUpSyncBackendHost(); 417 SetUpSyncBackendHost();
428 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 418 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
429 EXPECT_CALL(*data_type_manager, Configure(_, _)); 419 EXPECT_CALL(*data_type_manager, Configure(_, _));
430 EXPECT_CALL(*data_type_manager, state()). 420 EXPECT_CALL(*data_type_manager, state()).
431 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 421 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
432 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 422 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
(...skipping 14 matching lines...) Expand all
447 #else 437 #else
448 #define MAYBE_StartDontRecoverDatatypePrefs StartDontRecoverDatatypePrefs 438 #define MAYBE_StartDontRecoverDatatypePrefs StartDontRecoverDatatypePrefs
449 #endif 439 #endif
450 TEST_F(ProfileSyncServiceStartupTest, MAYBE_StartDontRecoverDatatypePrefs) { 440 TEST_F(ProfileSyncServiceStartupTest, MAYBE_StartDontRecoverDatatypePrefs) {
451 // Explicitly set Keep Everything Synced to false and have only bookmarks 441 // Explicitly set Keep Everything Synced to false and have only bookmarks
452 // enabled. 442 // enabled.
453 profile_->GetPrefs()->SetBoolean( 443 profile_->GetPrefs()->SetBoolean(
454 sync_driver::prefs::kSyncKeepEverythingSynced, false); 444 sync_driver::prefs::kSyncKeepEverythingSynced, false);
455 445
456 // Pre load the tokens 446 // Pre load the tokens
457 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
458 "test_user@gmail.com");
459 SigninManagerFactory::GetForProfile(profile_) 447 SigninManagerFactory::GetForProfile(profile_)
460 ->SetAuthenticatedUsername("test_user@gmail.com"); 448 ->SetAuthenticatedUsername("test_user@gmail.com");
461 CreateSyncService(); 449 CreateSyncService();
462 sync_->SetSyncSetupCompleted(); 450 sync_->SetSyncSetupCompleted();
463 SetUpSyncBackendHost(); 451 SetUpSyncBackendHost();
464 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 452 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
465 EXPECT_CALL(*data_type_manager, Configure(_, _)); 453 EXPECT_CALL(*data_type_manager, Configure(_, _));
466 EXPECT_CALL(*data_type_manager, state()). 454 EXPECT_CALL(*data_type_manager, state()).
467 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 455 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
468 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 456 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
(...skipping 20 matching lines...) Expand all
489 // Disable sync through policy. 477 // Disable sync through policy.
490 profile_->GetPrefs()->SetBoolean(sync_driver::prefs::kSyncManaged, true); 478 profile_->GetPrefs()->SetBoolean(sync_driver::prefs::kSyncManaged, true);
491 EXPECT_CALL(*components_factory_mock(), 479 EXPECT_CALL(*components_factory_mock(),
492 CreateDataTypeManager(_, _, _, _, _)).Times(0); 480 CreateDataTypeManager(_, _, _, _, _)).Times(0);
493 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 481 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
494 482
495 sync_->Initialize(); 483 sync_->Initialize();
496 } 484 }
497 485
498 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { 486 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) {
499 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
500 "test_user@gmail.com");
501 SigninManagerFactory::GetForProfile(profile_) 487 SigninManagerFactory::GetForProfile(profile_)
502 ->SetAuthenticatedUsername("test_user@gmail.com"); 488 ->SetAuthenticatedUsername("test_user@gmail.com");
503 CreateSyncService(); 489 CreateSyncService();
504 sync_->SetSyncSetupCompleted(); 490 sync_->SetSyncSetupCompleted();
505 SetUpSyncBackendHost(); 491 SetUpSyncBackendHost();
506 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 492 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
507 EXPECT_CALL(*data_type_manager, Configure(_, _)); 493 EXPECT_CALL(*data_type_manager, Configure(_, _));
508 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 494 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
509 IssueTestTokens(); 495 IssueTestTokens();
510 sync_->Initialize(); 496 sync_->Initialize();
511 497
512 // The service should stop when switching to managed mode. 498 // The service should stop when switching to managed mode.
513 Mock::VerifyAndClearExpectations(data_type_manager); 499 Mock::VerifyAndClearExpectations(data_type_manager);
514 EXPECT_CALL(*data_type_manager, state()). 500 EXPECT_CALL(*data_type_manager, state()).
515 WillOnce(Return(DataTypeManager::CONFIGURED)); 501 WillOnce(Return(DataTypeManager::CONFIGURED));
516 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 502 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
517 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 503 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
518 profile_->GetPrefs()->SetBoolean(sync_driver::prefs::kSyncManaged, true); 504 profile_->GetPrefs()->SetBoolean(sync_driver::prefs::kSyncManaged, true);
519 505
520 // When switching back to unmanaged, the state should change, but the service 506 // When switching back to unmanaged, the state should change, but the service
521 // should not start up automatically (kSyncSetupCompleted will be false). 507 // should not start up automatically (kSyncSetupCompleted will be false).
522 Mock::VerifyAndClearExpectations(data_type_manager); 508 Mock::VerifyAndClearExpectations(data_type_manager);
523 EXPECT_CALL(*components_factory_mock(), 509 EXPECT_CALL(*components_factory_mock(),
524 CreateDataTypeManager(_, _, _, _, _)).Times(0); 510 CreateDataTypeManager(_, _, _, _, _)).Times(0);
525 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 511 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
526 profile_->GetPrefs()->ClearPref(sync_driver::prefs::kSyncManaged); 512 profile_->GetPrefs()->ClearPref(sync_driver::prefs::kSyncManaged);
527 } 513 }
528 514
529 TEST_F(ProfileSyncServiceStartupTest, StartFailure) { 515 TEST_F(ProfileSyncServiceStartupTest, StartFailure) {
530 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
531 "test_user@gmail.com");
532 SigninManagerFactory::GetForProfile(profile_) 516 SigninManagerFactory::GetForProfile(profile_)
533 ->SetAuthenticatedUsername("test_user@gmail.com"); 517 ->SetAuthenticatedUsername("test_user@gmail.com");
534 CreateSyncService(); 518 CreateSyncService();
535 sync_->SetSyncSetupCompleted(); 519 sync_->SetSyncSetupCompleted();
536 SetUpSyncBackendHost(); 520 SetUpSyncBackendHost();
537 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 521 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
538 DataTypeManager::ConfigureStatus status = DataTypeManager::ABORTED; 522 DataTypeManager::ConfigureStatus status = DataTypeManager::ABORTED;
539 DataTypeManager::ConfigureResult result( 523 DataTypeManager::ConfigureResult result(
540 status, 524 status,
541 syncer::ModelTypeSet()); 525 syncer::ModelTypeSet());
542 EXPECT_CALL(*data_type_manager, Configure(_, _)).WillRepeatedly( 526 EXPECT_CALL(*data_type_manager, Configure(_, _)).WillRepeatedly(
543 DoAll(InvokeOnConfigureStart(sync_), 527 DoAll(InvokeOnConfigureStart(sync_),
544 InvokeOnConfigureDone( 528 InvokeOnConfigureDone(
545 sync_, 529 sync_,
546 base::Bind(&ProfileSyncServiceStartupTest::SetError, 530 base::Bind(&ProfileSyncServiceStartupTest::SetError,
547 base::Unretained(this)), 531 base::Unretained(this)),
548 result))); 532 result)));
549 EXPECT_CALL(*data_type_manager, state()). 533 EXPECT_CALL(*data_type_manager, state()).
550 WillOnce(Return(DataTypeManager::STOPPED)); 534 WillOnce(Return(DataTypeManager::STOPPED));
551 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 535 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
552 IssueTestTokens(); 536 IssueTestTokens();
553 sync_->Initialize(); 537 sync_->Initialize();
554 EXPECT_TRUE(sync_->HasUnrecoverableError()); 538 EXPECT_TRUE(sync_->HasUnrecoverableError());
555 } 539 }
556 540
557 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) { 541 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) {
558 // Pre load the tokens 542 // Pre load the tokens
559 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
560 "test_user@gmail.com");
561 SigninManagerFactory::GetForProfile(profile_) 543 SigninManagerFactory::GetForProfile(profile_)
562 ->SetAuthenticatedUsername("test_user@gmail.com"); 544 ->SetAuthenticatedUsername("test_user@gmail.com");
563 CreateSyncService(); 545 CreateSyncService();
564 SyncBackendHostMock* mock_sbh = SetUpSyncBackendHost(); 546 SyncBackendHostMock* mock_sbh = SetUpSyncBackendHost();
565 mock_sbh->set_fail_initial_download(true); 547 mock_sbh->set_fail_initial_download(true);
566 548
567 profile_->GetPrefs()->ClearPref(sync_driver::prefs::kSyncHasSetupCompleted); 549 profile_->GetPrefs()->ClearPref(sync_driver::prefs::kSyncHasSetupCompleted);
568 550
569 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 551 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
570 sync_->Initialize(); 552 sync_->Initialize();
571 553
572 sync_->SetSetupInProgress(true); 554 sync_->SetSetupInProgress(true);
573 IssueTestTokens(); 555 IssueTestTokens();
574 sync_->SetSetupInProgress(false); 556 sync_->SetSetupInProgress(false);
575 EXPECT_FALSE(sync_->SyncActive()); 557 EXPECT_FALSE(sync_->SyncActive());
576 } 558 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service_mock.cc ('k') | chrome/browser/ui/browser_navigator_browsertest_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698