Commit 964018d0 authored by James Cook's avatar James Cook Committed by Commit Bot

cros: Fix components_unittests when SplitSettingsSync is enabled

Fix the tests in anticipation of enabling the feature by default.
The tricky bit is that UserSelectableType::kApps isn't used on Chrome OS
when the feature is enabled, but it is still part of
UserSelectableTypeSet::All(). Update the tests to use the registered
selectable types, which is closer to what the production code does.

Test: components_unittests --enable-features=SplitSettingsSync
Bug: 1060289
Change-Id: I16d4f119c1daa1cb51f2b9a35ea247beec75ece9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2101722
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Auto-Submit: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750599}
parent 0a4fbe22
...@@ -137,7 +137,10 @@ TEST_F(SyncUserSettingsTest, PreferredTypesSyncEverything) { ...@@ -137,7 +137,10 @@ TEST_F(SyncUserSettingsTest, PreferredTypesSyncEverything) {
ModelTypeSet expected_types = GetUserTypes(); ModelTypeSet expected_types = GetUserTypes();
EXPECT_TRUE(sync_user_settings->IsSyncEverythingEnabled()); EXPECT_TRUE(sync_user_settings->IsSyncEverythingEnabled());
EXPECT_EQ(expected_types, GetPreferredUserTypes(*sync_user_settings)); EXPECT_EQ(expected_types, GetPreferredUserTypes(*sync_user_settings));
for (UserSelectableType type : UserSelectableTypeSet::All()) {
UserSelectableTypeSet all_registered_types =
sync_user_settings->GetRegisteredSelectableTypes();
for (UserSelectableType type : all_registered_types) {
sync_user_settings->SetSelectedTypes(/*sync_everything=*/true, sync_user_settings->SetSelectedTypes(/*sync_everything=*/true,
/*selected_type=*/{type}); /*selected_type=*/{type});
EXPECT_EQ(expected_types, GetPreferredUserTypes(*sync_user_settings)); EXPECT_EQ(expected_types, GetPreferredUserTypes(*sync_user_settings));
...@@ -169,9 +172,24 @@ TEST_F(SyncUserSettingsTest, PreferredTypesNotKeepEverythingSynced) { ...@@ -169,9 +172,24 @@ TEST_F(SyncUserSettingsTest, PreferredTypesNotKeepEverythingSynced) {
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*sync_everything=*/false, /*sync_everything=*/false,
/*selected_types=*/UserSelectableTypeSet()); /*selected_types=*/UserSelectableTypeSet());
ASSERT_NE(GetUserTypes(), GetPreferredUserTypes(*sync_user_settings)); #if defined(OS_CHROMEOS)
if (chromeos::features::IsSplitSettingsSyncEnabled()) {
// GetPreferredUserTypes() returns ModelTypes, which includes both browser
// and OS types. However, this test exercises browser UserSelectableTypes,
// so disable OS selectable types.
// This test only exercises browser types, so disable all OS types.
sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
UserSelectableOsTypeSet());
}
#endif // defined(OS_CHROMEOS)
// No user selectable types are enabled, so only the "always preferred" types
// are preferred.
ASSERT_EQ(AlwaysPreferredUserTypes(),
GetPreferredUserTypes(*sync_user_settings));
for (UserSelectableType type : UserSelectableTypeSet::All()) { UserSelectableTypeSet all_registered_types =
sync_user_settings->GetRegisteredSelectableTypes();
for (UserSelectableType type : all_registered_types) {
ModelTypeSet expected_preferred_types = ModelTypeSet expected_preferred_types =
UserSelectableTypeToAllModelTypes(type); UserSelectableTypeToAllModelTypes(type);
expected_preferred_types.PutAll(AlwaysPreferredUserTypes()); expected_preferred_types.PutAll(AlwaysPreferredUserTypes());
...@@ -218,14 +236,19 @@ TEST_F(SyncUserSettingsTest, DeviceInfo) { ...@@ -218,14 +236,19 @@ TEST_F(SyncUserSettingsTest, DeviceInfo) {
std::unique_ptr<SyncUserSettingsImpl> sync_user_settings = std::unique_ptr<SyncUserSettingsImpl> sync_user_settings =
MakeSyncUserSettings(GetUserTypes()); MakeSyncUserSettings(GetUserTypes());
EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(DEVICE_INFO)); EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(DEVICE_INFO));
UserSelectableTypeSet all_registered_types =
sync_user_settings->GetRegisteredSelectableTypes();
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*keep_everything_synced=*/true, /*keep_everything_synced=*/true,
/*selected_types=*/UserSelectableTypeSet::All()); /*selected_types=*/all_registered_types);
EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(DEVICE_INFO)); EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(DEVICE_INFO));
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*keep_everything_synced=*/false, /*keep_everything_synced=*/false,
/*selected_types=*/UserSelectableTypeSet::All()); /*selected_types=*/all_registered_types);
EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(DEVICE_INFO)); EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(DEVICE_INFO));
sync_user_settings = MakeSyncUserSettings(ModelTypeSet(DEVICE_INFO)); sync_user_settings = MakeSyncUserSettings(ModelTypeSet(DEVICE_INFO));
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*keep_everything_synced=*/false, /*keep_everything_synced=*/false,
...@@ -238,14 +261,19 @@ TEST_F(SyncUserSettingsTest, UserConsents) { ...@@ -238,14 +261,19 @@ TEST_F(SyncUserSettingsTest, UserConsents) {
std::unique_ptr<SyncUserSettingsImpl> sync_user_settings = std::unique_ptr<SyncUserSettingsImpl> sync_user_settings =
MakeSyncUserSettings(GetUserTypes()); MakeSyncUserSettings(GetUserTypes());
EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(USER_CONSENTS)); EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(USER_CONSENTS));
UserSelectableTypeSet all_registered_types =
sync_user_settings->GetRegisteredSelectableTypes();
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*keep_everything_synced=*/true, /*keep_everything_synced=*/true,
/*selected_types=*/UserSelectableTypeSet::All()); /*selected_types=*/all_registered_types);
EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(USER_CONSENTS)); EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(USER_CONSENTS));
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*keep_everything_synced=*/false, /*keep_everything_synced=*/false,
/*selected_types=*/UserSelectableTypeSet::All()); /*selected_types=*/all_registered_types);
EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(USER_CONSENTS)); EXPECT_TRUE(sync_user_settings->GetPreferredDataTypes().Has(USER_CONSENTS));
sync_user_settings = MakeSyncUserSettings(ModelTypeSet(USER_CONSENTS)); sync_user_settings = MakeSyncUserSettings(ModelTypeSet(USER_CONSENTS));
sync_user_settings->SetSelectedTypes( sync_user_settings->SetSelectedTypes(
/*keep_everything_synced=*/false, /*keep_everything_synced=*/false,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment