Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Unified Diff: chrome/test/live_sync/migration_errors_test.cc

Issue 7259005: Allow sync integration tests to operate on multiple datatypes: Preferences + Bookmarks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add BookmarksHelper class. (TODO: Trim lines to 80 chars) Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 cd0d2731e7b7f7da7054de302d2a66be59508ca3..a952c891470579945bf706f4af94b5fcdc272bb0 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,54 +120,33 @@ 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));
}
// Fails because the client doesn't know how to not sync NIGORI.
// TODO(timsteele): Fix http://crbug.com/80333 and re-enable.
-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.
@@ -232,27 +164,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));
}
-

Powered by Google App Engine
This is Rietveld 408576698