| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/utf_string_conversions.h" | 5 #include "base/utf_string_conversions.h" |
| 6 #include "chrome/browser/autofill/autofill_profile.h" | 6 #include "chrome/browser/autofill/autofill_profile.h" |
| 7 #include "chrome/browser/sync/profile_sync_service_harness.h" | 7 #include "chrome/browser/sync/profile_sync_service_harness.h" |
| 8 #include "chrome/browser/sync/test/integration/autofill_helper.h" | 8 #include "chrome/browser/sync/test/integration/autofill_helper.h" |
| 9 #include "chrome/browser/sync/test/integration/bookmarks_helper.h" |
| 9 #include "chrome/browser/sync/test/integration/sync_test.h" | 10 #include "chrome/browser/sync/test/integration/sync_test.h" |
| 10 #include "chrome/browser/webdata/autofill_entry.h" | 11 #include "chrome/browser/webdata/autofill_entry.h" |
| 11 #include "chrome/browser/webdata/autofill_table.h" | 12 #include "chrome/browser/webdata/autofill_table.h" |
| 12 | 13 |
| 13 using autofill_helper::AddKeys; | 14 using autofill_helper::AddKeys; |
| 14 using autofill_helper::AddProfile; | 15 using autofill_helper::AddProfile; |
| 15 using autofill_helper::CreateAutofillProfile; | 16 using autofill_helper::CreateAutofillProfile; |
| 16 using autofill_helper::GetAllKeys; | 17 using autofill_helper::GetAllKeys; |
| 17 using autofill_helper::GetAllProfiles; | 18 using autofill_helper::GetAllProfiles; |
| 18 using autofill_helper::KeysMatch; | 19 using autofill_helper::KeysMatch; |
| 19 using autofill_helper::ProfilesMatch; | 20 using autofill_helper::ProfilesMatch; |
| 20 using autofill_helper::PROFILE_FRASIER; | 21 using autofill_helper::PROFILE_FRASIER; |
| 21 using autofill_helper::PROFILE_HOMER; | 22 using autofill_helper::PROFILE_HOMER; |
| 22 using autofill_helper::PROFILE_MARION; | 23 using autofill_helper::PROFILE_MARION; |
| 23 using autofill_helper::PROFILE_NULL; | 24 using autofill_helper::PROFILE_NULL; |
| 24 using autofill_helper::RemoveKey; | 25 using autofill_helper::RemoveKey; |
| 25 using autofill_helper::RemoveProfile; | 26 using autofill_helper::RemoveProfile; |
| 26 using autofill_helper::UpdateProfile; | 27 using autofill_helper::UpdateProfile; |
| 28 using bookmarks_helper::AddFolder; |
| 29 using bookmarks_helper::AddURL; |
| 30 using bookmarks_helper::IndexedURL; |
| 31 using bookmarks_helper::IndexedURLTitle; |
| 27 | 32 |
| 28 class TwoClientAutofillSyncTest : public SyncTest { | 33 class TwoClientAutofillSyncTest : public SyncTest { |
| 29 public: | 34 public: |
| 30 TwoClientAutofillSyncTest() : SyncTest(TWO_CLIENT) {} | 35 TwoClientAutofillSyncTest() : SyncTest(TWO_CLIENT) { count = 0; } |
| 31 virtual ~TwoClientAutofillSyncTest() {} | 36 virtual ~TwoClientAutofillSyncTest() {} |
| 32 | 37 |
| 38 // We do this so as to make a change that will trigger the autofill to sync. |
| 39 // By default autofill does not sync unless there is some other change. |
| 40 void MakeABookmarkChange(int profile) { |
| 41 ASSERT_TRUE( |
| 42 AddURL(profile, IndexedURLTitle(count), GURL(IndexedURL(count)))); |
| 43 ++count; |
| 44 } |
| 33 private: | 45 private: |
| 46 int count; |
| 34 DISALLOW_COPY_AND_ASSIGN(TwoClientAutofillSyncTest); | 47 DISALLOW_COPY_AND_ASSIGN(TwoClientAutofillSyncTest); |
| 35 }; | 48 }; |
| 36 | 49 |
| 37 // Flaky, http://crbug.com/102687 | 50 // Flaky, http://crbug.com/102687 |
| 38 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, FLAKY_WebDataServiceSanity) { | 51 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, FLAKY_WebDataServiceSanity) { |
| 39 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 52 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 40 | 53 |
| 41 // Client0 adds a key. | 54 // Client0 adds a key. |
| 42 std::set<AutofillKey> keys; | 55 std::set<AutofillKey> keys; |
| 43 keys.insert(AutofillKey("name0", "value0")); | 56 keys.insert(AutofillKey("name0", "value0")); |
| 44 AddKeys(0, keys); | 57 AddKeys(0, keys); |
| 58 MakeABookmarkChange(0); |
| 45 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 59 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 46 ASSERT_TRUE(KeysMatch(0, 1)); | 60 ASSERT_TRUE(KeysMatch(0, 1)); |
| 47 ASSERT_EQ(1U, GetAllKeys(0).size()); | 61 ASSERT_EQ(1U, GetAllKeys(0).size()); |
| 48 | 62 |
| 49 // Client1 adds a key. | 63 // Client1 adds a key. |
| 50 keys.clear(); | 64 keys.clear(); |
| 51 keys.insert(AutofillKey("name1", "value1-0")); | 65 keys.insert(AutofillKey("name1", "value1-0")); |
| 52 AddKeys(1, keys); | 66 AddKeys(1, keys); |
| 67 MakeABookmarkChange(1); |
| 53 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); | 68 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 54 ASSERT_TRUE(KeysMatch(0, 1)); | 69 ASSERT_TRUE(KeysMatch(0, 1)); |
| 55 ASSERT_EQ(2U, GetAllKeys(0).size()); | 70 ASSERT_EQ(2U, GetAllKeys(0).size()); |
| 56 | 71 |
| 57 // Client0 adds a key with the same name. | 72 // Client0 adds a key with the same name. |
| 58 keys.clear(); | 73 keys.clear(); |
| 59 keys.insert(AutofillKey("name1", "value1-1")); | 74 keys.insert(AutofillKey("name1", "value1-1")); |
| 60 AddKeys(0, keys); | 75 AddKeys(0, keys); |
| 76 MakeABookmarkChange(0); |
| 61 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 77 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 62 ASSERT_TRUE(KeysMatch(0, 1)); | 78 ASSERT_TRUE(KeysMatch(0, 1)); |
| 63 ASSERT_EQ(3U, GetAllKeys(0).size()); | 79 ASSERT_EQ(3U, GetAllKeys(0).size()); |
| 64 | 80 |
| 65 // Client1 removes a key. | 81 // Client1 removes a key. |
| 66 RemoveKey(1, AutofillKey("name1", "value1-0")); | 82 RemoveKey(1, AutofillKey("name1", "value1-0")); |
| 83 MakeABookmarkChange(1); |
| 67 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); | 84 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 68 ASSERT_TRUE(KeysMatch(0, 1)); | 85 ASSERT_TRUE(KeysMatch(0, 1)); |
| 69 ASSERT_EQ(2U, GetAllKeys(0).size()); | 86 ASSERT_EQ(2U, GetAllKeys(0).size()); |
| 70 | 87 |
| 71 // Client0 removes the rest. | 88 // Client0 removes the rest. |
| 72 RemoveKey(0, AutofillKey("name0", "value0")); | 89 RemoveKey(0, AutofillKey("name0", "value0")); |
| 73 RemoveKey(0, AutofillKey("name1", "value1-1")); | 90 RemoveKey(0, AutofillKey("name1", "value1-1")); |
| 91 MakeABookmarkChange(0); |
| 74 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 92 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 75 ASSERT_TRUE(KeysMatch(0, 1)); | 93 ASSERT_TRUE(KeysMatch(0, 1)); |
| 76 ASSERT_EQ(0U, GetAllKeys(0).size()); | 94 ASSERT_EQ(0U, GetAllKeys(0).size()); |
| 77 } | 95 } |
| 78 | 96 |
| 79 // TCM ID - 3678296. | 97 // TCM ID - 3678296. |
| 80 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddUnicodeProfile) { | 98 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddUnicodeProfile) { |
| 81 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 99 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 82 | 100 |
| 83 std::set<AutofillKey> keys; | 101 std::set<AutofillKey> keys; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 ASSERT_TRUE(KeysMatch(0, 1)); | 142 ASSERT_TRUE(KeysMatch(0, 1)); |
| 125 ASSERT_EQ(5U, GetAllKeys(0).size()); | 143 ASSERT_EQ(5U, GetAllKeys(0).size()); |
| 126 } | 144 } |
| 127 | 145 |
| 128 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, | 146 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, |
| 129 PersonalDataManagerSanity) { | 147 PersonalDataManagerSanity) { |
| 130 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 148 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 131 | 149 |
| 132 // Client0 adds a profile. | 150 // Client0 adds a profile. |
| 133 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 151 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 152 MakeABookmarkChange(0); |
| 134 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 153 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 135 ASSERT_TRUE(ProfilesMatch(0, 1)); | 154 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 136 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 155 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 137 | 156 |
| 138 // Client1 adds a profile. | 157 // Client1 adds a profile. |
| 139 AddProfile(1, CreateAutofillProfile(PROFILE_MARION)); | 158 AddProfile(1, CreateAutofillProfile(PROFILE_MARION)); |
| 159 MakeABookmarkChange(1); |
| 140 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); | 160 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 141 ASSERT_TRUE(ProfilesMatch(0, 1)); | 161 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 142 ASSERT_EQ(2U, GetAllProfiles(0).size()); | 162 ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| 143 | 163 |
| 144 // Client0 adds the same profile. | 164 // Client0 adds the same profile. |
| 145 AddProfile(0, CreateAutofillProfile(PROFILE_MARION)); | 165 AddProfile(0, CreateAutofillProfile(PROFILE_MARION)); |
| 166 MakeABookmarkChange(0); |
| 146 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 167 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 147 ASSERT_TRUE(ProfilesMatch(0, 1)); | 168 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 148 ASSERT_EQ(2U, GetAllProfiles(0).size()); | 169 ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| 149 | 170 |
| 150 // Client1 removes a profile. | 171 // Client1 removes a profile. |
| 151 RemoveProfile(1, GetAllProfiles(1)[0]->guid()); | 172 RemoveProfile(1, GetAllProfiles(1)[0]->guid()); |
| 173 MakeABookmarkChange(1); |
| 152 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); | 174 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 153 ASSERT_TRUE(ProfilesMatch(0, 1)); | 175 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 154 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 176 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 155 | 177 |
| 156 // Client0 updates a profile. | 178 // Client0 updates a profile. |
| 157 UpdateProfile(0, | 179 UpdateProfile(0, |
| 158 GetAllProfiles(0)[0]->guid(), | 180 GetAllProfiles(0)[0]->guid(), |
| 159 AutofillType(NAME_FIRST), | 181 AutofillType(NAME_FIRST), |
| 160 ASCIIToUTF16("Bart")); | 182 ASCIIToUTF16("Bart")); |
| 183 MakeABookmarkChange(0); |
| 161 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 184 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 162 ASSERT_TRUE(ProfilesMatch(0, 1)); | 185 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 163 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 186 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 164 | 187 |
| 165 // Client1 removes remaining profile. | 188 // Client1 removes remaining profile. |
| 166 RemoveProfile(1, GetAllProfiles(1)[0]->guid()); | 189 RemoveProfile(1, GetAllProfiles(1)[0]->guid()); |
| 190 MakeABookmarkChange(1); |
| 167 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); | 191 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 168 ASSERT_TRUE(ProfilesMatch(0, 1)); | 192 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 169 ASSERT_EQ(0U, GetAllProfiles(0).size()); | 193 ASSERT_EQ(0U, GetAllProfiles(0).size()); |
| 170 } | 194 } |
| 171 | 195 |
| 172 // TCM ID - 7261786. | 196 // TCM ID - 7261786. |
| 173 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddDuplicateProfiles) { | 197 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddDuplicateProfiles) { |
| 174 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 198 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 175 | 199 |
| 176 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 200 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 205 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 229 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 206 ASSERT_TRUE(ProfilesMatch(0, 1)); | 230 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 207 ASSERT_EQ(0U, GetAllProfiles(0).size()); | 231 ASSERT_EQ(0U, GetAllProfiles(0).size()); |
| 208 } | 232 } |
| 209 | 233 |
| 210 // TCM ID - 3616283. | 234 // TCM ID - 3616283. |
| 211 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddProfile) { | 235 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddProfile) { |
| 212 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 236 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 213 | 237 |
| 214 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 238 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 239 MakeABookmarkChange(0); |
| 215 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 240 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 216 ASSERT_TRUE(ProfilesMatch(0, 1)); | 241 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 217 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 242 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 218 } | 243 } |
| 219 | 244 |
| 220 // TCM ID - 3632260. | 245 // TCM ID - 3632260. |
| 221 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddMultipleProfiles) { | 246 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, AddMultipleProfiles) { |
| 222 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 247 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 223 | 248 |
| 224 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 249 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 225 AddProfile(0, CreateAutofillProfile(PROFILE_MARION)); | 250 AddProfile(0, CreateAutofillProfile(PROFILE_MARION)); |
| 226 AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); | 251 AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); |
| 252 MakeABookmarkChange(0); |
| 227 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 253 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 228 ASSERT_TRUE(ProfilesMatch(0, 1)); | 254 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 229 ASSERT_EQ(3U, GetAllProfiles(0).size()); | 255 ASSERT_EQ(3U, GetAllProfiles(0).size()); |
| 230 } | 256 } |
| 231 | 257 |
| 232 // TCM ID - 3602257. | 258 // TCM ID - 3602257. |
| 233 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DeleteProfile) { | 259 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DeleteProfile) { |
| 234 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 260 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 235 | 261 |
| 236 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 262 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 263 MakeABookmarkChange(0); |
| 237 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 264 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 238 ASSERT_TRUE(ProfilesMatch(0, 1)); | 265 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 239 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 266 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 240 | 267 |
| 241 RemoveProfile(1, GetAllProfiles(1)[0]->guid()); | 268 RemoveProfile(1, GetAllProfiles(1)[0]->guid()); |
| 269 MakeABookmarkChange(1); |
| 242 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); | 270 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); |
| 243 ASSERT_TRUE(ProfilesMatch(0, 1)); | 271 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 244 ASSERT_EQ(0U, GetAllProfiles(0).size()); | 272 ASSERT_EQ(0U, GetAllProfiles(0).size()); |
| 245 } | 273 } |
| 246 | 274 |
| 247 // TCM ID - 3627300. | 275 // TCM ID - 3627300. |
| 248 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, MergeProfiles) { | 276 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, MergeProfiles) { |
| 249 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 277 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 250 | 278 |
| 251 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 279 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 252 AddProfile(1, CreateAutofillProfile(PROFILE_MARION)); | 280 AddProfile(1, CreateAutofillProfile(PROFILE_MARION)); |
| 253 AddProfile(1, CreateAutofillProfile(PROFILE_FRASIER)); | 281 AddProfile(1, CreateAutofillProfile(PROFILE_FRASIER)); |
| 254 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 282 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 255 ASSERT_TRUE(AwaitQuiescence()); | 283 ASSERT_TRUE(AwaitQuiescence()); |
| 256 ASSERT_TRUE(ProfilesMatch(0, 1)); | 284 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 257 ASSERT_EQ(3U, GetAllProfiles(0).size()); | 285 ASSERT_EQ(3U, GetAllProfiles(0).size()); |
| 258 } | 286 } |
| 259 | 287 |
| 260 // TCM ID - 3665264. | 288 // TCM ID - 3665264. |
| 261 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, UpdateFields) { | 289 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, UpdateFields) { |
| 262 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 290 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 263 | 291 |
| 264 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 292 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 293 MakeABookmarkChange(0); |
| 265 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 294 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 266 ASSERT_TRUE(ProfilesMatch(0, 1)); | 295 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 267 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 296 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 268 | 297 |
| 269 UpdateProfile(0, | 298 UpdateProfile(0, |
| 270 GetAllProfiles(0)[0]->guid(), | 299 GetAllProfiles(0)[0]->guid(), |
| 271 AutofillType(NAME_FIRST), | 300 AutofillType(NAME_FIRST), |
| 272 ASCIIToUTF16("Lisa")); | 301 ASCIIToUTF16("Lisa")); |
| 273 UpdateProfile(0, | 302 UpdateProfile(0, |
| 274 GetAllProfiles(0)[0]->guid(), | 303 GetAllProfiles(0)[0]->guid(), |
| 275 AutofillType(EMAIL_ADDRESS), | 304 AutofillType(EMAIL_ADDRESS), |
| 276 ASCIIToUTF16("grrrl@TV.com")); | 305 ASCIIToUTF16("grrrl@TV.com")); |
| 306 MakeABookmarkChange(0); |
| 277 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 307 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 278 ASSERT_TRUE(ProfilesMatch(0, 1)); | 308 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 279 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 309 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 280 } | 310 } |
| 281 | 311 |
| 282 // TCM ID - 3628299. | 312 // TCM ID - 3628299. |
| 283 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ConflictingFields) { | 313 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ConflictingFields) { |
| 284 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 314 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 285 | 315 |
| 286 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 316 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 317 MakeABookmarkChange(0); |
| 287 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 318 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 288 ASSERT_TRUE(ProfilesMatch(0, 1)); | 319 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 289 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 320 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 290 UpdateProfile(0, | 321 UpdateProfile(0, |
| 291 GetAllProfiles(0)[0]->guid(), | 322 GetAllProfiles(0)[0]->guid(), |
| 292 AutofillType(NAME_FIRST), | 323 AutofillType(NAME_FIRST), |
| 293 ASCIIToUTF16("Lisa")); | 324 ASCIIToUTF16("Lisa")); |
| 325 MakeABookmarkChange(0); |
| 294 UpdateProfile(1, | 326 UpdateProfile(1, |
| 295 GetAllProfiles(1)[0]->guid(), | 327 GetAllProfiles(1)[0]->guid(), |
| 296 AutofillType(NAME_FIRST), | 328 AutofillType(NAME_FIRST), |
| 297 ASCIIToUTF16("Bart")); | 329 ASCIIToUTF16("Bart")); |
| 330 MakeABookmarkChange(1); |
| 298 ASSERT_TRUE(AwaitQuiescence()); | 331 ASSERT_TRUE(AwaitQuiescence()); |
| 299 ASSERT_TRUE(ProfilesMatch(0, 1)); | 332 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 300 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 333 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 301 } | 334 } |
| 302 | 335 |
| 303 // TCM ID - 3663293. | 336 // TCM ID - 3663293. |
| 304 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DisableAutofill) { | 337 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DisableAutofill) { |
| 305 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 338 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 306 | 339 |
| 307 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 340 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 341 MakeABookmarkChange(0); |
| 308 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 342 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 309 ASSERT_TRUE(ProfilesMatch(0, 1)); | 343 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 310 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 344 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 311 | 345 |
| 312 ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncable::AUTOFILL)); | 346 ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(syncable::AUTOFILL)); |
| 313 AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); | 347 AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); |
| 348 MakeABookmarkChange(0); |
| 314 ASSERT_TRUE(AwaitQuiescence()); | 349 ASSERT_TRUE(AwaitQuiescence()); |
| 315 ASSERT_FALSE(ProfilesMatch(0, 1)); | 350 ASSERT_FALSE(ProfilesMatch(0, 1)); |
| 316 ASSERT_EQ(2U, GetAllProfiles(0).size()); | 351 ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| 317 ASSERT_EQ(1U, GetAllProfiles(1).size()); | 352 ASSERT_EQ(1U, GetAllProfiles(1).size()); |
| 318 | 353 |
| 319 ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncable::AUTOFILL)); | 354 ASSERT_TRUE(GetClient(0)->EnableSyncForDatatype(syncable::AUTOFILL)); |
| 355 MakeABookmarkChange(0); |
| 320 ASSERT_TRUE(AwaitQuiescence()); | 356 ASSERT_TRUE(AwaitQuiescence()); |
| 321 ASSERT_TRUE(ProfilesMatch(0, 1)); | 357 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 322 ASSERT_EQ(2U, GetAllProfiles(0).size()); | 358 ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| 323 } | 359 } |
| 324 | 360 |
| 325 // TCM ID - 3661291. | 361 // TCM ID - 3661291. |
| 326 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DisableSync) { | 362 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, DisableSync) { |
| 327 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 363 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 328 | 364 |
| 329 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 365 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 366 MakeABookmarkChange(0); |
| 330 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 367 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 331 ASSERT_TRUE(ProfilesMatch(0, 1)); | 368 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 332 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 369 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 333 | 370 |
| 334 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); | 371 ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); |
| 335 AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); | 372 AddProfile(0, CreateAutofillProfile(PROFILE_FRASIER)); |
| 373 MakeABookmarkChange(0); |
| 336 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Added a profile.")); | 374 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Added a profile.")); |
| 337 ASSERT_FALSE(ProfilesMatch(0, 1)); | 375 ASSERT_FALSE(ProfilesMatch(0, 1)); |
| 338 ASSERT_EQ(2U, GetAllProfiles(0).size()); | 376 ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| 339 ASSERT_EQ(1U, GetAllProfiles(1).size()); | 377 ASSERT_EQ(1U, GetAllProfiles(1).size()); |
| 340 | 378 |
| 341 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); | 379 ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); |
| 342 ASSERT_TRUE(AwaitQuiescence()); | 380 ASSERT_TRUE(AwaitQuiescence()); |
| 343 ASSERT_TRUE(ProfilesMatch(0, 1)); | 381 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 344 ASSERT_EQ(2U, GetAllProfiles(0).size()); | 382 ASSERT_EQ(2U, GetAllProfiles(0).size()); |
| 345 } | 383 } |
| 346 | 384 |
| 347 // TCM ID - 3608295. | 385 // TCM ID - 3608295. |
| 348 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, MaxLength) { | 386 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, MaxLength) { |
| 349 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 387 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 350 | 388 |
| 351 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 389 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 390 MakeABookmarkChange(0); |
| 352 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 391 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 353 ASSERT_TRUE(ProfilesMatch(0, 1)); | 392 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 354 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 393 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 355 | 394 |
| 356 string16 max_length_string(AutofillTable::kMaxDataLength, '.'); | 395 string16 max_length_string(AutofillTable::kMaxDataLength, '.'); |
| 357 UpdateProfile(0, | 396 UpdateProfile(0, |
| 358 GetAllProfiles(0)[0]->guid(), | 397 GetAllProfiles(0)[0]->guid(), |
| 359 AutofillType(NAME_FIRST), | 398 AutofillType(NAME_FIRST), |
| 360 max_length_string); | 399 max_length_string); |
| 361 UpdateProfile(0, | 400 UpdateProfile(0, |
| 362 GetAllProfiles(0)[0]->guid(), | 401 GetAllProfiles(0)[0]->guid(), |
| 363 AutofillType(NAME_LAST), | 402 AutofillType(NAME_LAST), |
| 364 max_length_string); | 403 max_length_string); |
| 365 UpdateProfile(0, | 404 UpdateProfile(0, |
| 366 GetAllProfiles(0)[0]->guid(), | 405 GetAllProfiles(0)[0]->guid(), |
| 367 AutofillType(EMAIL_ADDRESS), | 406 AutofillType(EMAIL_ADDRESS), |
| 368 max_length_string); | 407 max_length_string); |
| 369 UpdateProfile(0, | 408 UpdateProfile(0, |
| 370 GetAllProfiles(0)[0]->guid(), | 409 GetAllProfiles(0)[0]->guid(), |
| 371 AutofillType(ADDRESS_HOME_LINE1), | 410 AutofillType(ADDRESS_HOME_LINE1), |
| 372 max_length_string); | 411 max_length_string); |
| 373 | 412 |
| 413 MakeABookmarkChange(0); |
| 374 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 414 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 375 ASSERT_TRUE(ProfilesMatch(0, 1)); | 415 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 376 } | 416 } |
| 377 | 417 |
| 378 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ExceedsMaxLength) { | 418 IN_PROC_BROWSER_TEST_F(TwoClientAutofillSyncTest, ExceedsMaxLength) { |
| 379 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 419 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 380 | 420 |
| 381 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); | 421 AddProfile(0, CreateAutofillProfile(PROFILE_HOMER)); |
| 422 MakeABookmarkChange(0); |
| 382 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 423 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 383 ASSERT_TRUE(ProfilesMatch(0, 1)); | 424 ASSERT_TRUE(ProfilesMatch(0, 1)); |
| 384 ASSERT_EQ(1U, GetAllProfiles(0).size()); | 425 ASSERT_EQ(1U, GetAllProfiles(0).size()); |
| 385 | 426 |
| 386 string16 exceeds_max_length_string(AutofillTable::kMaxDataLength + 1, '.'); | 427 string16 exceeds_max_length_string(AutofillTable::kMaxDataLength + 1, '.'); |
| 387 UpdateProfile(0, | 428 UpdateProfile(0, |
| 388 GetAllProfiles(0)[0]->guid(), | 429 GetAllProfiles(0)[0]->guid(), |
| 389 AutofillType(NAME_FIRST), | 430 AutofillType(NAME_FIRST), |
| 390 exceeds_max_length_string); | 431 exceeds_max_length_string); |
| 391 UpdateProfile(0, | 432 UpdateProfile(0, |
| 392 GetAllProfiles(0)[0]->guid(), | 433 GetAllProfiles(0)[0]->guid(), |
| 393 AutofillType(NAME_LAST), | 434 AutofillType(NAME_LAST), |
| 394 exceeds_max_length_string); | 435 exceeds_max_length_string); |
| 395 UpdateProfile(0, | 436 UpdateProfile(0, |
| 396 GetAllProfiles(0)[0]->guid(), | 437 GetAllProfiles(0)[0]->guid(), |
| 397 AutofillType(EMAIL_ADDRESS), | 438 AutofillType(EMAIL_ADDRESS), |
| 398 exceeds_max_length_string); | 439 exceeds_max_length_string); |
| 399 UpdateProfile(0, | 440 UpdateProfile(0, |
| 400 GetAllProfiles(0)[0]->guid(), | 441 GetAllProfiles(0)[0]->guid(), |
| 401 AutofillType(ADDRESS_HOME_LINE1), | 442 AutofillType(ADDRESS_HOME_LINE1), |
| 402 exceeds_max_length_string); | 443 exceeds_max_length_string); |
| 403 | 444 |
| 445 MakeABookmarkChange(0); |
| 404 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); | 446 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| 405 ASSERT_FALSE(ProfilesMatch(0, 1)); | 447 ASSERT_FALSE(ProfilesMatch(0, 1)); |
| 406 } | 448 } |
| OLD | NEW |