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

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

Issue 13197004: Draft: InvalidationService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Passes tests Created 7 years, 8 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 | Annotate | Revision Log
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 "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "chrome/browser/signin/signin_manager.h" 10 #include "chrome/browser/signin/signin_manager.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 ui_loop_.RunUntilIdle(); 96 ui_loop_.RunUntilIdle();
97 io_thread_.Stop(); 97 io_thread_.Stop();
98 file_thread_.Stop(); 98 file_thread_.Stop();
99 ui_loop_.RunUntilIdle(); 99 ui_loop_.RunUntilIdle();
100 } 100 }
101 101
102 static ProfileKeyedService* BuildService(Profile* profile) { 102 static ProfileKeyedService* BuildService(Profile* profile) {
103 SigninManager* signin = static_cast<SigninManager*>( 103 SigninManager* signin = static_cast<SigninManager*>(
104 SigninManagerFactory::GetInstance()->SetTestingFactoryAndUse( 104 SigninManagerFactory::GetInstance()->SetTestingFactoryAndUse(
105 profile, FakeSigninManager::Build)); 105 profile, FakeSigninManager::Build));
106 signin->SetAuthenticatedUsername("test_user"); 106 signin->SetAuthenticatedUsername("test_user@gmail.com");
107 return new TestProfileSyncService( 107 return new TestProfileSyncService(
108 new ProfileSyncComponentsFactoryMock(), 108 new ProfileSyncComponentsFactoryMock(),
109 profile, 109 profile,
110 signin, 110 signin,
111 ProfileSyncService::MANUAL_START, 111 ProfileSyncService::MANUAL_START,
112 true); 112 true);
113 } 113 }
114 114
115 protected: 115 protected:
116 // Overridden below by ProfileSyncServiceStartupCrosTest. 116 // Overridden below by ProfileSyncServiceStartupCrosTest.
(...skipping 18 matching lines...) Expand all
135 content::TestBrowserThread io_thread_; 135 content::TestBrowserThread io_thread_;
136 scoped_ptr<TestingProfile> profile_; 136 scoped_ptr<TestingProfile> profile_;
137 TestProfileSyncService* sync_; 137 TestProfileSyncService* sync_;
138 ProfileSyncServiceObserverMock observer_; 138 ProfileSyncServiceObserverMock observer_;
139 }; 139 };
140 140
141 class ProfileSyncServiceStartupCrosTest : public ProfileSyncServiceStartupTest { 141 class ProfileSyncServiceStartupCrosTest : public ProfileSyncServiceStartupTest {
142 public: 142 public:
143 static ProfileKeyedService* BuildCrosService(Profile* profile) { 143 static ProfileKeyedService* BuildCrosService(Profile* profile) {
144 SigninManager* signin = SigninManagerFactory::GetForProfile(profile); 144 SigninManager* signin = SigninManagerFactory::GetForProfile(profile);
145 signin->SetAuthenticatedUsername("test_user"); 145 signin->SetAuthenticatedUsername("test_user@gmail.com");
146 return new TestProfileSyncService( 146 return new TestProfileSyncService(
147 new ProfileSyncComponentsFactoryMock(), 147 new ProfileSyncComponentsFactoryMock(),
148 profile, 148 profile,
149 signin, 149 signin,
150 ProfileSyncService::AUTO_START, 150 ProfileSyncService::AUTO_START,
151 true); 151 true);
152 } 152 }
153 protected: 153 protected:
154 virtual void CreateSyncService() OVERRIDE { 154 virtual void CreateSyncService() OVERRIDE {
155 sync_ = static_cast<TestProfileSyncService*>( 155 sync_ = static_cast<TestProfileSyncService*>(
(...skipping 26 matching lines...) Expand all
182 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(1); 182 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(1);
183 EXPECT_CALL(*data_type_manager, state()). 183 EXPECT_CALL(*data_type_manager, state()).
184 WillOnce(Return(DataTypeManager::CONFIGURED)). 184 WillOnce(Return(DataTypeManager::CONFIGURED)).
185 WillOnce(Return(DataTypeManager::CONFIGURED)); 185 WillOnce(Return(DataTypeManager::CONFIGURED));
186 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 186 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
187 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 187 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
188 188
189 // Create some tokens in the token service; the service will startup when 189 // Create some tokens in the token service; the service will startup when
190 // it is notified that tokens are available. 190 // it is notified that tokens are available.
191 sync_->SetSetupInProgress(true); 191 sync_->SetSetupInProgress(true);
192 sync_->signin()->StartSignIn("test_user", "", "", ""); 192 sync_->signin()->StartSignIn("test_user@gmail.com", "", "", "");
193 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 193 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
194 GaiaConstants::kSyncService, "sync_token"); 194 GaiaConstants::kSyncService, "sync_token");
195 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 195 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
196 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); 196 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token");
197 sync_->SetSetupInProgress(false); 197 sync_->SetSetupInProgress(false);
198 EXPECT_TRUE(sync_->ShouldPushChanges()); 198 EXPECT_TRUE(sync_->ShouldPushChanges());
199 } 199 }
200 200
201 ProfileKeyedService* BuildFakeTokenService(Profile* profile) { 201 ProfileKeyedService* BuildFakeTokenService(Profile* profile) {
202 return new FakeTokenService(); 202 return new FakeTokenService();
(...skipping 25 matching lines...) Expand all
228 228
229 // Then start things up. 229 // Then start things up.
230 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(1); 230 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(1);
231 EXPECT_CALL(*data_type_manager, state()). 231 EXPECT_CALL(*data_type_manager, state()).
232 WillOnce(Return(DataTypeManager::CONFIGURED)). 232 WillOnce(Return(DataTypeManager::CONFIGURED)).
233 WillOnce(Return(DataTypeManager::CONFIGURED)); 233 WillOnce(Return(DataTypeManager::CONFIGURED));
234 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 234 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
235 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 235 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
236 236
237 sync_->SetSetupInProgress(true); 237 sync_->SetSetupInProgress(true);
238 sync_->signin()->StartSignIn("test_user", "", "", ""); 238 sync_->signin()->StartSignIn("test_user@gmail.com", "", "", "");
239 // NOTE: Unlike StartFirstTime, this test does not issue any auth tokens. 239 // NOTE: Unlike StartFirstTime, this test does not issue any auth tokens.
240 token_service->LoadTokensFromDB(); 240 token_service->LoadTokensFromDB();
241 sync_->SetSetupInProgress(false); 241 sync_->SetSetupInProgress(false);
242 // Backend should initialize using a bogus GAIA token for credentials. 242 // Backend should initialize using a bogus GAIA token for credentials.
243 EXPECT_TRUE(sync_->ShouldPushChanges()); 243 EXPECT_TRUE(sync_->ShouldPushChanges());
244 } 244 }
245 245
246 TEST_F(ProfileSyncServiceStartupTest, StartInvalidCredentials) { 246 TEST_F(ProfileSyncServiceStartupTest, StartInvalidCredentials) {
247 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 247 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
248 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(0); 248 EXPECT_CALL(*data_type_manager, Configure(_, _)).Times(0);
(...skipping 13 matching lines...) Expand all
262 EXPECT_FALSE(sync_->ShouldPushChanges()); 262 EXPECT_FALSE(sync_->ShouldPushChanges());
263 Mock::VerifyAndClearExpectations(data_type_manager); 263 Mock::VerifyAndClearExpectations(data_type_manager);
264 264
265 // Update the credentials, unstalling the backend. 265 // Update the credentials, unstalling the backend.
266 EXPECT_CALL(*data_type_manager, Configure(_, _)); 266 EXPECT_CALL(*data_type_manager, Configure(_, _));
267 EXPECT_CALL(*data_type_manager, state()). 267 EXPECT_CALL(*data_type_manager, state()).
268 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 268 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
269 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 269 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
270 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 270 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
271 sync_->SetSetupInProgress(true); 271 sync_->SetSetupInProgress(true);
272 sync_->signin()->StartSignIn("test_user", "", "", ""); 272 sync_->signin()->StartSignIn("test_user@gmail.com", "", "", "");
273 token_service->IssueAuthTokenForTest( 273 token_service->IssueAuthTokenForTest(
274 GaiaConstants::kSyncService, "sync_token"); 274 GaiaConstants::kSyncService, "sync_token");
275 sync_->SetSetupInProgress(false); 275 sync_->SetSetupInProgress(false);
276 MessageLoop::current()->Run(); 276 MessageLoop::current()->Run();
277 277
278 // Verify we successfully finish startup and configuration. 278 // Verify we successfully finish startup and configuration.
279 EXPECT_TRUE(sync_->ShouldPushChanges()); 279 EXPECT_TRUE(sync_->ShouldPushChanges());
280 } 280 }
281 281
282 TEST_F(ProfileSyncServiceStartupCrosTest, StartCrosNoCredentials) { 282 TEST_F(ProfileSyncServiceStartupCrosTest, StartCrosNoCredentials) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 EXPECT_CALL(*data_type_manager, Configure(_, _)); 320 EXPECT_CALL(*data_type_manager, Configure(_, _));
321 EXPECT_CALL(*data_type_manager, state()). 321 EXPECT_CALL(*data_type_manager, state()).
322 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 322 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
323 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 323 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
324 324
325 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 325 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
326 326
327 // Pre load the tokens 327 // Pre load the tokens
328 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 328 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
329 GaiaConstants::kSyncService, "sync_token"); 329 GaiaConstants::kSyncService, "sync_token");
330 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "test_user"); 330 profile_->GetPrefs()->SetString(
331 prefs::kGoogleServicesUsername,
332 "test_user@gmail.com");
331 sync_->Initialize(); 333 sync_->Initialize();
332 } 334 }
333 335
334 // Test that we can recover from a case where a bug in the code resulted in 336 // Test that we can recover from a case where a bug in the code resulted in
335 // OnUserChoseDatatypes not being properly called and datatype preferences 337 // OnUserChoseDatatypes not being properly called and datatype preferences
336 // therefore being left unset. 338 // therefore being left unset.
337 TEST_F(ProfileSyncServiceStartupTest, StartRecoverDatatypePrefs) { 339 TEST_F(ProfileSyncServiceStartupTest, StartRecoverDatatypePrefs) {
338 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 340 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
339 EXPECT_CALL(*data_type_manager, Configure(_, _)); 341 EXPECT_CALL(*data_type_manager, Configure(_, _));
340 EXPECT_CALL(*data_type_manager, state()). 342 EXPECT_CALL(*data_type_manager, state()).
341 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 343 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
342 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 344 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
343 345
344 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 346 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
345 347
346 // Clear the datatype preference fields (simulating bug 154940). 348 // Clear the datatype preference fields (simulating bug 154940).
347 profile_->GetPrefs()->ClearPref(prefs::kSyncKeepEverythingSynced); 349 profile_->GetPrefs()->ClearPref(prefs::kSyncKeepEverythingSynced);
348 syncer::ModelTypeSet user_types = syncer::UserTypes(); 350 syncer::ModelTypeSet user_types = syncer::UserTypes();
349 for (syncer::ModelTypeSet::Iterator iter = user_types.First(); 351 for (syncer::ModelTypeSet::Iterator iter = user_types.First();
350 iter.Good(); iter.Inc()) { 352 iter.Good(); iter.Inc()) {
351 profile_->GetPrefs()->ClearPref( 353 profile_->GetPrefs()->ClearPref(
352 browser_sync::SyncPrefs::GetPrefNameForDataType(iter.Get())); 354 browser_sync::SyncPrefs::GetPrefNameForDataType(iter.Get()));
353 } 355 }
354 356
355 // Pre load the tokens 357 // Pre load the tokens
356 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 358 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
357 GaiaConstants::kSyncService, "sync_token"); 359 GaiaConstants::kSyncService, "sync_token");
358 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "test_user"); 360 profile_->GetPrefs()->SetString(
361 prefs::kGoogleServicesUsername,
362 "test_user@gmail.com");
359 sync_->Initialize(); 363 sync_->Initialize();
360 364
361 EXPECT_TRUE(profile_->GetPrefs()->GetBoolean( 365 EXPECT_TRUE(profile_->GetPrefs()->GetBoolean(
362 prefs::kSyncKeepEverythingSynced)); 366 prefs::kSyncKeepEverythingSynced));
363 } 367 }
364 368
365 // Verify that the recovery of datatype preferences doesn't overwrite a valid 369 // Verify that the recovery of datatype preferences doesn't overwrite a valid
366 // case where only bookmarks are enabled. 370 // case where only bookmarks are enabled.
367 TEST_F(ProfileSyncServiceStartupTest, StartDontRecoverDatatypePrefs) { 371 TEST_F(ProfileSyncServiceStartupTest, StartDontRecoverDatatypePrefs) {
368 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 372 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
369 EXPECT_CALL(*data_type_manager, Configure(_, _)); 373 EXPECT_CALL(*data_type_manager, Configure(_, _));
370 EXPECT_CALL(*data_type_manager, state()). 374 EXPECT_CALL(*data_type_manager, state()).
371 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); 375 WillRepeatedly(Return(DataTypeManager::CONFIGURED));
372 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 376 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
373 377
374 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 378 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
375 379
376 // Explicitly set Keep Everything Synced to false and have only bookmarks 380 // Explicitly set Keep Everything Synced to false and have only bookmarks
377 // enabled. 381 // enabled.
378 profile_->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false); 382 profile_->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false);
379 383
380 // Pre load the tokens 384 // Pre load the tokens
381 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 385 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
382 GaiaConstants::kSyncService, "sync_token"); 386 GaiaConstants::kSyncService, "sync_token");
383 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "test_user"); 387 profile_->GetPrefs()->SetString(
388 prefs::kGoogleServicesUsername,
389 "test_user@gmail.com");
384 sync_->Initialize(); 390 sync_->Initialize();
385 391
386 EXPECT_FALSE(profile_->GetPrefs()->GetBoolean( 392 EXPECT_FALSE(profile_->GetPrefs()->GetBoolean(
387 prefs::kSyncKeepEverythingSynced)); 393 prefs::kSyncKeepEverythingSynced));
388 } 394 }
389 395
390 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) { 396 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) {
391 // Disable sync through policy. 397 // Disable sync through policy.
392 profile_->GetPrefs()->SetBoolean(prefs::kSyncManaged, true); 398 profile_->GetPrefs()->SetBoolean(prefs::kSyncManaged, true);
393 399
394 EXPECT_CALL(*sync_->components_factory_mock(), 400 EXPECT_CALL(*sync_->components_factory_mock(),
395 CreateDataTypeManager(_, _, _, _, _)).Times(0); 401 CreateDataTypeManager(_, _, _, _, _)).Times(0);
396 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 402 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
397 403
398 // Service should not be started by Initialize() since it's managed. 404 // Service should not be started by Initialize() since it's managed.
399 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 405 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
400 GaiaConstants::kSyncService, "sync_token"); 406 GaiaConstants::kSyncService, "sync_token");
401 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "test_user"); 407 profile_->GetPrefs()->SetString(
408 prefs::kGoogleServicesUsername,
409 "test_user@gmail.com");
402 sync_->Initialize(); 410 sync_->Initialize();
403 } 411 }
404 412
405 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { 413 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) {
406 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); 414 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager();
407 EXPECT_CALL(*data_type_manager, Configure(_, _)); 415 EXPECT_CALL(*data_type_manager, Configure(_, _));
408 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 416 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
409 417
410 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 418 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
411 GaiaConstants::kSyncService, "sync_token"); 419 GaiaConstants::kSyncService, "sync_token");
412 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "test_user"); 420 profile_->GetPrefs()->SetString(
421 prefs::kGoogleServicesUsername,
422 "test_user@gmail.com");
413 sync_->Initialize(); 423 sync_->Initialize();
414 424
415 // The service should stop when switching to managed mode. 425 // The service should stop when switching to managed mode.
416 Mock::VerifyAndClearExpectations(data_type_manager); 426 Mock::VerifyAndClearExpectations(data_type_manager);
417 EXPECT_CALL(*data_type_manager, state()). 427 EXPECT_CALL(*data_type_manager, state()).
418 WillOnce(Return(DataTypeManager::CONFIGURED)); 428 WillOnce(Return(DataTypeManager::CONFIGURED));
419 EXPECT_CALL(*data_type_manager, Stop()).Times(1); 429 EXPECT_CALL(*data_type_manager, Stop()).Times(1);
420 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 430 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
421 profile_->GetPrefs()->SetBoolean(prefs::kSyncManaged, true); 431 profile_->GetPrefs()->SetBoolean(prefs::kSyncManaged, true);
422 432
(...skipping 22 matching lines...) Expand all
445 WillRepeatedly( 455 WillRepeatedly(
446 DoAll(InvokeOnConfigureStart(sync_), 456 DoAll(InvokeOnConfigureStart(sync_),
447 InvokeOnConfigureDone(sync_, result))); 457 InvokeOnConfigureDone(sync_, result)));
448 EXPECT_CALL(*data_type_manager, state()). 458 EXPECT_CALL(*data_type_manager, state()).
449 WillOnce(Return(DataTypeManager::STOPPED)); 459 WillOnce(Return(DataTypeManager::STOPPED));
450 460
451 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 461 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
452 462
453 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 463 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
454 GaiaConstants::kSyncService, "sync_token"); 464 GaiaConstants::kSyncService, "sync_token");
455 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, "test_user"); 465 profile_->GetPrefs()->SetString(
466 prefs::kGoogleServicesUsername,
467 "test_user@gmail.com");
456 sync_->Initialize(); 468 sync_->Initialize();
457 EXPECT_TRUE(sync_->HasUnrecoverableError()); 469 EXPECT_TRUE(sync_->HasUnrecoverableError());
458 } 470 }
459 471
460 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) { 472 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) {
461 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); 473 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted);
462 474
463 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); 475 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber());
464 476
465 // Preload the tokens. 477 // Preload the tokens.
466 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( 478 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest(
467 GaiaConstants::kSyncService, "sync_token"); 479 GaiaConstants::kSyncService, "sync_token");
468 sync_->fail_initial_download(); 480 sync_->fail_initial_download();
469 481
470 sync_->Initialize(); 482 sync_->Initialize();
471 EXPECT_FALSE(sync_->sync_initialized()); 483 EXPECT_FALSE(sync_->sync_initialized());
472 EXPECT_FALSE(sync_->GetBackendForTest()); 484 EXPECT_FALSE(sync_->GetBackendForTest());
473 } 485 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698