summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-11 00:18:20 +0000
committerrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-11 00:18:20 +0000
commit9c3ed7e5bdcb33d4c8a80d5c91c750452c5a057a (patch)
treed90eab133d8d343c3b66b56b3160e760586ec397 /chrome/test
parentcbe04ef2b51e5a666869235e2a49714057e523da (diff)
downloadchromium_src-9c3ed7e5bdcb33d4c8a80d5c91c750452c5a057a.zip
chromium_src-9c3ed7e5bdcb33d4c8a80d5c91c750452c5a057a.tar.gz
chromium_src-9c3ed7e5bdcb33d4c8a80d5c91c750452c5a057a.tar.bz2
Full refactor and rewrite of the autofill sync integration tests
The autofill sync integration tests were written more than a year ago, and are pretty badly out of date. In addition, the autofill test framework is crufty and adding new tests is not intuitive. The autofill sync code has recently undergone a major refactor, and so it is time to update the integration test code too. This patch contains a major update of the LiveAutofillSyncTest class and a rewrite of most of the autofill sync tests. BUG=62913, 60368 TEST=sync_integration_tests Review URL: http://codereview.chromium.org/6163001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70967 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/live_sync/live_autofill_sync_test.h227
-rw-r--r--chrome/test/live_sync/two_client_live_autofill_sync_test.cc603
2 files changed, 290 insertions, 540 deletions
diff --git a/chrome/test/live_sync/live_autofill_sync_test.h b/chrome/test/live_sync/live_autofill_sync_test.h
index 192b897..ae19d57 100644
--- a/chrome/test/live_sync/live_autofill_sync_test.h
+++ b/chrome/test/live_sync/live_autofill_sync_test.h
@@ -10,41 +10,21 @@
#include <set>
#include <vector>
-#include "base/command_line.h"
+#include "base/compiler_specific.h"
#include "chrome/browser/autofill/autofill_common_test.h"
#include "chrome/browser/autofill/autofill_profile.h"
#include "chrome/browser/autofill/autofill_type.h"
-#include "chrome/browser/autofill/field_types.h"
#include "chrome/browser/autofill/personal_data_manager.h"
-#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/profile_sync_test_util.h"
-#include "chrome/browser/ui/browser.h"
#include "chrome/browser/webdata/autofill_entry.h"
-#include "chrome/common/chrome_switches.h"
#include "chrome/test/live_sync/live_sync_test.h"
#include "chrome/test/thread_observer_helper.h"
using base::WaitableEvent;
using testing::_;
-// Define these << operators so we can use EXPECT_EQ with the
-// AutofillKeys type.
-template<class T1, class T2, class T3>
-static std::ostream& operator<<(
- std::ostream& os, const std::set<T1, T2, T3>& seq) {
- typedef typename std::set<T1, T2, T3>::const_iterator SetConstIterator;
- for (SetConstIterator i = seq.begin(); i != seq.end(); ++i) {
- os << *i << ", ";
- }
- return os;
-}
-
-static std::ostream& operator<<(std::ostream& os, const AutofillKey& key) {
- return os << UTF16ToUTF8(key.name()) << ", " << UTF16ToUTF8(key.value());
-}
-
namespace {
class GetAllAutofillEntries
: public base::RefCountedThreadSafe<GetAllAutofillEntries> {
@@ -103,30 +83,39 @@ enum ProfileType {
PROFILE_NULL
};
-void FillProfile(ProfileType type, AutoFillProfile* profile) {
+AutoFillProfile CreateAutofillProfile(ProfileType type) {
+ AutoFillProfile profile;
switch (type) {
case PROFILE_MARION:
- autofill_test::SetProfileInfo(profile,
- "Billing", "Marion", "Mitchell", "Morrison",
- "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA",
- "91601", "US", "12345678910", "01987654321");
+ autofill_test::SetProfileInfoWithGuid(&profile,
+ "C837507A-6C3B-4872-AC14-5113F157D668",
+ "Marion", "Mitchell", "Morrison",
+ "johnwayne@me.xyz", "Fox",
+ "123 Zoo St.", "unit 5", "Hollywood", "CA",
+ "91601", "US", "12345678910", "01987654321");
break;
case PROFILE_HOMER:
- autofill_test::SetProfileInfo(profile,
- "Shipping", "Homer", "J.", "Simpson",
- "homer@snpp.com", "SNPP", "1 Main St", "PO Box 1", "Springfield", "MA",
- "94101", "US", "14155551212", "14155551313");
+ autofill_test::SetProfileInfoWithGuid(&profile,
+ "137DE1C3-6A30-4571-AC86-109B1ECFBE7F",
+ "Homer", "J.", "Simpson",
+ "homer@abc.com", "SNPP",
+ "1 Main St", "PO Box 1", "Springfield", "MA",
+ "94101", "US", "14155551212", "14155551313");
break;
case PROFILE_FRASIER:
- autofill_test::SetProfileInfo(profile,
- "Business", "Frasier", "Winslow", "Crane",
- "", "randomness", "", "Apt. 4", "Seattle", "WA",
- "99121", "US", "0000000000", "ABCDEFGHIJK");
+ autofill_test::SetProfileInfoWithGuid(&profile,
+ "9A5E6872-6198-4688-BF75-0016E781BB0A",
+ "Frasier", "Winslow", "Crane",
+ "", "randomness", "", "Apt. 4", "Seattle", "WA",
+ "99121", "US", "0000000000", "ABCDEFGHIJK");
+ break;
case PROFILE_NULL:
- autofill_test::SetProfileInfo(profile,
- "", "key", "", "", "", "", "", "", "", "", "", "", "", "");
+ autofill_test::SetProfileInfoWithGuid(&profile,
+ "FE461507-7E13-4198-8E66-74C7DB6D8322",
+ "", "", "", "", "", "", "", "", "", "", "", "", "");
break;
}
+ return profile;
}
class MockPersonalDataManagerObserver : public PersonalDataManager::Observer {
@@ -138,38 +127,32 @@ class MockPersonalDataManagerObserver : public PersonalDataManager::Observer {
class LiveAutofillSyncTest : public LiveSyncTest {
public:
- typedef std::set<AutofillKey> AutofillKeys;
- typedef std::vector<AutoFillProfile*> AutoFillProfiles;
-
- explicit LiveAutofillSyncTest(TestType test_type)
- : LiveSyncTest(test_type) {}
+ explicit LiveAutofillSyncTest(TestType test_type) : LiveSyncTest(test_type) {}
virtual ~LiveAutofillSyncTest() {}
// Used to access the web data service within a particular sync profile.
- WebDataService* GetWebDataService(int index) {
+ WebDataService* GetWebDataService(int index) WARN_UNUSED_RESULT {
return GetProfile(index)->GetWebDataService(Profile::EXPLICIT_ACCESS);
}
// Used to access the personal data manager within a particular sync profile.
- PersonalDataManager* GetPersonalDataManager(int index) {
+ PersonalDataManager* GetPersonalDataManager(int index) WARN_UNUSED_RESULT {
return GetProfile(index)->GetPersonalDataManager();
}
- protected:
- virtual void SetUpCommandLine(CommandLine* command_line) {
- command_line->AppendSwitch(switches::kEnableSyncAutofill);
- }
-
- void AddFormFieldsToWebData(WebDataService* wds, const AutofillKeys& keys) {
+ // Adds the form fields in |keys| to the WebDataService of sync profile
+ // |profile|.
+ void AddKeys(int profile, const std::set<AutofillKey>& keys) {
std::vector<webkit_glue::FormField> form_fields;
- for (AutofillKeys::const_iterator i = keys.begin(); i != keys.end(); ++i) {
- form_fields.push_back(
- webkit_glue::FormField(string16(),
- (*i).name(),
- (*i).value(),
- string16(),
- 0,
- false));
+ for (std::set<AutofillKey>::const_iterator i = keys.begin();
+ i != keys.end();
+ ++i) {
+ form_fields.push_back(webkit_glue::FormField(string16(),
+ (*i).name(),
+ (*i).value(),
+ string16(),
+ 0,
+ false));
}
WaitableEvent done_event(false, false);
@@ -179,11 +162,14 @@ class LiveAutofillSyncTest : public LiveSyncTest {
EXPECT_CALL(*observer_helper->observer(), Observe(_, _, _)).
WillOnce(SignalEvent(&done_event));
+ WebDataService* wds = GetWebDataService(profile);
wds->AddFormFields(form_fields);
done_event.Wait();
}
- void RemoveKeyFromWebData(WebDataService* wds, const AutofillKey& key) {
+ // Removes the form field in |key| from the WebDataService of sync profile
+ // |profile|.
+ void RemoveKey(int profile, const AutofillKey& key) {
WaitableEvent done_event(false, false);
scoped_refptr<AutofillDBThreadObserverHelper> observer_helper(
new AutofillDBThreadObserverHelper());
@@ -191,69 +177,92 @@ class LiveAutofillSyncTest : public LiveSyncTest {
EXPECT_CALL(*observer_helper->observer(), Observe(_, _, _)).
WillOnce(SignalEvent(&done_event));
+ WebDataService* wds = GetWebDataService(profile);
wds->RemoveFormValueForElementName(key.name(), key.value());
done_event.Wait();
}
- void SetProfiles(PersonalDataManager* pdm,
- std::vector<AutoFillProfile>* profiles) {
+ // Gets all the form fields in the WebDataService of sync profile |profile|.
+ std::set<AutofillEntry> GetAllKeys(int profile) WARN_UNUSED_RESULT {
+ WebDataService* wds = GetWebDataService(profile);
+ scoped_refptr<GetAllAutofillEntries> get_all_entries =
+ new GetAllAutofillEntries(wds);
+ get_all_entries->Init();
+ const std::vector<AutofillEntry>& all_entries = get_all_entries->entries();
+ std::set<AutofillEntry> all_keys;
+ for (std::vector<AutofillEntry>::const_iterator it = all_entries.begin();
+ it != all_entries.end(); ++it) {
+ all_keys.insert(*it);
+ }
+ return all_keys;
+ }
+
+ // Compares the form fields in the WebDataServices of sync profiles
+ // |profile_a| and |profile_b|. Returns true if they match.
+ bool KeysMatch(int profile_a, int profile_b) WARN_UNUSED_RESULT {
+ return GetAllKeys(profile_a) == GetAllKeys(profile_b);
+ }
+
+ // Replaces the Autofill profiles in sync profile |profile| with
+ // |autofill_profiles|.
+ void SetProfiles(
+ int profile, std::vector<AutoFillProfile>* autofill_profiles) {
MockPersonalDataManagerObserver observer;
EXPECT_CALL(observer, OnPersonalDataLoaded()).
WillOnce(QuitUIMessageLoop());
+ PersonalDataManager* pdm = GetPersonalDataManager(profile);
pdm->SetObserver(&observer);
- pdm->SetProfiles(profiles);
+ pdm->SetProfiles(autofill_profiles);
MessageLoop::current()->Run();
pdm->RemoveObserver(&observer);
}
- void AddProfile(PersonalDataManager* pdm, const AutoFillProfile& profile) {
- const AutoFillProfiles& all_profiles = GetAllAutoFillProfiles(pdm);
- std::vector<AutoFillProfile> profiles;
+ // Adds the autofill profile |autofill_profile| to sync profile |profile|.
+ void AddProfile(int profile, const AutoFillProfile& autofill_profile) {
+ const std::vector<AutoFillProfile*>& all_profiles = GetAllProfiles(profile);
+ std::vector<AutoFillProfile> autofill_profiles;
for (size_t i = 0; i < all_profiles.size(); ++i)
- profiles.push_back(*all_profiles[i]);
- profiles.push_back(profile);
- SetProfiles(pdm, &profiles);
+ autofill_profiles.push_back(*all_profiles[i]);
+ autofill_profiles.push_back(autofill_profile);
+ SetProfiles(profile, &autofill_profiles);
}
- void RemoveProfile(PersonalDataManager* pdm, const string16& label) {
- const AutoFillProfiles& all_profiles = GetAllAutoFillProfiles(pdm);
- std::vector<AutoFillProfile> profiles;
+ // Removes the autofill profile with guid |guid| from sync profile
+ // |profile|.
+ void RemoveProfile(int profile, const std::string& guid) {
+ const std::vector<AutoFillProfile*>& all_profiles = GetAllProfiles(profile);
+ std::vector<AutoFillProfile> autofill_profiles;
for (size_t i = 0; i < all_profiles.size(); ++i) {
- if (all_profiles[i]->Label() != label)
- profiles.push_back(*all_profiles[i]);
+ if (all_profiles[i]->guid() != guid)
+ autofill_profiles.push_back(*all_profiles[i]);
}
- SetProfiles(pdm, &profiles);
+ SetProfiles(profile, &autofill_profiles);
}
- void UpdateProfile(PersonalDataManager* pdm,
- const string16& label,
+ // Updates the autofill profile with guid |guid| in sync profile |profile|
+ // to |type| and |value|.
+ void UpdateProfile(int profile,
+ const std::string& guid,
const AutoFillType& type,
const string16& value) {
- const AutoFillProfiles& all_profiles = GetAllAutoFillProfiles(pdm);
+ const std::vector<AutoFillProfile*>& all_profiles = GetAllProfiles(profile);
std::vector<AutoFillProfile> profiles;
for (size_t i = 0; i < all_profiles.size(); ++i) {
profiles.push_back(*all_profiles[i]);
- if (all_profiles[i]->Label() == label)
+ if (all_profiles[i]->guid() == guid)
profiles.back().SetInfo(type, value);
}
- SetProfiles(pdm, &profiles);
- }
-
- void GetAllAutofillKeys(WebDataService* wds, AutofillKeys* keys) {
- scoped_refptr<GetAllAutofillEntries> get_all_entries =
- new GetAllAutofillEntries(wds);
- get_all_entries->Init();
- const std::vector<AutofillEntry>& entries = get_all_entries->entries();
-
- for (size_t i = 0; i < entries.size(); ++i) {
- keys->insert(entries[i].key());
- }
+ SetProfiles(profile, &profiles);
}
- const AutoFillProfiles& GetAllAutoFillProfiles(PersonalDataManager* pdm) {
+ // Gets all the Autofill profiles in the PersonalDataManager of sync profile
+ // |profile|.
+ const std::vector<AutoFillProfile*>& GetAllProfiles(int profile)
+ WARN_UNUSED_RESULT {
MockPersonalDataManagerObserver observer;
EXPECT_CALL(observer, OnPersonalDataLoaded()).
WillOnce(QuitUIMessageLoop());
+ PersonalDataManager* pdm = GetPersonalDataManager(profile);
pdm->SetObserver(&observer);
pdm->Refresh();
MessageLoop::current()->Run();
@@ -261,34 +270,40 @@ class LiveAutofillSyncTest : public LiveSyncTest {
return pdm->web_profiles();
}
- bool CompareAutoFillProfiles(const AutoFillProfiles& expected_profiles,
- const AutoFillProfiles& profiles) {
- std::map<string16, AutoFillProfile> expected_profiles_map;
- for (size_t i = 0; i < expected_profiles.size(); ++i) {
- const AutoFillProfile* p = expected_profiles[i];
- expected_profiles_map[p->Label()] = *p;
+ // Compares the Autofill profiles in the PersonalDataManagers of sync profiles
+ // |profile_a| and |profile_b|. Returns true if they match.
+ bool ProfilesMatch(int profile_a, int profile_b) WARN_UNUSED_RESULT {
+ const std::vector<AutoFillProfile*>& autofill_profiles_a =
+ GetAllProfiles(profile_a);
+ std::map<std::string, AutoFillProfile> autofill_profiles_a_map;
+ for (size_t i = 0; i < autofill_profiles_a.size(); ++i) {
+ const AutoFillProfile* p = autofill_profiles_a[i];
+ autofill_profiles_a_map[p->guid()] = *p;
}
- for (size_t i = 0; i < profiles.size(); ++i) {
- const AutoFillProfile* p = profiles[i];
- if (!expected_profiles_map.count(p->Label())) {
- VLOG(1) << "Label " << p->Label() << " not in expected";
+ const std::vector<AutoFillProfile*>& autofill_profiles_b =
+ GetAllProfiles(profile_b);
+ for (size_t i = 0; i < autofill_profiles_b.size(); ++i) {
+ const AutoFillProfile* p = autofill_profiles_b[i];
+ if (!autofill_profiles_a_map.count(p->guid())) {
+ VLOG(1) << "GUID " << p->guid() << " not found in profile "
+ << profile_b << ".";
return false;
}
- AutoFillProfile* expected_profile = &expected_profiles_map[p->Label()];
+ AutoFillProfile* expected_profile = &autofill_profiles_a_map[p->guid()];
expected_profile->set_guid(p->guid());
if (*expected_profile != *p) {
- VLOG(1) << "Profile mismatch";
+ VLOG(1) << "Mismatch in profile with GUID " << p->guid() << ".";
return false;
}
- expected_profiles_map.erase(p->Label());
+ autofill_profiles_a_map.erase(p->guid());
}
- if (expected_profiles_map.size()) {
- VLOG(1) << "Labels in expected but not supplied";
+ if (autofill_profiles_a_map.size()) {
+ VLOG(1) << "Entries present in Profile " << profile_a
+ << " but not in " << profile_b << ".";
return false;
}
-
return true;
}
diff --git a/chrome/test/live_sync/two_client_live_autofill_sync_test.cc b/chrome/test/live_sync/two_client_live_autofill_sync_test.cc
index db522f1..5775e50 100644
--- a/chrome/test/live_sync/two_client_live_autofill_sync_test.cc
+++ b/chrome/test/live_sync/two_client_live_autofill_sync_test.cc
@@ -5,539 +5,274 @@
#include "base/utf_string_conversions.h"
#include "chrome/test/live_sync/live_autofill_sync_test.h"
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, Client1HasData) {
- ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
-
- AutofillKeys keys;
- keys.insert(AutofillKey("name0", "value0"));
- keys.insert(AutofillKey("name0", "value1"));
- keys.insert(AutofillKey("name1", "value2"));
- keys.insert(AutofillKey(WideToUTF16(L"Sigur R\u00F3s"),
- WideToUTF16(L"\u00C1g\u00E6tis byrjun")));
- AddFormFieldsToWebData(GetWebDataService(0), keys);
-
- ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- ASSERT_TRUE(AwaitQuiescence());
-
- AutofillKeys wd1_keys;
- GetAllAutofillKeys(GetWebDataService(1), &wd1_keys);
-
- // Note: In this test, name0-value0 and name0-value1 were both added in the
- // same transaction on Client0. However, only the first entry with name0 is
- // added, due to changes made in r55781. See crbug.com/51727.
- AutofillKeys expected_keys;
- expected_keys.insert(AutofillKey("name0", "value0"));
- expected_keys.insert(AutofillKey("name1", "value2"));
- expected_keys.insert(AutofillKey(WideToUTF16(L"Sigur R\u00F3s"),
- WideToUTF16(L"\u00C1g\u00E6tis byrjun")));
- ASSERT_EQ(expected_keys, wd1_keys);
-}
-
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, BothHaveData) {
- ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
-
- AutofillKeys keys1;
- keys1.insert(AutofillKey("name0", "value0"));
- keys1.insert(AutofillKey("name1", "value2"));
- AddFormFieldsToWebData(GetWebDataService(0), keys1);
-
- AutofillKeys keys2;
- keys2.insert(AutofillKey("name0", "value1"));
- keys2.insert(AutofillKey("name2", "value3"));
- keys2.insert(AutofillKey("name3", "value3"));
- AddFormFieldsToWebData(GetWebDataService(1), keys2);
-
- ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- ASSERT_TRUE(AwaitQuiescence());
-
- // Note: In this test, name0-value0 and name0-value1 were added in separate
- // transactions -- one on Client0 and the other on Client1. Therefore, we
- // expect to see both pairs once sync completes and the lists are merged.
- AutofillKeys expected_keys;
- expected_keys.insert(AutofillKey("name0", "value0"));
- expected_keys.insert(AutofillKey("name0", "value1"));
- expected_keys.insert(AutofillKey("name1", "value2"));
- expected_keys.insert(AutofillKey("name2", "value3"));
- expected_keys.insert(AutofillKey("name3", "value3"));
-
- AutofillKeys wd0_keys;
- GetAllAutofillKeys(GetWebDataService(0), &wd0_keys);
- ASSERT_EQ(expected_keys, wd0_keys);
-
- AutofillKeys wd1_keys;
- GetAllAutofillKeys(GetWebDataService(1), &wd1_keys);
- ASSERT_EQ(expected_keys, wd1_keys);
-}
-
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, Steady) {
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, WebDataServiceSanity) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
// Client0 adds a key.
- AutofillKeys add_one_key;
- add_one_key.insert(AutofillKey("name0", "value0"));
- AddFormFieldsToWebData(GetWebDataService(0), add_one_key);
+ std::set<AutofillKey> keys;
+ keys.insert(AutofillKey("name0", "value0"));
+ AddKeys(0, keys);
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- AutofillKeys expected_keys;
- expected_keys.insert(AutofillKey("name0", "value0"));
-
- AutofillKeys keys;
- GetAllAutofillKeys(GetWebDataService(0), &keys);
- ASSERT_EQ(expected_keys, keys);
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(1), &keys);
- ASSERT_EQ(expected_keys, keys);
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(1U, GetAllKeys(0).size());
// Client1 adds a key.
- add_one_key.clear();
- add_one_key.insert(AutofillKey("name1", "value1"));
- AddFormFieldsToWebData(GetWebDataService(1), add_one_key);
- ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
-
- expected_keys.insert(AutofillKey("name1", "value1"));
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(0), &keys);
- ASSERT_EQ(expected_keys, keys);
keys.clear();
- GetAllAutofillKeys(GetWebDataService(1), &keys);
- ASSERT_EQ(expected_keys, keys);
+ keys.insert(AutofillKey("name1", "value1-0"));
+ AddKeys(1, keys);
+ ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(2U, GetAllKeys(0).size());
// Client0 adds a key with the same name.
- add_one_key.clear();
- add_one_key.insert(AutofillKey("name1", "value2"));
- AddFormFieldsToWebData(GetWebDataService(0), add_one_key);
- ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- expected_keys.insert(AutofillKey("name1", "value2"));
keys.clear();
- GetAllAutofillKeys(GetWebDataService(0), &keys);
- ASSERT_EQ(expected_keys, keys);
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(1), &keys);
- ASSERT_EQ(expected_keys, keys);
+ keys.insert(AutofillKey("name1", "value1-1"));
+ AddKeys(0, keys);
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(3U, GetAllKeys(0).size());
// Client1 removes a key.
- RemoveKeyFromWebData(GetWebDataService(1), AutofillKey("name1", "value1"));
+ RemoveKey(1, AutofillKey("name1", "value1-0"));
ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
-
- expected_keys.erase(AutofillKey("name1", "value1"));
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(0), &keys);
- ASSERT_EQ(expected_keys, keys);
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(1), &keys);
- ASSERT_EQ(expected_keys, keys);
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(2U, GetAllKeys(0).size());
// Client0 removes the rest.
- RemoveKeyFromWebData(GetWebDataService(0), AutofillKey("name0", "value0"));
- RemoveKeyFromWebData(GetWebDataService(0), AutofillKey("name1", "value2"));
+ RemoveKey(0, AutofillKey("name0", "value0"));
+ RemoveKey(0, AutofillKey("name1", "value1-1"));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(0), &keys);
- ASSERT_EQ(0U, keys.size());
- keys.clear();
- GetAllAutofillKeys(GetWebDataService(1), &keys);
- ASSERT_EQ(0U, keys.size());
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(0U, GetAllKeys(0).size());
}
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, ProfileClient1HasData) {
+// TestScribe ID - 426758.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, AddUnicodeProfile) {
ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, expected_profiles[0]);
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[1]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[1]);
-
+ std::set<AutofillKey> keys;
+ keys.insert(AutofillKey(WideToUTF16(L"Sigur R\u00F3s"),
+ WideToUTF16(L"\u00C1g\u00E6tis byrjun")));
+ AddKeys(0, keys);
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
ASSERT_TRUE(AwaitQuiescence());
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
+ ASSERT_TRUE(KeysMatch(0, 1));
}
-// TestScribe ID - 426761.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, ConflictLabels) {
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
+ AddDuplicateNamesToSameProfile) {
ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
- AutoFillProfiles profiles1;
- profiles1.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, profiles1[0]);
-
- AutoFillProfiles profiles2;
- profiles2.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, profiles2[0]);
- profiles2[0]->SetInfo(AutoFillType(PHONE_FAX_WHOLE_NUMBER),
- ASCIIToUTF16("1234567890"));
-
- AddProfile(GetPersonalDataManager(0), *profiles1[0]);
- AddProfile(GetPersonalDataManager(1), *profiles2[0]);
-
+ std::set<AutofillKey> keys;
+ keys.insert(AutofillKey("name0", "value0-0"));
+ keys.insert(AutofillKey("name0", "value0-1"));
+ keys.insert(AutofillKey("name1", "value1"));
+ AddKeys(0, keys);
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
ASSERT_TRUE(AwaitQuiescence());
-
- // Since client1 associates first, client2's profile will
- // be overwritten by the one stored in the cloud by profile1.
- AutoFillProfile::AdjustInferredLabels(&profiles1);
- ASSERT_TRUE(CompareAutoFillProfiles(profiles1,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(profiles1,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&profiles1);
- STLDeleteElements(&profiles2);
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(2U, GetAllKeys(0).size());
}
-// Marked as FAILS -- see http://crbug.com/60368.
IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
- FAILS_ProfileSameLabelOnClient1) {
+ AddDuplicateNamesToDifferentProfiles) {
ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[0]);
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[1]);
+ std::set<AutofillKey> keys0;
+ keys0.insert(AutofillKey("name0", "value0-0"));
+ keys0.insert(AutofillKey("name1", "value1"));
+ AddKeys(0, keys0);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[1]);
+ std::set<AutofillKey> keys1;
+ keys1.insert(AutofillKey("name0", "value0-1"));
+ keys1.insert(AutofillKey("name2", "value2"));
+ keys1.insert(AutofillKey("name3", "value3"));
+ AddKeys(1, keys1);
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
ASSERT_TRUE(AwaitQuiescence());
-
- // One of the duplicate profiles will have its label renamed to
- // the first label with "2" appended.
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- expected_profiles[0]->set_label(expected_profiles[1]->Label() +
- ASCIIToUTF16("2"));
-
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
+ ASSERT_TRUE(KeysMatch(0, 1));
+ ASSERT_EQ(5U, GetAllKeys(0).size());
}
-// Marked as FAILS -- see http://crbug.com/60368.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, FAILS_ProfileSteady) {
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
+ DISABLED_PersonalDataManagerSanity) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
// Client0 adds a profile.
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
// Client1 adds a profile.
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, expected_profiles[1]);
- AddProfile(GetPersonalDataManager(1), *expected_profiles[1]);
+ AddProfile(1, CreateAutofillProfile(PROFILE_MARION));
ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(2U, GetAllProfiles(0).size());
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
-
- // Client0 adds a conflicting profile.
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, expected_profiles[2]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[2]);
+ // Client0 adds the same profile.
+ AddProfile(0, CreateAutofillProfile(PROFILE_MARION));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- // The conflicting profile's label will be made unique.
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- expected_profiles[2]->set_label(expected_profiles[1]->Label() +
- ASCIIToUTF16("2"));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(2U, GetAllProfiles(0).size());
// Client1 removes a profile.
- string16 label0 = expected_profiles[0]->Label();
- delete expected_profiles.front();
- expected_profiles.erase(expected_profiles.begin());
- RemoveProfile(GetPersonalDataManager(1), label0);
+ RemoveProfile(1, GetAllProfiles(1)[0]->guid());
ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
-
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
// Client0 updates a profile.
- expected_profiles[0]->SetInfo(AutoFillType(NAME_FIRST),
- ASCIIToUTF16("Bart"));
- UpdateProfile(GetPersonalDataManager(0),
- expected_profiles[0]->Label(),
- AutoFillType(NAME_FIRST),
- ASCIIToUTF16("Bart"));
+ UpdateProfile(0, GetAllProfiles(0)[0]->guid(), AutoFillType(NAME_FIRST),
+ ASCIIToUTF16("Bart"));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
-
- // Client1 removes everything.
- string16 label1 = expected_profiles[0]->Label();
- string16 label2 = expected_profiles[1]->Label();
- STLDeleteElements(&expected_profiles);
- RemoveProfile(GetPersonalDataManager(1), label1);
- RemoveProfile(GetPersonalDataManager(1), label2);
+ // Client1 removes remaining profile.
+ RemoveProfile(1, GetAllProfiles(1)[0]->guid());
ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(0U, GetAllProfiles(0).size());
+}
+
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
+ DISABLED_AddDuplicateProfiles) {
+ ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
+ ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
+ ASSERT_TRUE(AwaitQuiescence());
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
+}
+
+// TestScribe ID - 426761.
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
+ DISABLED_SameProfileWithConflict) {
+ ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
+
+ AutoFillProfile profile0 = CreateAutofillProfile(PROFILE_HOMER);
+ AutoFillProfile profile1 = CreateAutofillProfile(PROFILE_HOMER);
+ profile1.SetInfo(AutoFillType(PHONE_FAX_WHOLE_NUMBER),
+ ASCIIToUTF16("1234567890"));
+
+ AddProfile(0, profile0);
+ AddProfile(1, profile1);
+ ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
+ ASSERT_TRUE(AwaitQuiescence());
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
}
// TestScribe ID - 426757.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, AddEmptyProfile) {
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
+ DISABLED_AddEmptyProfile) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_NULL, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
+ AddProfile(0, CreateAutofillProfile(PROFILE_NULL));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
}
// TestScribe ID - 422839.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, AddProfile) {
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, DISABLED_AddProfile) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
+ AddProfile(0, CreateAutofillProfile(PROFILE_NULL));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
}
// TestScribe ID - 425335.
-// Marked as FAILS -- see http://crbug.com/60368.
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
- FAILS_AddMultipleProfiles) {
- ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
-
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
-
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[1]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[1]);
-
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_NULL, expected_profiles[2]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[2]);
-
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_FRASIER, expected_profiles[3]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[3]);
-
- ASSERT_TRUE(AwaitQuiescence());
-
- ASSERT_TRUE(CompareAutoFillProfiles(
- GetAllAutoFillProfiles(GetPersonalDataManager(1)),
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- STLDeleteElements(&expected_profiles);
-}
-
-// TestScribe ID - 426758.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, AddUnicodeProfile) {
- ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
-
- AutofillKeys expected_keys;
- const string16 kUnicodeString = WideToUTF16(L"\u00CE\u00F1\u0163\u00E9");
- expected_keys.insert(AutofillKey(kUnicodeString, kUnicodeString));
- AddFormFieldsToWebData(GetWebDataService(0), expected_keys);
-
+ DISABLED_AddMultipleProfiles) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- ASSERT_TRUE(AwaitQuiescence());
- AutofillKeys synced_keys;
- GetAllAutofillKeys(GetWebDataService(1), &synced_keys);
-
- ASSERT_EQ(expected_keys, synced_keys);
+ AddProfile(0, CreateAutofillProfile(PROFILE_NULL));
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
+ AddProfile(0, CreateAutofillProfile(PROFILE_MARION));
+ AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER));
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(4U, GetAllProfiles(0).size());
}
// TestScribe ID - 425337.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, DeleteProfile) {
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, DISABLED_DeleteProfile) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
-
- string16 label = expected_profiles.front()->Label();
- delete expected_profiles.front();
- expected_profiles.erase(expected_profiles.begin());
- RemoveProfile(GetPersonalDataManager(1), label);
+ RemoveProfile(1, GetAllProfiles(1)[0]->guid());
ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
-
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(0U, GetAllProfiles(0).size());
}
// TestScribe ID - 426760.
-// Marked as FAILS -- see http://crbug.com/60368.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, FAILS_MergeProfiles) {
- ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
-
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
-
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_NULL, expected_profiles[1]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[1]);
-
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, expected_profiles[2]);
- AddProfile(GetPersonalDataManager(1), *expected_profiles[2]);
-
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_FRASIER, expected_profiles[3]);
- AddProfile(GetPersonalDataManager(1), *expected_profiles[3]);
- ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
-}
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, DISABLED_MergeProfiles) {
+ ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
-// TestScribe ID - 426756.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, UpdateFields) {
+ AddProfile(0, CreateAutofillProfile(PROFILE_NULL));
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
+ AddProfile(1, CreateAutofillProfile(PROFILE_MARION));
+ AddProfile(1, CreateAutofillProfile(PROFILE_FRASIER));
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
-
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
- ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
-
- expected_profiles[0]->SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Lisa"));
- expected_profiles[0]->SetInfo(
- AutoFillType(EMAIL_ADDRESS), ASCIIToUTF16("grrrl@TV.com"));
- UpdateProfile(GetPersonalDataManager(0), expected_profiles[0]->Label(),
- AutoFillType(NAME_FIRST), ASCIIToUTF16("Lisa"));
- UpdateProfile(GetPersonalDataManager(0), expected_profiles[0]->Label(),
- AutoFillType(EMAIL_ADDRESS), ASCIIToUTF16("grrrl@TV.com"));
ASSERT_TRUE(AwaitQuiescence());
-
- ASSERT_TRUE(CompareAutoFillProfiles(
- GetAllAutoFillProfiles(GetPersonalDataManager(0)),
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(4U, GetAllProfiles(0).size());
}
-// TestScribe ID - 426755.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, UpdateLabel) {
+// TestScribe ID - 426756.
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, DISABLED_UpdateFields) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- AutoFillProfiles expected_profiles;
- AutoFillProfiles profiles0;
- profiles0.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, profiles0[0]);
- expected_profiles.push_back(profiles0[0]);
-
- AutoFillProfiles profiles1;
- profiles1.push_back(new AutoFillProfile);
- FillProfile(PROFILE_MARION, profiles1[0]);
- profiles1[0]->set_label(ASCIIToUTF16("Shipping"));
- expected_profiles.push_back(profiles1[0]);
-
- AddProfile(GetPersonalDataManager(0), *profiles0[0]);
- AddProfile(GetPersonalDataManager(1), *profiles1[0]);
-
- ASSERT_TRUE(AwaitQuiescence());
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&profiles0);
- STLDeleteElements(&profiles1);
+ UpdateProfile(0, GetAllProfiles(0)[0]->guid(), AutoFillType(NAME_FIRST),
+ ASCIIToUTF16("Lisa"));
+ UpdateProfile(0, GetAllProfiles(0)[0]->guid(), AutoFillType(EMAIL_ADDRESS),
+ ASCIIToUTF16("grrrl@TV.com"));
+ ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
}
// TestScribe ID - 432634.
-IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest, ConflictFields) {
+// TODO(lipalani): Enable this test after new autofill sync is enabled.
+IN_PROC_BROWSER_TEST_F(TwoClientLiveAutofillSyncTest,
+ DISABLED_ConflictingFields) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
- AutoFillProfiles expected_profiles;
- expected_profiles.push_back(new AutoFillProfile);
- FillProfile(PROFILE_HOMER, expected_profiles[0]);
- AddProfile(GetPersonalDataManager(0), *expected_profiles[0]);
+ AddProfile(0, CreateAutofillProfile(PROFILE_HOMER));
ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
-
- AutoFillProfile::AdjustInferredLabels(&expected_profiles);
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(0))));
- ASSERT_TRUE(CompareAutoFillProfiles(expected_profiles,
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
-
- UpdateProfile(GetPersonalDataManager(0), expected_profiles[0]->Label(),
- AutoFillType(NAME_FIRST), ASCIIToUTF16("Lisa"));
- UpdateProfile(GetPersonalDataManager(1), expected_profiles[0]->Label(),
- AutoFillType(NAME_FIRST), ASCIIToUTF16("Bart"));
-
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(1U, GetAllProfiles(0).size());
+ UpdateProfile(0, GetAllProfiles(0)[0]->guid(), AutoFillType(NAME_FIRST),
+ ASCIIToUTF16("Lisa"));
+ UpdateProfile(1, GetAllProfiles(1)[0]->guid(), AutoFillType(NAME_FIRST),
+ ASCIIToUTF16("Bart"));
ASSERT_TRUE(AwaitQuiescence());
-
- ASSERT_TRUE(CompareAutoFillProfiles(
- GetAllAutoFillProfiles(GetPersonalDataManager(0)),
- GetAllAutoFillProfiles(GetPersonalDataManager(1))));
- STLDeleteElements(&expected_profiles);
+ ASSERT_TRUE(ProfilesMatch(0,1));
+ ASSERT_EQ(2U, GetAllProfiles(0).size());
}