| Index: chrome/test/live_sync/migration_errors_test.cc
|
| diff --git a/chrome/test/live_sync/migration_errors_test.cc b/chrome/test/live_sync/migration_errors_test.cc
|
| index 57420c54642a8d22d89610a95b78c691efeef699..49575219ed9f954a6050d0d5abfccd7369fafad8 100644
|
| --- a/chrome/test/live_sync/migration_errors_test.cc
|
| +++ b/chrome/test/live_sync/migration_errors_test.cc
|
| @@ -2,23 +2,23 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chrome/browser/bookmarks/bookmark_model.h"
|
| #include "chrome/browser/prefs/scoped_user_pref_update.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sync/profile_sync_service_harness.h"
|
| #include "chrome/browser/translate/translate_prefs.h"
|
| #include "chrome/common/pref_names.h"
|
| -#include "chrome/test/live_sync/live_preferences_sync_test.h"
|
| +#include "chrome/test/live_sync/live_sync_test.h"
|
| +#include "chrome/test/live_sync/bookmarks_helper.h"
|
| +#include "chrome/test/live_sync/preferences_helper.h"
|
| #include "chrome/test/ui_test_utils.h"
|
|
|
| -// TODO(nick): In this file, we want to test multiple datatypes, but the test
|
| -// framework only allows us access to the helper methods of whichever parent
|
| -// class we pick. We should move away from inheritance, and make this a
|
| -// TwoClientLiveSyncTest that uses methods currently found in PreferencesSync
|
| -// and BookmarksSync code. We ought to be able to check for profile equality
|
| -// on all datatypes.
|
| -class MigrationErrorsTest : public TwoClientLivePreferencesSyncTest {
|
| +class MigrationErrorsTest : public LiveSyncTest {
|
| + public:
|
| + MigrationErrorsTest() : LiveSyncTest(TWO_CLIENT) {}
|
| + virtual ~MigrationErrorsTest() {}
|
|
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(MigrationErrorsTest);
|
| };
|
|
|
| // Easiest possible test of migration errors: triggers a server migration on
|
| @@ -30,48 +30,28 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, MigratePrefsThenModifyBookmark) {
|
| }
|
|
|
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
| - ASSERT_EQ(GetPrefs(0)->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
|
|
| // Phase 1: Before migrating anything, create & sync a preference.
|
| - bool new_kShowHomeButton = !GetVerifierPrefs()->GetBoolean(
|
| - prefs::kShowHomeButton);
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
|
|
| // Phase 2: Trigger a preference migration on the server.
|
| syncable::ModelTypeSet migrate_types;
|
| migrate_types.insert(syncable::PREFERENCES);
|
| TriggerMigrationDoneError(migrate_types);
|
|
|
| - // Phase 3: Modify a bookmark and await quiescence.
|
| - Profile* p = GetProfile(0);
|
| - p->GetBookmarkModel()->AddURL(p->GetBookmarkModel()->other_node(),
|
| - 0, ASCIIToUTF16("nudge"), GURL("http://nudge.net"));
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| + // Phase 3: Modify a bookmark and wait for it to sync.
|
| + ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(0),
|
| + GURL(BookmarksHelper::IndexedURL(0))) != NULL);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
|
|
| // Phase 4: Verify that preferences can still be synchronized.
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| -
|
| - new_kShowHomeButton = !new_kShowHomeButton;
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| }
|
|
|
| // Triggers a server migration on two datatypes, then makes a local
|
| @@ -84,20 +64,12 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest,
|
| }
|
|
|
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
| - ASSERT_EQ(GetPrefs(0)->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
|
|
| // Phase 1: Before migrating anything, create & sync a preference.
|
| - bool new_kShowHomeButton = !GetVerifierPrefs()->GetBoolean(
|
| - prefs::kShowHomeButton);
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
|
|
| // Phase 2: Trigger a migration on the server.
|
| syncable::ModelTypeSet migrate_types;
|
| @@ -105,27 +77,16 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest,
|
| migrate_types.insert(syncable::BOOKMARKS);
|
| TriggerMigrationDoneError(migrate_types);
|
|
|
| - // Phase 3: Modify a bookmark and await quiescence.
|
| - Profile* p = GetProfile(0);
|
| - p->GetBookmarkModel()->AddURL(p->GetBookmarkModel()->other_node(),
|
| - 0, ASCIIToUTF16("nudge"), GURL("http://nudge.net"));
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| + // Phase 3: Modify a bookmark and wait for it to sync.
|
| + ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(0),
|
| + GURL(BookmarksHelper::IndexedURL(0))) != NULL);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
|
|
| // Phase 4: Verify that preferences can still be synchronized.
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| -
|
| - new_kShowHomeButton = !new_kShowHomeButton;
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| }
|
|
|
| // Migrate every datatype in sequence; the catch being that the server
|
| @@ -137,20 +98,12 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, MigrationHellWithoutNigori) {
|
| }
|
|
|
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
| - ASSERT_EQ(GetPrefs(0)->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
|
|
| // Phase 1: Before migrating anything, create & sync a preference.
|
| - bool new_kShowHomeButton = !GetVerifierPrefs()->GetBoolean(
|
| - prefs::kShowHomeButton);
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
|
|
| // Phase 2: Queue up a horrendous number of migrations on the server.
|
| // Let the first nudge be a datatype that's neither prefs nor bookmarks.
|
| @@ -167,52 +120,31 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, MigrationHellWithoutNigori) {
|
| TriggerMigrationDoneError(migrate_types);
|
| }
|
|
|
| - // Phase 3: Modify a bookmark and await quiescence.
|
| - Profile* p = GetProfile(0);
|
| - p->GetBookmarkModel()->AddURL(p->GetBookmarkModel()->other_node(),
|
| - 0, ASCIIToUTF16("nudge"), GURL("http://nudge.net"));
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| + // Phase 3: Modify a bookmark and wait for it to sync.
|
| + ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(0),
|
| + GURL(BookmarksHelper::IndexedURL(0))) != NULL);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
|
|
| // Phase 4: Verify that preferences can still be synchronized.
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| -
|
| - new_kShowHomeButton = !new_kShowHomeButton;
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(TwoClientLivePreferencesSyncTest,
|
| - MigrationHellWithNigori) {
|
| +IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, MigrationHellWithNigori) {
|
| if (!ServerSupportsErrorTriggering()) {
|
| LOG(WARNING) << "Test skipped in this server environment.";
|
| return;
|
| }
|
|
|
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
| - ASSERT_EQ(GetPrefs(0)->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
|
|
| // Phase 1: Before migrating anything, create & sync a preference.
|
| - bool new_kShowHomeButton = !GetVerifierPrefs()->GetBoolean(
|
| - prefs::kShowHomeButton);
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
|
|
| // Phase 2: Queue up a horrendous number of migrations on the server.
|
| // Let the first nudge be a datatype that's neither prefs nor bookmarks.
|
| @@ -230,27 +162,14 @@ IN_PROC_BROWSER_TEST_F(TwoClientLivePreferencesSyncTest,
|
| TriggerMigrationDoneError(migrate_types);
|
| }
|
|
|
| - // Phase 3: modify a bookmark and wait for quiescence.
|
| - Profile* p = GetProfile(0);
|
| - p->GetBookmarkModel()->AddURL(p->GetBookmarkModel()->other_node(),
|
| - 0, ASCIIToUTF16("nudge"), GURL("http://nudge.net"));
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| + // Phase 3: Modify a bookmark and wait for it to sync.
|
| + ASSERT_TRUE(BookmarksHelper::AddURL(0, BookmarksHelper::IndexedURLTitle(0),
|
| + GURL(BookmarksHelper::IndexedURL(0))) != NULL);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
|
|
| // Phase 4: Verify that preferences can still be synchronized.
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| -
|
| - new_kShowHomeButton = !new_kShowHomeButton;
|
| - GetVerifierPrefs()->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - GetPrefs(0)->SetBoolean(prefs::kShowHomeButton, new_kShowHomeButton);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(0)->GetBoolean(prefs::kShowHomeButton));
|
| - ASSERT_EQ(GetVerifierPrefs()->GetBoolean(prefs::kShowHomeButton),
|
| - GetPrefs(1)->GetBoolean(prefs::kShowHomeButton));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| + PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton);
|
| + ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
|
| + ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton));
|
| }
|
| -
|
|
|