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

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

Issue 2388673002: Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5 id:40001 of https://co (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "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
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « components/browser_sync/profile_sync_service_typed_url_unittest.cc ('k') | components/browser_sync/profile_sync_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698