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 <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 Loading... |
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 Loading... |
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 |
OLD | NEW |