| 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 |