| OLD | NEW |
| 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 <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 #include "components/sync/driver/sync_service_observer.h" | 40 #include "components/sync/driver/sync_service_observer.h" |
| 41 #include "components/sync/driver/sync_util.h" | 41 #include "components/sync/driver/sync_util.h" |
| 42 #include "components/syncable_prefs/testing_pref_service_syncable.h" | 42 #include "components/syncable_prefs/testing_pref_service_syncable.h" |
| 43 #include "components/version_info/version_info.h" | 43 #include "components/version_info/version_info.h" |
| 44 #include "components/version_info/version_info_values.h" | 44 #include "components/version_info/version_info_values.h" |
| 45 #include "google_apis/gaia/gaia_constants.h" | 45 #include "google_apis/gaia/gaia_constants.h" |
| 46 #include "testing/gmock/include/gmock/gmock.h" | 46 #include "testing/gmock/include/gmock/gmock.h" |
| 47 #include "testing/gtest/include/gtest/gtest.h" | 47 #include "testing/gtest/include/gtest/gtest.h" |
| 48 #include "ui/base/l10n/l10n_util.h" | 48 #include "ui/base/l10n/l10n_util.h" |
| 49 | 49 |
| 50 using syncer::SyncBackendHostMock; | |
| 51 using testing::Return; | 50 using testing::Return; |
| 52 | 51 |
| 53 namespace browser_sync { | 52 namespace browser_sync { |
| 54 | 53 |
| 55 namespace { | 54 namespace { |
| 56 | 55 |
| 57 const char kGaiaId[] = "12345"; | 56 const char kGaiaId[] = "12345"; |
| 58 const char kEmail[] = "test_user@gmail.com"; | 57 const char kEmail[] = "test_user@gmail.com"; |
| 59 | 58 |
| 60 class FakeDataTypeManager : public syncer::DataTypeManager { | 59 class FakeDataTypeManager : public sync_driver::DataTypeManager { |
| 61 public: | 60 public: |
| 62 typedef base::Callback<void(syncer::ConfigureReason)> ConfigureCalled; | 61 typedef base::Callback<void(syncer::ConfigureReason)> ConfigureCalled; |
| 63 | 62 |
| 64 explicit FakeDataTypeManager(const ConfigureCalled& configure_called) | 63 explicit FakeDataTypeManager(const ConfigureCalled& configure_called) |
| 65 : configure_called_(configure_called) {} | 64 : configure_called_(configure_called) {} |
| 66 | 65 |
| 67 ~FakeDataTypeManager() override{}; | 66 ~FakeDataTypeManager() override{}; |
| 68 | 67 |
| 69 void Configure(syncer::ModelTypeSet desired_types, | 68 void Configure(syncer::ModelTypeSet desired_types, |
| 70 syncer::ConfigureReason reason) override { | 69 syncer::ConfigureReason reason) override { |
| 71 DCHECK(!configure_called_.is_null()); | 70 DCHECK(!configure_called_.is_null()); |
| 72 configure_called_.Run(reason); | 71 configure_called_.Run(reason); |
| 73 } | 72 } |
| 74 | 73 |
| 75 void ReenableType(syncer::ModelType type) override {} | 74 void ReenableType(syncer::ModelType type) override {} |
| 76 void ResetDataTypeErrors() override {} | 75 void ResetDataTypeErrors() override {} |
| 77 void PurgeForMigration(syncer::ModelTypeSet undesired_types, | 76 void PurgeForMigration(syncer::ModelTypeSet undesired_types, |
| 78 syncer::ConfigureReason reason) override {} | 77 syncer::ConfigureReason reason) override {} |
| 79 void Stop() override{}; | 78 void Stop() override{}; |
| 80 State state() const override { return syncer::DataTypeManager::CONFIGURED; }; | 79 State state() const override { |
| 80 return sync_driver::DataTypeManager::CONFIGURED; |
| 81 }; |
| 81 | 82 |
| 82 private: | 83 private: |
| 83 ConfigureCalled configure_called_; | 84 ConfigureCalled configure_called_; |
| 84 }; | 85 }; |
| 85 | 86 |
| 86 ACTION_P(ReturnNewDataTypeManager, configure_called) { | 87 ACTION_P(ReturnNewDataTypeManager, configure_called) { |
| 87 return new FakeDataTypeManager(configure_called); | 88 return new FakeDataTypeManager(configure_called); |
| 88 } | 89 } |
| 89 | 90 |
| 90 using testing::Return; | 91 using testing::Return; |
| 91 using testing::StrictMock; | 92 using testing::StrictMock; |
| 92 using testing::_; | 93 using testing::_; |
| 93 | 94 |
| 94 class TestSyncServiceObserver : public syncer::SyncServiceObserver { | 95 class TestSyncServiceObserver : public sync_driver::SyncServiceObserver { |
| 95 public: | 96 public: |
| 96 explicit TestSyncServiceObserver(ProfileSyncService* service) | 97 explicit TestSyncServiceObserver(ProfileSyncService* service) |
| 97 : service_(service), setup_in_progress_(false) {} | 98 : service_(service), setup_in_progress_(false) {} |
| 98 void OnStateChanged() override { | 99 void OnStateChanged() override { |
| 99 setup_in_progress_ = service_->IsSetupInProgress(); | 100 setup_in_progress_ = service_->IsSetupInProgress(); |
| 100 } | 101 } |
| 101 bool setup_in_progress() const { return setup_in_progress_; } | 102 bool setup_in_progress() const { return setup_in_progress_; } |
| 102 | 103 |
| 103 private: | 104 private: |
| 104 ProfileSyncService* service_; | 105 ProfileSyncService* service_; |
| 105 bool setup_in_progress_; | 106 bool setup_in_progress_; |
| 106 }; | 107 }; |
| 107 | 108 |
| 108 // A variant of the SyncBackendHostMock that won't automatically | 109 // A variant of the SyncBackendHostMock that won't automatically |
| 109 // call back when asked to initialized. Allows us to test things | 110 // call back when asked to initialized. Allows us to test things |
| 110 // that could happen while backend init is in progress. | 111 // that could happen while backend init is in progress. |
| 111 class SyncBackendHostNoReturn : public SyncBackendHostMock { | 112 class SyncBackendHostNoReturn : public SyncBackendHostMock { |
| 112 void Initialize( | 113 void Initialize( |
| 113 syncer::SyncFrontend* frontend, | 114 sync_driver::SyncFrontend* frontend, |
| 114 std::unique_ptr<base::Thread> sync_thread, | 115 std::unique_ptr<base::Thread> sync_thread, |
| 115 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, | 116 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, |
| 116 const scoped_refptr<base::SingleThreadTaskRunner>& file_thread, | 117 const scoped_refptr<base::SingleThreadTaskRunner>& file_thread, |
| 117 const syncer::WeakHandle<syncer::JsEventHandler>& event_handler, | 118 const syncer::WeakHandle<syncer::JsEventHandler>& event_handler, |
| 118 const GURL& service_url, | 119 const GURL& service_url, |
| 119 const std::string& sync_user_agent, | 120 const std::string& sync_user_agent, |
| 120 const syncer::SyncCredentials& credentials, | 121 const syncer::SyncCredentials& credentials, |
| 121 bool delete_sync_data_folder, | 122 bool delete_sync_data_folder, |
| 122 std::unique_ptr<syncer::SyncManagerFactory> sync_manager_factory, | 123 std::unique_ptr<syncer::SyncManagerFactory> sync_manager_factory, |
| 123 const syncer::WeakHandle<syncer::UnrecoverableErrorHandler>& | 124 const syncer::WeakHandle<syncer::UnrecoverableErrorHandler>& |
| 124 unrecoverable_error_handler, | 125 unrecoverable_error_handler, |
| 125 const base::Closure& report_unrecoverable_error_function, | 126 const base::Closure& report_unrecoverable_error_function, |
| 126 const HttpPostProviderFactoryGetter& http_post_provider_factory_getter, | 127 const HttpPostProviderFactoryGetter& http_post_provider_factory_getter, |
| 127 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> | 128 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> |
| 128 saved_nigori_state) override {} | 129 saved_nigori_state) override {} |
| 129 }; | 130 }; |
| 130 | 131 |
| 131 class SyncBackendHostMockCollectDeleteDirParam : public SyncBackendHostMock { | 132 class SyncBackendHostMockCollectDeleteDirParam : public SyncBackendHostMock { |
| 132 public: | 133 public: |
| 133 explicit SyncBackendHostMockCollectDeleteDirParam( | 134 explicit SyncBackendHostMockCollectDeleteDirParam( |
| 134 std::vector<bool>* delete_dir_param) | 135 std::vector<bool>* delete_dir_param) |
| 135 : delete_dir_param_(delete_dir_param) {} | 136 : delete_dir_param_(delete_dir_param) {} |
| 136 | 137 |
| 137 void Initialize( | 138 void Initialize( |
| 138 syncer::SyncFrontend* frontend, | 139 sync_driver::SyncFrontend* frontend, |
| 139 std::unique_ptr<base::Thread> sync_thread, | 140 std::unique_ptr<base::Thread> sync_thread, |
| 140 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, | 141 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, |
| 141 const scoped_refptr<base::SingleThreadTaskRunner>& file_thread, | 142 const scoped_refptr<base::SingleThreadTaskRunner>& file_thread, |
| 142 const syncer::WeakHandle<syncer::JsEventHandler>& event_handler, | 143 const syncer::WeakHandle<syncer::JsEventHandler>& event_handler, |
| 143 const GURL& service_url, | 144 const GURL& service_url, |
| 144 const std::string& sync_user_agent, | 145 const std::string& sync_user_agent, |
| 145 const syncer::SyncCredentials& credentials, | 146 const syncer::SyncCredentials& credentials, |
| 146 bool delete_sync_data_folder, | 147 bool delete_sync_data_folder, |
| 147 std::unique_ptr<syncer::SyncManagerFactory> sync_manager_factory, | 148 std::unique_ptr<syncer::SyncManagerFactory> sync_manager_factory, |
| 148 const syncer::WeakHandle<syncer::UnrecoverableErrorHandler>& | 149 const syncer::WeakHandle<syncer::UnrecoverableErrorHandler>& |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 signin_manager()->SetAuthenticatedAccountInfo(kGaiaId, kEmail); | 241 signin_manager()->SetAuthenticatedAccountInfo(kGaiaId, kEmail); |
| 241 component_factory_ = profile_sync_service_bundle_.component_factory(); | 242 component_factory_ = profile_sync_service_bundle_.component_factory(); |
| 242 ProfileSyncServiceBundle::SyncClientBuilder builder( | 243 ProfileSyncServiceBundle::SyncClientBuilder builder( |
| 243 &profile_sync_service_bundle_); | 244 &profile_sync_service_bundle_); |
| 244 ProfileSyncService::InitParams init_params = | 245 ProfileSyncService::InitParams init_params = |
| 245 profile_sync_service_bundle_.CreateBasicInitParams(behavior, | 246 profile_sync_service_bundle_.CreateBasicInitParams(behavior, |
| 246 builder.Build()); | 247 builder.Build()); |
| 247 | 248 |
| 248 service_.reset(new ProfileSyncService(std::move(init_params))); | 249 service_.reset(new ProfileSyncService(std::move(init_params))); |
| 249 service_->RegisterDataTypeController( | 250 service_->RegisterDataTypeController( |
| 250 base::MakeUnique<syncer::FakeDataTypeController>(syncer::BOOKMARKS)); | 251 base::MakeUnique<sync_driver::FakeDataTypeController>( |
| 252 syncer::BOOKMARKS)); |
| 251 } | 253 } |
| 252 | 254 |
| 253 #if defined(OS_WIN) || defined(OS_MACOSX) || \ | 255 #if defined(OS_WIN) || defined(OS_MACOSX) || \ |
| 254 (defined(OS_LINUX) && !defined(OS_CHROMEOS)) | 256 (defined(OS_LINUX) && !defined(OS_CHROMEOS)) |
| 255 void CreateServiceWithoutSignIn() { | 257 void CreateServiceWithoutSignIn() { |
| 256 CreateService(ProfileSyncService::AUTO_START); | 258 CreateService(ProfileSyncService::AUTO_START); |
| 257 signin_manager()->SignOut(signin_metrics::SIGNOUT_TEST, | 259 signin_manager()->SignOut(signin_metrics::SIGNOUT_TEST, |
| 258 signin_metrics::SignoutDelete::IGNORE_METRIC); | 260 signin_metrics::SignoutDelete::IGNORE_METRIC); |
| 259 } | 261 } |
| 260 #endif | 262 #endif |
| 261 | 263 |
| 262 void ShutdownAndDeleteService() { | 264 void ShutdownAndDeleteService() { |
| 263 if (service_) | 265 if (service_) |
| 264 service_->Shutdown(); | 266 service_->Shutdown(); |
| 265 service_.reset(); | 267 service_.reset(); |
| 266 } | 268 } |
| 267 | 269 |
| 268 void InitializeForNthSync() { | 270 void InitializeForNthSync() { |
| 269 // Set first sync time before initialize to simulate a complete sync setup. | 271 // Set first sync time before initialize to simulate a complete sync setup. |
| 270 syncer::SyncPrefs sync_prefs(prefs()); | 272 sync_driver::SyncPrefs sync_prefs(prefs()); |
| 271 sync_prefs.SetFirstSyncTime(base::Time::Now()); | 273 sync_prefs.SetFirstSyncTime(base::Time::Now()); |
| 272 sync_prefs.SetFirstSetupComplete(); | 274 sync_prefs.SetFirstSetupComplete(); |
| 273 sync_prefs.SetKeepEverythingSynced(true); | 275 sync_prefs.SetKeepEverythingSynced(true); |
| 274 service_->Initialize(); | 276 service_->Initialize(); |
| 275 } | 277 } |
| 276 | 278 |
| 277 void InitializeForFirstSync() { service_->Initialize(); } | 279 void InitializeForFirstSync() { service_->Initialize(); } |
| 278 | 280 |
| 279 void TriggerPassphraseRequired() { | 281 void TriggerPassphraseRequired() { |
| 280 service_->OnPassphraseRequired(syncer::REASON_DECRYPTION, | 282 service_->OnPassphraseRequired(syncer::REASON_DECRYPTION, |
| 281 sync_pb::EncryptedData()); | 283 sync_pb::EncryptedData()); |
| 282 } | 284 } |
| 283 | 285 |
| 284 void TriggerDataTypeStartRequest() { | 286 void TriggerDataTypeStartRequest() { |
| 285 service_->OnDataTypeRequestsSyncStartup(syncer::BOOKMARKS); | 287 service_->OnDataTypeRequestsSyncStartup(syncer::BOOKMARKS); |
| 286 } | 288 } |
| 287 | 289 |
| 288 void OnConfigureCalled(syncer::ConfigureReason configure_reason) { | 290 void OnConfigureCalled(syncer::ConfigureReason configure_reason) { |
| 289 syncer::DataTypeManager::ConfigureResult result; | 291 sync_driver::DataTypeManager::ConfigureResult result; |
| 290 result.status = syncer::DataTypeManager::OK; | 292 result.status = sync_driver::DataTypeManager::OK; |
| 291 service()->OnConfigureDone(result); | 293 service()->OnConfigureDone(result); |
| 292 } | 294 } |
| 293 | 295 |
| 294 FakeDataTypeManager::ConfigureCalled GetDefaultConfigureCalledCallback() { | 296 FakeDataTypeManager::ConfigureCalled GetDefaultConfigureCalledCallback() { |
| 295 return base::Bind(&ProfileSyncServiceTest::OnConfigureCalled, | 297 return base::Bind(&ProfileSyncServiceTest::OnConfigureCalled, |
| 296 base::Unretained(this)); | 298 base::Unretained(this)); |
| 297 } | 299 } |
| 298 | 300 |
| 299 void OnConfigureCalledRecordReason(syncer::ConfigureReason* reason_dest, | 301 void OnConfigureCalledRecordReason(syncer::ConfigureReason* reason_dest, |
| 300 syncer::ConfigureReason reason) { | 302 syncer::ConfigureReason reason) { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 ProfileOAuth2TokenService* auth_service() { | 362 ProfileOAuth2TokenService* auth_service() { |
| 361 return profile_sync_service_bundle_.auth_service(); | 363 return profile_sync_service_bundle_.auth_service(); |
| 362 } | 364 } |
| 363 | 365 |
| 364 ProfileSyncService* service() { return service_.get(); } | 366 ProfileSyncService* service() { return service_.get(); } |
| 365 | 367 |
| 366 syncable_prefs::TestingPrefServiceSyncable* prefs() { | 368 syncable_prefs::TestingPrefServiceSyncable* prefs() { |
| 367 return profile_sync_service_bundle_.pref_service(); | 369 return profile_sync_service_bundle_.pref_service(); |
| 368 } | 370 } |
| 369 | 371 |
| 370 syncer::SyncApiComponentFactoryMock* component_factory() { | 372 SyncApiComponentFactoryMock* component_factory() { |
| 371 return component_factory_; | 373 return component_factory_; |
| 372 } | 374 } |
| 373 | 375 |
| 374 protected: | 376 protected: |
| 375 void PumpLoop() { | 377 void PumpLoop() { |
| 376 base::RunLoop run_loop; | 378 base::RunLoop run_loop; |
| 377 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, | 379 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, |
| 378 run_loop.QuitClosure()); | 380 run_loop.QuitClosure()); |
| 379 run_loop.Run(); | 381 run_loop.Run(); |
| 380 } | 382 } |
| 381 | 383 |
| 382 private: | 384 private: |
| 383 base::MessageLoop message_loop_; | 385 base::MessageLoop message_loop_; |
| 384 ProfileSyncServiceBundle profile_sync_service_bundle_; | 386 ProfileSyncServiceBundle profile_sync_service_bundle_; |
| 385 std::unique_ptr<ProfileSyncService> service_; | 387 std::unique_ptr<ProfileSyncService> service_; |
| 386 | 388 |
| 387 // The current component factory used by sync. May be null if the server | 389 // The current component factory used by sync. May be null if the server |
| 388 // hasn't been created yet. | 390 // hasn't been created yet. |
| 389 syncer::SyncApiComponentFactoryMock* component_factory_; | 391 SyncApiComponentFactoryMock* component_factory_; |
| 390 }; | 392 }; |
| 391 | 393 |
| 392 // Verify that the server URLs are sane. | 394 // Verify that the server URLs are sane. |
| 393 TEST_F(ProfileSyncServiceTest, InitialState) { | 395 TEST_F(ProfileSyncServiceTest, InitialState) { |
| 394 CreateService(ProfileSyncService::AUTO_START); | 396 CreateService(ProfileSyncService::AUTO_START); |
| 395 InitializeForNthSync(); | 397 InitializeForNthSync(); |
| 396 const std::string& url = service()->sync_service_url().spec(); | 398 const std::string& url = service()->sync_service_url().spec(); |
| 397 EXPECT_TRUE(url == syncer::internal::kSyncServerUrl || | 399 EXPECT_TRUE(url == internal::kSyncServerUrl || |
| 398 url == syncer::internal::kSyncDevServerUrl); | 400 url == internal::kSyncDevServerUrl); |
| 399 } | 401 } |
| 400 | 402 |
| 401 // Verify a successful initialization. | 403 // Verify a successful initialization. |
| 402 TEST_F(ProfileSyncServiceTest, SuccessfulInitialization) { | 404 TEST_F(ProfileSyncServiceTest, SuccessfulInitialization) { |
| 403 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, | 405 prefs()->SetManagedPref(sync_driver::prefs::kSyncManaged, |
| 404 new base::FundamentalValue(false)); | 406 new base::FundamentalValue(false)); |
| 405 IssueTestTokens(); | 407 IssueTestTokens(); |
| 406 CreateService(ProfileSyncService::AUTO_START); | 408 CreateService(ProfileSyncService::AUTO_START); |
| 407 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 409 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 408 ExpectSyncBackendHostCreation(1); | 410 ExpectSyncBackendHostCreation(1); |
| 409 InitializeForNthSync(); | 411 InitializeForNthSync(); |
| 410 EXPECT_FALSE(service()->IsManaged()); | 412 EXPECT_FALSE(service()->IsManaged()); |
| 411 EXPECT_TRUE(service()->IsSyncActive()); | 413 EXPECT_TRUE(service()->IsSyncActive()); |
| 412 } | 414 } |
| 413 | 415 |
| 414 // Verify that an initialization where first setup is not complete does not | 416 // Verify that an initialization where first setup is not complete does not |
| 415 // start up the backend. | 417 // start up the backend. |
| 416 TEST_F(ProfileSyncServiceTest, NeedsConfirmation) { | 418 TEST_F(ProfileSyncServiceTest, NeedsConfirmation) { |
| 417 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, | 419 prefs()->SetManagedPref(sync_driver::prefs::kSyncManaged, |
| 418 new base::FundamentalValue(false)); | 420 new base::FundamentalValue(false)); |
| 419 IssueTestTokens(); | 421 IssueTestTokens(); |
| 420 CreateService(ProfileSyncService::MANUAL_START); | 422 CreateService(ProfileSyncService::MANUAL_START); |
| 421 syncer::SyncPrefs sync_prefs(prefs()); | 423 sync_driver::SyncPrefs sync_prefs(prefs()); |
| 422 base::Time now = base::Time::Now(); | 424 base::Time now = base::Time::Now(); |
| 423 sync_prefs.SetLastSyncedTime(now); | 425 sync_prefs.SetLastSyncedTime(now); |
| 424 sync_prefs.SetKeepEverythingSynced(true); | 426 sync_prefs.SetKeepEverythingSynced(true); |
| 425 service()->Initialize(); | 427 service()->Initialize(); |
| 426 EXPECT_FALSE(service()->IsSyncActive()); | 428 EXPECT_FALSE(service()->IsSyncActive()); |
| 427 | 429 |
| 428 // The last sync time shouldn't be cleared. | 430 // The last sync time shouldn't be cleared. |
| 429 // TODO(zea): figure out a way to check that the directory itself wasn't | 431 // TODO(zea): figure out a way to check that the directory itself wasn't |
| 430 // cleared. | 432 // cleared. |
| 431 EXPECT_EQ(now, sync_prefs.GetLastSyncedTime()); | 433 EXPECT_EQ(now, sync_prefs.GetLastSyncedTime()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 443 auto sync_blocker = service()->GetSetupInProgressHandle(); | 445 auto sync_blocker = service()->GetSetupInProgressHandle(); |
| 444 EXPECT_TRUE(observer.setup_in_progress()); | 446 EXPECT_TRUE(observer.setup_in_progress()); |
| 445 sync_blocker.reset(); | 447 sync_blocker.reset(); |
| 446 EXPECT_FALSE(observer.setup_in_progress()); | 448 EXPECT_FALSE(observer.setup_in_progress()); |
| 447 | 449 |
| 448 service()->RemoveObserver(&observer); | 450 service()->RemoveObserver(&observer); |
| 449 } | 451 } |
| 450 | 452 |
| 451 // Verify that disable by enterprise policy works. | 453 // Verify that disable by enterprise policy works. |
| 452 TEST_F(ProfileSyncServiceTest, DisabledByPolicyBeforeInit) { | 454 TEST_F(ProfileSyncServiceTest, DisabledByPolicyBeforeInit) { |
| 453 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, | 455 prefs()->SetManagedPref(sync_driver::prefs::kSyncManaged, |
| 454 new base::FundamentalValue(true)); | 456 new base::FundamentalValue(true)); |
| 455 IssueTestTokens(); | 457 IssueTestTokens(); |
| 456 CreateService(ProfileSyncService::AUTO_START); | 458 CreateService(ProfileSyncService::AUTO_START); |
| 457 InitializeForNthSync(); | 459 InitializeForNthSync(); |
| 458 EXPECT_TRUE(service()->IsManaged()); | 460 EXPECT_TRUE(service()->IsManaged()); |
| 459 EXPECT_FALSE(service()->IsSyncActive()); | 461 EXPECT_FALSE(service()->IsSyncActive()); |
| 460 } | 462 } |
| 461 | 463 |
| 462 // Verify that disable by enterprise policy works even after the backend has | 464 // Verify that disable by enterprise policy works even after the backend has |
| 463 // been initialized. | 465 // been initialized. |
| 464 TEST_F(ProfileSyncServiceTest, DisabledByPolicyAfterInit) { | 466 TEST_F(ProfileSyncServiceTest, DisabledByPolicyAfterInit) { |
| 465 IssueTestTokens(); | 467 IssueTestTokens(); |
| 466 CreateService(ProfileSyncService::AUTO_START); | 468 CreateService(ProfileSyncService::AUTO_START); |
| 467 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 469 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 468 ExpectSyncBackendHostCreation(1); | 470 ExpectSyncBackendHostCreation(1); |
| 469 InitializeForNthSync(); | 471 InitializeForNthSync(); |
| 470 | 472 |
| 471 EXPECT_FALSE(service()->IsManaged()); | 473 EXPECT_FALSE(service()->IsManaged()); |
| 472 EXPECT_TRUE(service()->IsSyncActive()); | 474 EXPECT_TRUE(service()->IsSyncActive()); |
| 473 | 475 |
| 474 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, | 476 prefs()->SetManagedPref(sync_driver::prefs::kSyncManaged, |
| 475 new base::FundamentalValue(true)); | 477 new base::FundamentalValue(true)); |
| 476 | 478 |
| 477 EXPECT_TRUE(service()->IsManaged()); | 479 EXPECT_TRUE(service()->IsManaged()); |
| 478 EXPECT_FALSE(service()->IsSyncActive()); | 480 EXPECT_FALSE(service()->IsSyncActive()); |
| 479 } | 481 } |
| 480 | 482 |
| 481 // Exercies the ProfileSyncService's code paths related to getting shut down | 483 // Exercies the ProfileSyncService's code paths related to getting shut down |
| 482 // before the backend initialize call returns. | 484 // before the backend initialize call returns. |
| 483 TEST_F(ProfileSyncServiceTest, AbortedByShutdown) { | 485 TEST_F(ProfileSyncServiceTest, AbortedByShutdown) { |
| 484 CreateService(ProfileSyncService::AUTO_START); | 486 CreateService(ProfileSyncService::AUTO_START); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 514 | 516 |
| 515 // Test RequestStop() after we've initialized the backend. | 517 // Test RequestStop() after we've initialized the backend. |
| 516 TEST_F(ProfileSyncServiceTest, DisableAndEnableSyncTemporarily) { | 518 TEST_F(ProfileSyncServiceTest, DisableAndEnableSyncTemporarily) { |
| 517 CreateService(ProfileSyncService::AUTO_START); | 519 CreateService(ProfileSyncService::AUTO_START); |
| 518 IssueTestTokens(); | 520 IssueTestTokens(); |
| 519 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 521 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 520 ExpectSyncBackendHostCreation(1); | 522 ExpectSyncBackendHostCreation(1); |
| 521 InitializeForNthSync(); | 523 InitializeForNthSync(); |
| 522 | 524 |
| 523 EXPECT_TRUE(service()->IsSyncActive()); | 525 EXPECT_TRUE(service()->IsSyncActive()); |
| 524 EXPECT_FALSE(prefs()->GetBoolean(syncer::prefs::kSyncSuppressStart)); | 526 EXPECT_FALSE(prefs()->GetBoolean(sync_driver::prefs::kSyncSuppressStart)); |
| 525 | 527 |
| 526 testing::Mock::VerifyAndClearExpectations(component_factory()); | 528 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 527 | 529 |
| 528 service()->RequestStop(ProfileSyncService::KEEP_DATA); | 530 service()->RequestStop(ProfileSyncService::KEEP_DATA); |
| 529 EXPECT_FALSE(service()->IsSyncActive()); | 531 EXPECT_FALSE(service()->IsSyncActive()); |
| 530 EXPECT_TRUE(prefs()->GetBoolean(syncer::prefs::kSyncSuppressStart)); | 532 EXPECT_TRUE(prefs()->GetBoolean(sync_driver::prefs::kSyncSuppressStart)); |
| 531 | 533 |
| 532 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 534 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 533 ExpectSyncBackendHostCreation(1); | 535 ExpectSyncBackendHostCreation(1); |
| 534 | 536 |
| 535 service()->RequestStart(); | 537 service()->RequestStart(); |
| 536 EXPECT_TRUE(service()->IsSyncActive()); | 538 EXPECT_TRUE(service()->IsSyncActive()); |
| 537 EXPECT_FALSE(prefs()->GetBoolean(syncer::prefs::kSyncSuppressStart)); | 539 EXPECT_FALSE(prefs()->GetBoolean(sync_driver::prefs::kSyncSuppressStart)); |
| 538 } | 540 } |
| 539 | 541 |
| 540 // Certain ProfileSyncService tests don't apply to Chrome OS, for example | 542 // Certain ProfileSyncService tests don't apply to Chrome OS, for example |
| 541 // things that deal with concepts like "signing out" and policy. | 543 // things that deal with concepts like "signing out" and policy. |
| 542 #if !defined(OS_CHROMEOS) | 544 #if !defined(OS_CHROMEOS) |
| 543 TEST_F(ProfileSyncServiceTest, EnableSyncAndSignOut) { | 545 TEST_F(ProfileSyncServiceTest, EnableSyncAndSignOut) { |
| 544 CreateService(ProfileSyncService::AUTO_START); | 546 CreateService(ProfileSyncService::AUTO_START); |
| 545 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 547 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 546 ExpectSyncBackendHostCreation(1); | 548 ExpectSyncBackendHostCreation(1); |
| 547 IssueTestTokens(); | 549 IssueTestTokens(); |
| 548 InitializeForNthSync(); | 550 InitializeForNthSync(); |
| 549 | 551 |
| 550 EXPECT_TRUE(service()->IsSyncActive()); | 552 EXPECT_TRUE(service()->IsSyncActive()); |
| 551 EXPECT_FALSE(prefs()->GetBoolean(syncer::prefs::kSyncSuppressStart)); | 553 EXPECT_FALSE(prefs()->GetBoolean(sync_driver::prefs::kSyncSuppressStart)); |
| 552 | 554 |
| 553 signin_manager()->SignOut(signin_metrics::SIGNOUT_TEST, | 555 signin_manager()->SignOut(signin_metrics::SIGNOUT_TEST, |
| 554 signin_metrics::SignoutDelete::IGNORE_METRIC); | 556 signin_metrics::SignoutDelete::IGNORE_METRIC); |
| 555 EXPECT_FALSE(service()->IsSyncActive()); | 557 EXPECT_FALSE(service()->IsSyncActive()); |
| 556 } | 558 } |
| 557 #endif // !defined(OS_CHROMEOS) | 559 #endif // !defined(OS_CHROMEOS) |
| 558 | 560 |
| 559 TEST_F(ProfileSyncServiceTest, GetSyncTokenStatus) { | 561 TEST_F(ProfileSyncServiceTest, GetSyncTokenStatus) { |
| 560 CreateService(ProfileSyncService::AUTO_START); | 562 CreateService(ProfileSyncService::AUTO_START); |
| 561 IssueTestTokens(); | 563 IssueTestTokens(); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 676 | 678 |
| 677 // Test Sync will stop after receive memory pressure | 679 // Test Sync will stop after receive memory pressure |
| 678 TEST_F(ProfileSyncServiceTest, MemoryPressureRecording) { | 680 TEST_F(ProfileSyncServiceTest, MemoryPressureRecording) { |
| 679 CreateService(ProfileSyncService::AUTO_START); | 681 CreateService(ProfileSyncService::AUTO_START); |
| 680 IssueTestTokens(); | 682 IssueTestTokens(); |
| 681 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 683 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 682 ExpectSyncBackendHostCreation(1); | 684 ExpectSyncBackendHostCreation(1); |
| 683 InitializeForNthSync(); | 685 InitializeForNthSync(); |
| 684 | 686 |
| 685 EXPECT_TRUE(service()->IsSyncActive()); | 687 EXPECT_TRUE(service()->IsSyncActive()); |
| 686 EXPECT_FALSE(prefs()->GetBoolean(syncer::prefs::kSyncSuppressStart)); | 688 EXPECT_FALSE(prefs()->GetBoolean(sync_driver::prefs::kSyncSuppressStart)); |
| 687 | 689 |
| 688 testing::Mock::VerifyAndClearExpectations(component_factory()); | 690 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 689 | 691 |
| 690 syncer::SyncPrefs sync_prefs(service()->GetSyncClient()->GetPrefService()); | 692 sync_driver::SyncPrefs sync_prefs( |
| 693 service()->GetSyncClient()->GetPrefService()); |
| 691 | 694 |
| 692 EXPECT_EQ(prefs()->GetInteger(syncer::prefs::kSyncMemoryPressureWarningCount), | 695 EXPECT_EQ( |
| 693 0); | 696 prefs()->GetInteger(sync_driver::prefs::kSyncMemoryPressureWarningCount), |
| 697 0); |
| 694 EXPECT_FALSE(sync_prefs.DidSyncShutdownCleanly()); | 698 EXPECT_FALSE(sync_prefs.DidSyncShutdownCleanly()); |
| 695 | 699 |
| 696 // Simulate memory pressure notification. | 700 // Simulate memory pressure notification. |
| 697 base::MemoryPressureListener::NotifyMemoryPressure( | 701 base::MemoryPressureListener::NotifyMemoryPressure( |
| 698 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); | 702 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
| 699 base::RunLoop().RunUntilIdle(); | 703 base::RunLoop().RunUntilIdle(); |
| 700 | 704 |
| 701 // Verify memory pressure recorded. | 705 // Verify memory pressure recorded. |
| 702 EXPECT_EQ(prefs()->GetInteger(syncer::prefs::kSyncMemoryPressureWarningCount), | 706 EXPECT_EQ( |
| 703 1); | 707 prefs()->GetInteger(sync_driver::prefs::kSyncMemoryPressureWarningCount), |
| 708 1); |
| 704 EXPECT_FALSE(sync_prefs.DidSyncShutdownCleanly()); | 709 EXPECT_FALSE(sync_prefs.DidSyncShutdownCleanly()); |
| 705 | 710 |
| 706 // Simulate memory pressure notification. | 711 // Simulate memory pressure notification. |
| 707 base::MemoryPressureListener::NotifyMemoryPressure( | 712 base::MemoryPressureListener::NotifyMemoryPressure( |
| 708 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); | 713 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
| 709 base::RunLoop().RunUntilIdle(); | 714 base::RunLoop().RunUntilIdle(); |
| 710 ShutdownAndDeleteService(); | 715 ShutdownAndDeleteService(); |
| 711 | 716 |
| 712 // Verify memory pressure and shutdown recorded. | 717 // Verify memory pressure and shutdown recorded. |
| 713 EXPECT_EQ(prefs()->GetInteger(syncer::prefs::kSyncMemoryPressureWarningCount), | 718 EXPECT_EQ( |
| 714 2); | 719 prefs()->GetInteger(sync_driver::prefs::kSyncMemoryPressureWarningCount), |
| 720 2); |
| 715 EXPECT_TRUE(sync_prefs.DidSyncShutdownCleanly()); | 721 EXPECT_TRUE(sync_prefs.DidSyncShutdownCleanly()); |
| 716 } | 722 } |
| 717 | 723 |
| 718 // Verify that OnLocalSetPassphraseEncryption triggers catch up configure sync | 724 // Verify that OnLocalSetPassphraseEncryption triggers catch up configure sync |
| 719 // cycle, calls ClearServerData, shuts down and restarts sync. | 725 // cycle, calls ClearServerData, shuts down and restarts sync. |
| 720 TEST_F(ProfileSyncServiceTest, OnLocalSetPassphraseEncryption) { | 726 TEST_F(ProfileSyncServiceTest, OnLocalSetPassphraseEncryption) { |
| 721 base::test::ScopedFeatureList scoped_feature_list; | 727 base::test::ScopedFeatureList scoped_feature_list; |
| 722 scoped_feature_list.InitAndEnableFeature( | 728 scoped_feature_list.InitAndEnableFeature( |
| 723 switches::kSyncClearDataOnPassphraseEncryption); | 729 switches::kSyncClearDataOnPassphraseEncryption); |
| 724 IssueTestTokens(); | 730 IssueTestTokens(); |
| 725 CreateService(ProfileSyncService::AUTO_START); | 731 CreateService(ProfileSyncService::AUTO_START); |
| 726 | 732 |
| 727 syncer::SyncManager::ClearServerDataCallback captured_callback; | 733 syncer::SyncManager::ClearServerDataCallback captured_callback; |
| 728 syncer::ConfigureReason configure_reason = syncer::CONFIGURE_REASON_UNKNOWN; | 734 syncer::ConfigureReason configure_reason = syncer::CONFIGURE_REASON_UNKNOWN; |
| 729 | 735 |
| 730 // Initialize sync, ensure that both DataTypeManager and SyncBackendHost are | 736 // Initialize sync, ensure that both DataTypeManager and SyncBackendHost are |
| 731 // initialized and DTM::Configure is called with | 737 // initialized and DTM::Configure is called with |
| 732 // CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE. | 738 // CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE. |
| 733 ExpectSyncBackendHostCreationCaptureClearServerData(&captured_callback); | 739 ExpectSyncBackendHostCreationCaptureClearServerData(&captured_callback); |
| 734 ExpectDataTypeManagerCreation( | 740 ExpectDataTypeManagerCreation( |
| 735 1, GetRecordingConfigureCalledCallback(&configure_reason)); | 741 1, GetRecordingConfigureCalledCallback(&configure_reason)); |
| 736 InitializeForNthSync(); | 742 InitializeForNthSync(); |
| 737 EXPECT_TRUE(service()->IsSyncActive()); | 743 EXPECT_TRUE(service()->IsSyncActive()); |
| 738 testing::Mock::VerifyAndClearExpectations(component_factory()); | 744 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 739 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); | 745 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); |
| 740 syncer::DataTypeManager::ConfigureResult result; | 746 sync_driver::DataTypeManager::ConfigureResult result; |
| 741 result.status = syncer::DataTypeManager::OK; | 747 result.status = sync_driver::DataTypeManager::OK; |
| 742 service()->OnConfigureDone(result); | 748 service()->OnConfigureDone(result); |
| 743 | 749 |
| 744 // Simulate user entering encryption passphrase. Ensure that catch up | 750 // Simulate user entering encryption passphrase. Ensure that catch up |
| 745 // configure cycle is started (DTM::Configure is called with | 751 // configure cycle is started (DTM::Configure is called with |
| 746 // CONFIGURE_REASON_CATCH_UP). | 752 // CONFIGURE_REASON_CATCH_UP). |
| 747 const syncer::SyncEncryptionHandler::NigoriState nigori_state; | 753 const syncer::SyncEncryptionHandler::NigoriState nigori_state; |
| 748 service()->OnLocalSetPassphraseEncryption(nigori_state); | 754 service()->OnLocalSetPassphraseEncryption(nigori_state); |
| 749 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); | 755 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); |
| 750 EXPECT_TRUE(captured_callback.is_null()); | 756 EXPECT_TRUE(captured_callback.is_null()); |
| 751 | 757 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 774 scoped_feature_list.InitAndEnableFeature( | 780 scoped_feature_list.InitAndEnableFeature( |
| 775 switches::kSyncClearDataOnPassphraseEncryption); | 781 switches::kSyncClearDataOnPassphraseEncryption); |
| 776 IssueTestTokens(); | 782 IssueTestTokens(); |
| 777 CreateService(ProfileSyncService::AUTO_START); | 783 CreateService(ProfileSyncService::AUTO_START); |
| 778 ExpectSyncBackendHostCreation(1); | 784 ExpectSyncBackendHostCreation(1); |
| 779 ExpectDataTypeManagerCreation( | 785 ExpectDataTypeManagerCreation( |
| 780 1, GetRecordingConfigureCalledCallback(&configure_reason)); | 786 1, GetRecordingConfigureCalledCallback(&configure_reason)); |
| 781 InitializeForNthSync(); | 787 InitializeForNthSync(); |
| 782 testing::Mock::VerifyAndClearExpectations(component_factory()); | 788 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 783 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); | 789 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); |
| 784 syncer::DataTypeManager::ConfigureResult result; | 790 sync_driver::DataTypeManager::ConfigureResult result; |
| 785 result.status = syncer::DataTypeManager::OK; | 791 result.status = sync_driver::DataTypeManager::OK; |
| 786 service()->OnConfigureDone(result); | 792 service()->OnConfigureDone(result); |
| 787 | 793 |
| 788 // Simulate user entering encryption passphrase. Ensure Configure was called | 794 // Simulate user entering encryption passphrase. Ensure Configure was called |
| 789 // but don't let it continue. | 795 // but don't let it continue. |
| 790 const syncer::SyncEncryptionHandler::NigoriState nigori_state; | 796 const syncer::SyncEncryptionHandler::NigoriState nigori_state; |
| 791 service()->OnLocalSetPassphraseEncryption(nigori_state); | 797 service()->OnLocalSetPassphraseEncryption(nigori_state); |
| 792 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); | 798 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); |
| 793 | 799 |
| 794 // Simulate browser restart. First configuration is a regular one. | 800 // Simulate browser restart. First configuration is a regular one. |
| 795 service()->Shutdown(); | 801 service()->Shutdown(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 846 service()->Shutdown(); | 852 service()->Shutdown(); |
| 847 ExpectSyncBackendHostCreationCaptureClearServerData(&captured_callback); | 853 ExpectSyncBackendHostCreationCaptureClearServerData(&captured_callback); |
| 848 ExpectDataTypeManagerCreation( | 854 ExpectDataTypeManagerCreation( |
| 849 1, GetRecordingConfigureCalledCallback(&configure_reason)); | 855 1, GetRecordingConfigureCalledCallback(&configure_reason)); |
| 850 service()->RequestStart(); | 856 service()->RequestStart(); |
| 851 testing::Mock::VerifyAndClearExpectations(component_factory()); | 857 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 852 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); | 858 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); |
| 853 EXPECT_TRUE(captured_callback.is_null()); | 859 EXPECT_TRUE(captured_callback.is_null()); |
| 854 | 860 |
| 855 // Simulate configure successful. This time it should be catch up. | 861 // Simulate configure successful. This time it should be catch up. |
| 856 syncer::DataTypeManager::ConfigureResult result; | 862 sync_driver::DataTypeManager::ConfigureResult result; |
| 857 result.status = syncer::DataTypeManager::OK; | 863 result.status = sync_driver::DataTypeManager::OK; |
| 858 service()->OnConfigureDone(result); | 864 service()->OnConfigureDone(result); |
| 859 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); | 865 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); |
| 860 EXPECT_TRUE(captured_callback.is_null()); | 866 EXPECT_TRUE(captured_callback.is_null()); |
| 861 | 867 |
| 862 // Simulate catch up configure successful. Ensure that SBH::ClearServerData is | 868 // Simulate catch up configure successful. Ensure that SBH::ClearServerData is |
| 863 // called. | 869 // called. |
| 864 service()->OnConfigureDone(result); | 870 service()->OnConfigureDone(result); |
| 865 EXPECT_FALSE(captured_callback.is_null()); | 871 EXPECT_FALSE(captured_callback.is_null()); |
| 866 | 872 |
| 867 ExpectSyncBackendHostCreation(1); | 873 ExpectSyncBackendHostCreation(1); |
| 868 ExpectDataTypeManagerCreation( | 874 ExpectDataTypeManagerCreation( |
| 869 1, GetRecordingConfigureCalledCallback(&configure_reason)); | 875 1, GetRecordingConfigureCalledCallback(&configure_reason)); |
| 870 captured_callback.Run(); | 876 captured_callback.Run(); |
| 871 testing::Mock::VerifyAndClearExpectations(component_factory()); | 877 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 872 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); | 878 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); |
| 873 } | 879 } |
| 874 | 880 |
| 875 // Test that the passphrase prompt due to version change logic gets triggered | 881 // Test that the passphrase prompt due to version change logic gets triggered |
| 876 // on a datatype type requesting startup, but only happens once. | 882 // on a datatype type requesting startup, but only happens once. |
| 877 TEST_F(ProfileSyncServiceTest, PassphrasePromptDueToVersion) { | 883 TEST_F(ProfileSyncServiceTest, PassphrasePromptDueToVersion) { |
| 878 IssueTestTokens(); | 884 IssueTestTokens(); |
| 879 CreateService(ProfileSyncService::AUTO_START); | 885 CreateService(ProfileSyncService::AUTO_START); |
| 880 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 886 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 881 ExpectSyncBackendHostCreation(1); | 887 ExpectSyncBackendHostCreation(1); |
| 882 InitializeForNthSync(); | 888 InitializeForNthSync(); |
| 883 | 889 |
| 884 syncer::SyncPrefs sync_prefs(service()->GetSyncClient()->GetPrefService()); | 890 sync_driver::SyncPrefs sync_prefs( |
| 891 service()->GetSyncClient()->GetPrefService()); |
| 885 EXPECT_EQ(PRODUCT_VERSION, sync_prefs.GetLastRunVersion()); | 892 EXPECT_EQ(PRODUCT_VERSION, sync_prefs.GetLastRunVersion()); |
| 886 | 893 |
| 887 sync_prefs.SetPassphrasePrompted(true); | 894 sync_prefs.SetPassphrasePrompted(true); |
| 888 | 895 |
| 889 // Until a datatype requests startup while a passphrase is required the | 896 // Until a datatype requests startup while a passphrase is required the |
| 890 // passphrase prompt bit should remain set. | 897 // passphrase prompt bit should remain set. |
| 891 EXPECT_TRUE(sync_prefs.IsPassphrasePrompted()); | 898 EXPECT_TRUE(sync_prefs.IsPassphrasePrompted()); |
| 892 TriggerPassphraseRequired(); | 899 TriggerPassphraseRequired(); |
| 893 EXPECT_TRUE(sync_prefs.IsPassphrasePrompted()); | 900 EXPECT_TRUE(sync_prefs.IsPassphrasePrompted()); |
| 894 | 901 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 955 // dereferenced in OnSyncCycleCompleted. The fix is to use find() to check if | 962 // dereferenced in OnSyncCycleCompleted. The fix is to use find() to check if |
| 956 // entry for sessions exists in map. | 963 // entry for sessions exists in map. |
| 957 TEST_F(ProfileSyncServiceTest, ValidPointersInDTCMap) { | 964 TEST_F(ProfileSyncServiceTest, ValidPointersInDTCMap) { |
| 958 CreateService(ProfileSyncService::AUTO_START); | 965 CreateService(ProfileSyncService::AUTO_START); |
| 959 service()->OnSessionRestoreComplete(); | 966 service()->OnSessionRestoreComplete(); |
| 960 service()->OnSyncCycleCompleted(); | 967 service()->OnSyncCycleCompleted(); |
| 961 } | 968 } |
| 962 | 969 |
| 963 } // namespace | 970 } // namespace |
| 964 } // namespace browser_sync | 971 } // namespace browser_sync |
| OLD | NEW |