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) { ...@@ -138,9 +138,10 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, AutofillCounter) {
syncer::UserSelectableTypes(); syncer::UserSelectableTypes();
everything_except_autofill.Remove(syncer::AUTOFILL); everything_except_autofill.Remove(syncer::AUTOFILL);
auto sync_blocker = sync_service->GetSetupInProgressHandle(); auto sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(
everything_except_autofill); /*sync_everything=*/false, everything_except_autofill);
ASSERT_FALSE(sync_service->GetPreferredDataTypes().Has(syncer::AUTOFILL)); ASSERT_FALSE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::AUTOFILL));
sync_blocker.reset(); sync_blocker.reset();
WaitForCounting(); WaitForCounting();
ASSERT_FALSE(sync_service->GetActiveDataTypes().Has(syncer::AUTOFILL)); ASSERT_FALSE(sync_service->GetActiveDataTypes().Has(syncer::AUTOFILL));
...@@ -149,20 +150,21 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, AutofillCounter) { ...@@ -149,20 +150,21 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, AutofillCounter) {
// If autofill sync is not affected, the counter is not restarted. // If autofill sync is not affected, the counter is not restarted.
syncer::ModelTypeSet only_history(syncer::TYPED_URLS); syncer::ModelTypeSet only_history(syncer::TYPED_URLS);
sync_blocker = sync_service->GetSetupInProgressHandle(); 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(); sync_blocker.reset();
EXPECT_FALSE(CountingFinishedSinceLastAsked()); EXPECT_FALSE(CountingFinishedSinceLastAsked());
// We start syncing autofill again. This restarts the counter. // We start syncing autofill again. This restarts the counter.
sync_blocker = sync_service->GetSetupInProgressHandle(); sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(
syncer::UserSelectableTypes()); /*sync_everything=*/false, syncer::UserSelectableTypes());
sync_blocker.reset(); sync_blocker.reset();
WaitForCounting(); WaitForCounting();
EXPECT_TRUE(IsSyncEnabled()); EXPECT_TRUE(IsSyncEnabled());
// Stopping the Sync service triggers a restart. // Stopping the Sync service triggers a restart.
sync_service->RequestStop(syncer::SyncService::CLEAR_DATA); sync_service->GetUserSettings()->SetSyncRequested(false);
WaitForCounting(); WaitForCounting();
EXPECT_FALSE(IsSyncEnabled()); EXPECT_FALSE(IsSyncEnabled());
} }
...@@ -191,7 +193,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) { ...@@ -191,7 +193,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) {
// syncing passwords, and this should restart the counter. // syncing passwords, and this should restart the counter.
ASSERT_TRUE(SetupSync()); ASSERT_TRUE(SetupSync());
ASSERT_TRUE(sync_service->IsSyncFeatureActive()); ASSERT_TRUE(sync_service->IsSyncFeatureActive());
ASSERT_TRUE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS)); ASSERT_TRUE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
WaitForCounting(); WaitForCounting();
EXPECT_TRUE(IsSyncEnabled()); EXPECT_TRUE(IsSyncEnabled());
...@@ -206,7 +209,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) { ...@@ -206,7 +209,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) {
GetClient(kFirstProfileIndex) GetClient(kFirstProfileIndex)
->AwaitSyncSetupCompletion(/*skip_passphrase_verification=*/false)); ->AwaitSyncSetupCompletion(/*skip_passphrase_verification=*/false));
WaitForCounting(); 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. // We stop syncing passwords in particular. This restarts the counter.
...@@ -214,32 +218,36 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) { ...@@ -214,32 +218,36 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, PasswordCounter) {
syncer::UserSelectableTypes(); syncer::UserSelectableTypes();
everything_except_passwords.Remove(syncer::PASSWORDS); everything_except_passwords.Remove(syncer::PASSWORDS);
auto sync_blocker = sync_service->GetSetupInProgressHandle(); auto sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(
everything_except_passwords); /*sync_everything=*/false, everything_except_passwords);
ASSERT_FALSE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS)); ASSERT_FALSE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
sync_blocker.reset(); sync_blocker.reset();
WaitForCounting(); WaitForCounting();
ASSERT_FALSE(sync_service->GetPreferredDataTypes().Has(syncer::PASSWORDS)); ASSERT_FALSE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::PASSWORDS));
EXPECT_FALSE(IsSyncEnabled()); EXPECT_FALSE(IsSyncEnabled());
// If password sync is not affected, the counter is not restarted. // If password sync is not affected, the counter is not restarted.
syncer::ModelTypeSet only_history(syncer::TYPED_URLS); 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_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_history); sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_history);
sync_blocker.reset(); sync_blocker.reset();
EXPECT_FALSE(CountingFinishedSinceLastAsked()); EXPECT_FALSE(CountingFinishedSinceLastAsked());
// We start syncing passwords again. This restarts the counter. // We start syncing passwords again. This restarts the counter.
sync_blocker = sync_service->GetSetupInProgressHandle(); sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(
syncer::UserSelectableTypes()); /*sync_everything=*/false, syncer::UserSelectableTypes());
sync_blocker.reset(); sync_blocker.reset();
WaitForCounting(); WaitForCounting();
EXPECT_TRUE(IsSyncEnabled()); EXPECT_TRUE(IsSyncEnabled());
// Stopping the Sync service triggers a restart. // Stopping the Sync service triggers a restart.
sync_service->RequestStop(syncer::SyncService::CLEAR_DATA); sync_service->GetUserSettings()->SetSyncRequested(false);
WaitForCounting(); WaitForCounting();
EXPECT_FALSE(IsSyncEnabled()); EXPECT_FALSE(IsSyncEnabled());
} }
...@@ -271,8 +279,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) { ...@@ -271,8 +279,8 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
// syncing history deletion, and this should restart the counter. // syncing history deletion, and this should restart the counter.
ASSERT_TRUE(SetupSync()); ASSERT_TRUE(SetupSync());
ASSERT_TRUE(sync_service->IsSyncFeatureActive()); ASSERT_TRUE(sync_service->IsSyncFeatureActive());
ASSERT_TRUE(sync_service->GetPreferredDataTypes().Has( ASSERT_TRUE(sync_service->GetUserSettings()->GetChosenDataTypes().Has(
syncer::HISTORY_DELETE_DIRECTIVES)); syncer::TYPED_URLS));
ASSERT_TRUE(sync_service->GetActiveDataTypes().Has( ASSERT_TRUE(sync_service->GetActiveDataTypes().Has(
syncer::HISTORY_DELETE_DIRECTIVES)); syncer::HISTORY_DELETE_DIRECTIVES));
...@@ -299,17 +307,19 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) { ...@@ -299,17 +307,19 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
syncer::UserSelectableTypes(); syncer::UserSelectableTypes();
everything_except_history.Remove(syncer::TYPED_URLS); everything_except_history.Remove(syncer::TYPED_URLS);
auto sync_blocker = sync_service->GetSetupInProgressHandle(); auto sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(
everything_except_history); /*sync_everything=*/false, everything_except_history);
sync_blocker.reset(); sync_blocker.reset();
WaitForCounting(); WaitForCounting();
EXPECT_FALSE(IsSyncEnabled()); EXPECT_FALSE(IsSyncEnabled());
// If the history deletion sync is not affected, the counter is not restarted. // If the history deletion sync is not affected, the counter is not restarted.
syncer::ModelTypeSet only_passwords(syncer::PASSWORDS); 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_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, only_passwords); sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
only_passwords);
sync_blocker.reset(); sync_blocker.reset();
EXPECT_FALSE(counter.HasTrackedTasks()); EXPECT_FALSE(counter.HasTrackedTasks());
EXPECT_FALSE(CountingFinishedSinceLastAsked()); EXPECT_FALSE(CountingFinishedSinceLastAsked());
...@@ -318,16 +328,16 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) { ...@@ -318,16 +328,16 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
syncer::ModelTypeSet autofill_and_passwords(syncer::AUTOFILL, syncer::ModelTypeSet autofill_and_passwords(syncer::AUTOFILL,
syncer::PASSWORDS); syncer::PASSWORDS);
sync_blocker = sync_service->GetSetupInProgressHandle(); sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(/*sync_everything=*/false,
autofill_and_passwords); autofill_and_passwords);
sync_blocker.reset(); sync_blocker.reset();
EXPECT_FALSE(counter.HasTrackedTasks()); EXPECT_FALSE(counter.HasTrackedTasks());
EXPECT_FALSE(CountingFinishedSinceLastAsked()); EXPECT_FALSE(CountingFinishedSinceLastAsked());
// We start syncing history deletion again. This restarts the counter. // We start syncing history deletion again. This restarts the counter.
sync_blocker = sync_service->GetSetupInProgressHandle(); sync_blocker = sync_service->GetSetupInProgressHandle();
sync_service->OnUserChoseDatatypes(/*sync_everything=*/false, sync_service->GetUserSettings()->SetChosenDataTypes(
syncer::UserSelectableTypes()); /*sync_everything=*/false, syncer::UserSelectableTypes());
sync_blocker.reset(); sync_blocker.reset();
WaitForCounting(); WaitForCounting();
EXPECT_TRUE(IsSyncEnabled()); EXPECT_TRUE(IsSyncEnabled());
...@@ -339,7 +349,7 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) { ...@@ -339,7 +349,7 @@ IN_PROC_BROWSER_TEST_F(SyncAwareCounterTest, HistoryCounter) {
// active again. // active again.
// Stopping the Sync service triggers a restart. // Stopping the Sync service triggers a restart.
sync_service->RequestStop(syncer::SyncService::CLEAR_DATA); sync_service->GetUserSettings()->SetSyncRequested(false);
WaitForCounting(); WaitForCounting();
EXPECT_FALSE(IsSyncEnabled()); 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