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..f542c4ae4655e8dde630a8282873c7ca7a45cca1 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::AddURL; |
+using bookmarks_helper::IndexedURL; |
+using bookmarks_helper::IndexedURLTitle; |
class TwoClientAutofillSyncTest : public SyncTest { |
public: |
- TwoClientAutofillSyncTest() : SyncTest(TWO_CLIENT) {} |
+ TwoClientAutofillSyncTest() : SyncTest(TWO_CLIENT) { count = 0; } |
virtual ~TwoClientAutofillSyncTest() {} |
+ // 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. |
+ void MakeABookmarkChange(int profile) { |
+ ASSERT_TRUE( |
+ AddURL(profile, IndexedURLTitle(count), GURL(IndexedURL(count)))); |
+ ++count; |
+ } |
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)); |
} |