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..98fd8a13125ba3475b196ea6fd68475ecc67b94d 100644 |
--- a/chrome/test/live_sync/migration_errors_test.cc |
+++ b/chrome/test/live_sync/migration_errors_test.cc |
@@ -8,17 +8,21 @@ |
#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/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 { |
+// TODO(rsimha): This class only uses PreferencesHelper. Make it use |
+// BookmarksHelper too. |
+class MigrationErrorsTest : public LiveSyncTest { |
+ public: |
+ MigrationErrorsTest() : LiveSyncTest(TWO_CLIENT) { |
+ PreferencesHelper::AssociateWithTest(this); |
+ } |
+ virtual ~MigrationErrorsTest() {} |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(MigrationErrorsTest); |
}; |
// Easiest possible test of migration errors: triggers a server migration on |
@@ -30,21 +34,14 @@ 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(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton)); |
+ PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton); |
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
+ ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::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)); |
- |
// Phase 2: Trigger a preference migration on the server. |
syncable::ModelTypeSet migrate_types; |
migrate_types.insert(syncable::PREFERENCES); |
@@ -58,20 +55,10 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, MigratePrefsThenModifyBookmark) { |
ASSERT_TRUE(AwaitQuiescence()); |
// 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,21 +71,14 @@ 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(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton)); |
+ PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton); |
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
+ ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::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)); |
- |
// Phase 2: Trigger a migration on the server. |
syncable::ModelTypeSet migrate_types; |
migrate_types.insert(syncable::PREFERENCES); |
@@ -112,20 +92,10 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, |
ASSERT_TRUE(AwaitQuiescence()); |
// 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,21 +107,14 @@ 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(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton)); |
+ PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton); |
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
+ ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::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)); |
- |
// 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. |
syncable::ModelTypeSet migrate_themes; |
@@ -175,47 +138,29 @@ IN_PROC_BROWSER_TEST_F(MigrationErrorsTest, MigrationHellWithoutNigori) { |
ASSERT_TRUE(AwaitQuiescence()); |
// 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(PreferencesHelper::BooleanPrefMatches(prefs::kShowHomeButton)); |
+ PreferencesHelper::ChangeBooleanPref(0, prefs::kShowHomeButton); |
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
+ ASSERT_TRUE(PreferencesHelper::BooleanPrefMatches(prefs::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)); |
- |
// 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. |
syncable::ModelTypeSet migrate_themes; |
@@ -240,19 +185,8 @@ IN_PROC_BROWSER_TEST_F(TwoClientLivePreferencesSyncTest, |
ASSERT_TRUE(AwaitQuiescence()); |
// 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)); |
} |
- |