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)); |
} |
- |