Commit 1b9d7ea2 authored by Marc Treib's avatar Marc Treib Committed by Commit Bot

Migrate SyncAwareCounterTest to SyncUserSettings

SyncUserSettings is a new class that encapsulates all the
user-configurable knobs for Sync. It replaces a bunch of setters
and getters directly on the SyncService.

Bug: 884159
Change-Id: Ifead457dd109d648285b97217274370d1f25ef36
Reviewed-on: https://chromium-review.googlesource.com/c/1339873Reviewed-by: default avatarMartin Šrámek <msramek@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609292}
parent 50069dbe
......@@ -138,9 +138,10 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, AutofillCounter) {
syncer::UserSelectableTypes();
everything_except_autofill.Remove(syncer::AUTOFILL);
auto sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
everything_except_autofill);
ASSERT_FALSE(sync_service->GetPreferredDataTypes().Has(syncer::AUTOFILL));
sync_service->GetUserSettings()->SetChosenDataTypes(
/*sync_everything=*/false, everything_except_autofill);
ASSERT_FALSE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::AUTOFILL));
sync_blocker.reset();
WaitForCounting();
ASSERT_FALSE(sync_service->GetActiveDataTypes().Has(syncer::AUTOFILL));
......@@ -149,20 +150,21 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, AutofillCounter) {
// If autofill sync is not affected, the counter is not restarted.
syncer::ModelTypeSet only_history(syncer::TYPED_URLS);
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_history);
sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_history);
sync_blocker.reset();
EXPECT_FALSE(CountingFinishedSinceLastAsked());
// We start syncing autofill again. This restarts the counter.
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
syncer::UserSelectableTypes());
sync_service->GetUserSettings()->SetChosenDataTypes(
/*sync_everything=*/false, syncer::UserSelectableTypes());
sync_blocker.reset();
WaitForCounting();
EXPECT_TRUE(IsSyncEnabled());
// Stopping the Sync service triggers a restart.
sync_service->RequestStop(syncer::SyncService::CLEAR_DATA);
sync_service->GetUserSettings()->SetSyncRequested(false);
WaitForCounting();
EXPECT_FALSE(IsSyncEnabled());
}
......@@ -191,7 +193,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) {
// syncing passwords, and this should restart the counter.
ASSERT_TRUE(SetupSync());
ASSERT_TRUE(sync_service->IsSyncFeatureActive());
ASSERT_TRUE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS));
ASSERT_TRUE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
WaitForCounting();
EXPECT_TRUE(IsSyncEnabled());
......@@ -206,7 +209,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) {
GetClient(kFirstProfileIndex)
->AwaitSyncSetupCompletion(/*skip_passphrase_verification=*/false));
WaitForCounting();
ASSERT_TRUE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS));
ASSERT_TRUE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
}
// We stop syncing passwords in particular. This restarts the counter.
......@@ -214,32 +218,36 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) {
syncer::UserSelectableTypes();
everything_except_passwords.Remove(syncer::PASSWORDS);
auto sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
everything_except_passwords);
ASSERT_FALSE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS));
sync_service->GetUserSettings()->SetChosenDataTypes(
/*sync_everything=*/false, everything_except_passwords);
ASSERT_FALSE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
sync_blocker.reset();
WaitForCounting();
ASSERT_FALSE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS));
ASSERT_FALSE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
EXPECT_FALSE(IsSyncEnabled());
// If password sync is not affected, the counter is not restarted.
syncer::ModelTypeSet only_history(syncer::TYPED_URLS);
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_history);
sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_history);
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_history);
sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_history);
sync_blocker.reset();
EXPECT_FALSE(CountingFinishedSinceLastAsked());
// We start syncing passwords again. This restarts the counter.
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
syncer::UserSelectableTypes());
sync_service->GetUserSettings()->SetChosenDataTypes(
/*sync_everything=*/false, syncer::UserSelectableTypes());
sync_blocker.reset();
WaitForCounting();
EXPECT_TRUE(IsSyncEnabled());
// Stopping the Sync service triggers a restart.
sync_service->RequestStop(syncer::SyncService::CLEAR_DATA);
sync_service->GetUserSettings()->SetSyncRequested(false);
WaitForCounting();
EXPECT_FALSE(IsSyncEnabled());
}
......@@ -271,8 +279,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
// syncing history deletion, and this should restart the counter.
ASSERT_TRUE(SetupSync());
ASSERT_TRUE(sync_service->IsSyncFeatureActive());
ASSERT_TRUE(sync_service->GetPreferredDataTypes().Has(
syncer::HISTORY_DELETE_DIRECTIVES));
ASSERT_TRUE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::TYPED_URLS));
ASSERT_TRUE(sync_service->GetActiveDataTypes().Has(
syncer::HISTORY_DELETE_DIRECTIVES));
......@@ -299,17 +307,19 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
syncer::UserSelectableTypes();
everything_except_history.Remove(syncer::TYPED_URLS);
auto sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
everything_except_history);
sync_service->GetUserSettings()->SetChosenDataTypes(
/*sync_everything=*/false, everything_except_history);
sync_blocker.reset();
WaitForCounting();
EXPECT_FALSE(IsSyncEnabled());
// If the history deletion sync is not affected, the counter is not restarted.
syncer::ModelTypeSet only_passwords(syncer::PASSWORDS);
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_passwords);
sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_passwords);
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_passwords);
sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_passwords);
sync_blocker.reset();
EXPECT_FALSE(counter.HasTrackedTasks());
EXPECT_FALSE(CountingFinishedSinceLastAsked());
......@@ -318,16 +328,16 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
syncer::ModelTypeSet autofill_and_passwords(syncer::AUTOFILL,
syncer::PASSWORDS);
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
autofill_and_passwords);
sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
autofill_and_passwords);
sync_blocker.reset();
EXPECT_FALSE(counter.HasTrackedTasks());
EXPECT_FALSE(CountingFinishedSinceLastAsked());
// We start syncing history deletion again. This restarts the counter.
sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
syncer::UserSelectableTypes());
sync_service->GetUserSettings()->SetChosenDataTypes(
/*sync_everything=*/false, syncer::UserSelectableTypes());
sync_blocker.reset();
WaitForCounting();
EXPECT_TRUE(IsSyncEnabled());
......@@ -339,7 +349,7 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
// active again.
// Stopping the Sync service triggers a restart.
sync_service->RequestStop(syncer::SyncService::CLEAR_DATA);
sync_service->GetUserSettings()->SetSyncRequested(false);
WaitForCounting();
EXPECT_FALSE(IsSyncEnabled());
}
......
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