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

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

Issue 2810943007: Allow sync to resume in local backend mode after it has been disabled. (Closed)
Patch Set: Created 3 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
« no previous file with comments | « components/browser_sync/profile_sync_service.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/browser_sync/profile_sync_service.h" 5 #include "components/browser_sync/profile_sync_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 ExpectSyncEngineCreation(1); 379 ExpectSyncEngineCreation(1);
380 InitializeForNthSync(); 380 InitializeForNthSync();
381 EXPECT_FALSE(service()->IsManaged()); 381 EXPECT_FALSE(service()->IsManaged());
382 EXPECT_TRUE(service()->IsSyncActive()); 382 EXPECT_TRUE(service()->IsSyncActive());
383 } 383 }
384 384
385 // Verify a successful initialization. 385 // Verify a successful initialization.
386 TEST_F(ProfileSyncServiceTest, SuccessfulLocalBackendInitialization) { 386 TEST_F(ProfileSyncServiceTest, SuccessfulLocalBackendInitialization) {
387 prefs()->SetManagedPref(syncer::prefs::kSyncManaged, 387 prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
388 base::MakeUnique<base::Value>(false)); 388 base::MakeUnique<base::Value>(false));
389 IssueTestTokens();
390 CreateServiceWithLocalSyncBackend(); 389 CreateServiceWithLocalSyncBackend();
391 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); 390 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback());
392 ExpectSyncEngineCreation(1); 391 ExpectSyncEngineCreation(1);
393 InitializeForNthSync(); 392 InitializeForNthSync();
394 EXPECT_FALSE(service()->IsManaged()); 393 EXPECT_FALSE(service()->IsManaged());
395 EXPECT_TRUE(service()->IsSyncActive()); 394 EXPECT_TRUE(service()->IsSyncActive());
396 } 395 }
397 396
398 // Verify that an initialization where first setup is not complete does not 397 // Verify that an initialization where first setup is not complete does not
399 // start up the backend. 398 // start up the backend.
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 #else 935 #else
937 EXPECT_FALSE(signin_manager()->GetAuthenticatedAccountId().empty()); 936 EXPECT_FALSE(signin_manager()->GetAuthenticatedAccountId().empty());
938 #endif 937 #endif
939 938
940 EXPECT_FALSE(service()->IsSyncActive()); 939 EXPECT_FALSE(service()->IsSyncActive());
941 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_SYNC_TIME_NEVER), 940 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_SYNC_TIME_NEVER),
942 service()->GetLastSyncedTimeString()); 941 service()->GetLastSyncedTimeString());
943 EXPECT_FALSE(service()->GetLocalDeviceInfoProvider()->GetLocalDeviceInfo()); 942 EXPECT_FALSE(service()->GetLocalDeviceInfoProvider()->GetLocalDeviceInfo());
944 } 943 }
945 944
945 // Verify a that local sync mode resumes after the policy is lifted.
946 TEST_F(ProfileSyncServiceTest, LocalBackendDisabledByPolicy) {
947 prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
948 base::MakeUnique<base::Value>(false));
949 CreateServiceWithLocalSyncBackend();
950 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback());
951 ExpectSyncEngineCreation(1);
952 InitializeForNthSync();
953 EXPECT_FALSE(service()->IsManaged());
954 EXPECT_TRUE(service()->IsSyncActive());
955
956 prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
957 base::MakeUnique<base::Value>(true));
958
959 EXPECT_TRUE(service()->IsManaged());
960 EXPECT_FALSE(service()->IsSyncActive());
961
962 prefs()->SetManagedPref(syncer::prefs::kSyncManaged,
963 base::MakeUnique<base::Value>(false));
964
965 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback());
966 ExpectSyncEngineCreation(1);
967
968 service()->RequestStart();
969 EXPECT_FALSE(service()->IsManaged());
970 EXPECT_TRUE(service()->IsSyncActive());
971 }
972
946 // Regression test for crbug/555434. The issue is that check for sessions DTC in 973 // Regression test for crbug/555434. The issue is that check for sessions DTC in
947 // OnSessionRestoreComplete was creating map entry with nullptr which later was 974 // OnSessionRestoreComplete was creating map entry with nullptr which later was
948 // dereferenced in OnSyncCycleCompleted. The fix is to use find() to check if 975 // dereferenced in OnSyncCycleCompleted. The fix is to use find() to check if
949 // entry for sessions exists in map. 976 // entry for sessions exists in map.
950 TEST_F(ProfileSyncServiceTest, ValidPointersInDTCMap) { 977 TEST_F(ProfileSyncServiceTest, ValidPointersInDTCMap) {
951 CreateService(ProfileSyncService::AUTO_START); 978 CreateService(ProfileSyncService::AUTO_START);
952 service()->OnSessionRestoreComplete(); 979 service()->OnSessionRestoreComplete();
953 service()->OnSyncCycleCompleted(syncer::SyncCycleSnapshot()); 980 service()->OnSyncCycleCompleted(syncer::SyncCycleSnapshot());
954 } 981 }
955 982
956 // The OpenTabsUIDelegate should only be accessable when PROXY_TABS is enabled. 983 // The OpenTabsUIDelegate should only be accessable when PROXY_TABS is enabled.
957 TEST_F(ProfileSyncServiceTest, GetOpenTabsUIDelegate) { 984 TEST_F(ProfileSyncServiceTest, GetOpenTabsUIDelegate) {
958 CreateService(ProfileSyncService::AUTO_START); 985 CreateService(ProfileSyncService::AUTO_START);
959 InitializeForNthSync(); 986 InitializeForNthSync();
960 EXPECT_EQ(nullptr, service()->GetOpenTabsUIDelegate()); 987 EXPECT_EQ(nullptr, service()->GetOpenTabsUIDelegate());
961 988
962 auto controller = 989 auto controller =
963 base::MakeUnique<syncer::FakeDataTypeController>(syncer::PROXY_TABS); 990 base::MakeUnique<syncer::FakeDataTypeController>(syncer::PROXY_TABS);
964 // Progress the controller to RUNNING first, which is how the service 991 // Progress the controller to RUNNING first, which is how the service
965 // determines whether a type is enabled. 992 // determines whether a type is enabled.
966 controller->StartAssociating(base::Bind(&DoNothing)); 993 controller->StartAssociating(base::Bind(&DoNothing));
967 controller->FinishStart(DataTypeController::OK_FIRST_RUN); 994 controller->FinishStart(DataTypeController::OK_FIRST_RUN);
968 service()->RegisterDataTypeController(std::move(controller)); 995 service()->RegisterDataTypeController(std::move(controller));
969 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); 996 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate());
970 } 997 }
971 998
972 } // namespace 999 } // namespace
973 } // namespace browser_sync 1000 } // namespace browser_sync
OLDNEW
« no previous file with comments | « components/browser_sync/profile_sync_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698