Chromium Code Reviews| Index: chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc |
| diff --git a/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc b/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc |
| index ebe6e535599d5184a794471589f3e8bee21affd0..db89c7b63cd1d8cb8fb8b5536c0abd5539be9668 100644 |
| --- a/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc |
| +++ b/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc |
| @@ -6,6 +6,7 @@ |
| #include "chrome/browser/autofill/autofill_profile.h" |
| #include "chrome/browser/sync/profile_sync_service_harness.h" |
| #include "chrome/browser/sync/test/integration/autofill_helper.h" |
| +#include "chrome/browser/sync/test/integration/bookmarks_helper.h" |
| #include "chrome/browser/sync/test/integration/sync_test.h" |
| #include "chrome/browser/webdata/autofill_entry.h" |
| #include "chrome/browser/webdata/autofill_table.h" |
| @@ -24,13 +25,25 @@ using autofill_helper::PROFILE_NULL; |
| using autofill_helper::RemoveKey; |
| using autofill_helper::RemoveProfile; |
| using autofill_helper::UpdateProfile; |
| +using bookmarks_helper::AddFolder; |
| +using bookmarks_helper::SetTitle; |
| class TwoClientAutofillSyncTest : public SyncTest { |
| public: |
| TwoClientAutofillSyncTest() : SyncTest(TWO_CLIENT) {} |
| - virtual ~TwoClientAutofillSyncTest() {} |
| - |
| + virtual ~TwoClientAutofillSyncTest() {count = 0;} |
| + |
| + // We do this so as to make a change that will trigger the autofill to sync. |
| + // By default autofill does not sync unless there is some other change. |
|
Raghu Simha
2011/12/17 00:19:39
Curious: Instead of calling this function, why not
|
| + void MakeABookmarkChange(int profile) { |
| + std::wstring title = L"title" + count; |
| + std::wstring new_title = L"new_title" + count; |
| + ++count; |
| + const BookmarkNode* node1 = AddFolder(profile, 0, title); |
| + SetTitle(profile, node1, new_title); |
| + } |
| private: |
| + int count; |
| DISALLOW_COPY_AND_ASSIGN(TwoClientAutofillSyncTest); |
| }; |
| @@ -42,6 +55,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, FLAKY_WebDataServiceSanity) { |
| std::set<AutofillKey> keys; |
| keys.insert(AutofillKey("name0", "value0")); |
| AddKeys(0, keys); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(KeysMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllKeys(0).size()); |
| @@ -50,6 +64,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, FLAKY_WebDataServiceSanity) { |
| keys.clear(); |
| keys.insert(AutofillKey("name1", "value1-0")); |
| AddKeys(1, keys); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| ASSERT_TRUE(KeysMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllKeys(0).size()); |
| @@ -58,12 +73,14 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, FLAKY_WebDataServiceSanity) { |
| keys.clear(); |
| keys.insert(AutofillKey("name1", "value1-1")); |
| AddKeys(0, keys); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(KeysMatch(0, 1)); |
| ASSERT_EQ(3U, GetAllKeys(0).size()); |
| // Client1 removes a key. |
| RemoveKey(1, AutofillKey("name1", "value1-0")); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| ASSERT_TRUE(KeysMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllKeys(0).size()); |
| @@ -71,6 +88,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, FLAKY_WebDataServiceSanity) { |
| // Client0 removes the rest. |
| RemoveKey(0, AutofillKey("name0", "value0")); |
| RemoveKey(0, AutofillKey("name1", "value1-1")); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(KeysMatch(0, 1)); |
| ASSERT_EQ(0U, GetAllKeys(0).size()); |
| @@ -131,24 +149,28 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, |
| // Client0 adds a profile. |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| // Client1 adds a profile. |
| AddProfile(1, CreateAutofillProfile(PROFILE_MARION)); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| // Client0 adds the same profile. |
| AddProfile(0, CreateAutofillProfile(PROFILE_MARION)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| // Client1 removes a profile. |
| RemoveProfile(1, GetAllProfiles(1)[0]->guid()); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -158,12 +180,14 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, |
| GetAllProfiles(0)[0]->guid(), |
| AutofillType(NAME_FIRST), |
| ASCIIToUTF16("Bart")); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| // Client1 removes remaining profile. |
| RemoveProfile(1, GetAllProfiles(1)[0]->guid()); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(0U, GetAllProfiles(0).size()); |
| @@ -212,6 +236,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddProfile) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -224,6 +249,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddMultipleProfiles) { |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| AddProfile(0, CreateAutofillProfile(PROFILE_MARION)); |
| AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(3U, GetAllProfiles(0).size()); |
| @@ -234,11 +260,13 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DeleteProfile) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| RemoveProfile(1, GetAllProfiles(1)[0]->guid()); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(0U, GetAllProfiles(0).size()); |
| @@ -262,6 +290,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, UpdateFields) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -274,6 +303,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, UpdateFields) { |
| GetAllProfiles(0)[0]->guid(), |
| AutofillType(EMAIL_ADDRESS), |
| ASCIIToUTF16("grrrl@TV.com")); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -284,6 +314,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ConflictingFields) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -291,10 +322,12 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ConflictingFields) { |
| GetAllProfiles(0)[0]->guid(), |
| AutofillType(NAME_FIRST), |
| ASCIIToUTF16("Lisa")); |
| + MakeABookmarkChange(0); |
| UpdateProfile(1, |
| GetAllProfiles(1)[0]->guid(), |
| AutofillType(NAME_FIRST), |
| ASCIIToUTF16("Bart")); |
| + MakeABookmarkChange(1); |
| ASSERT_TRUE(AwaitQuiescence()); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -305,18 +338,21 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DisableAutofill) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncable::AUTOFILL)); |
| AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(AwaitQuiescence()); |
| ASSERT_FALSE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| ASSERT_EQ(1U, GetAllProfiles(1).size()); |
| ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncable::AUTOFILL)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(AwaitQuiescence()); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| @@ -327,12 +363,14 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DisableSync) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); |
| AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Added a profile.")); |
| ASSERT_FALSE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| @@ -349,6 +387,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, MaxLength) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -371,6 +410,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, MaxLength) { |
| AutofillType(ADDRESS_HOME_LINE1), |
| max_length_string); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| } |
| @@ -379,6 +419,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ExceedsMaxLength) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_TRUE(ProfilesMatch(0, 1)); |
| ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| @@ -401,6 +442,7 @@ IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ExceedsMaxLength) { |
| AutofillType(ADDRESS_HOME_LINE1), |
| exceeds_max_length_string); |
| + MakeABookmarkChange(0); |
| ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| ASSERT_FALSE(ProfilesMatch(0, 1)); |
| } |