Index: chrome/test/functional/sync.py |
=================================================================== |
--- chrome/test/functional/sync.py (revision 110548) |
+++ chrome/test/functional/sync.py (working copy) |
@@ -130,12 +130,13 @@ |
account_key = 'test_sync_account' |
test_utils.SignInToSyncAndVerifyState(self, account_key) |
+ self.AwaitSyncCycleCompletion() |
# Add a bookmark. |
bookmarks = self.GetBookmarkModel() |
bar_id = bookmarks.BookmarkBar()['id'] |
- name = 'Google' |
- url = 'http://www.google.com' |
+ name = 'Column test' |
+ url = self.GetHttpURLForDataPath('columns.html') |
self.NavigateToURL(url) |
self.AddBookmarkURL(bar_id, 0, name, url) |
@@ -144,6 +145,7 @@ |
# Log into the account and sync the browser to the account. |
test_utils.SignInToSyncAndVerifyState(browser2, account_key) |
+ browser2.AwaitSyncCycleCompletion() |
# Verify browser 2 contains the bookmark. |
browser2_bookmarks = browser2.GetBookmarkModel() |
@@ -153,6 +155,72 @@ |
self.assertEqual(bar_child['name'], name) |
self.assertTrue(url in bar_child['url']) |
+ def testAutofillProfileSync(self): |
+ """Verify a single Autofill profile syncs between two browsers. |
+ Integration tests between Autofill and sync feature. A single profile is |
+ added to one instance of the browser, the profile is synced to the account, |
+ a new instance of the browser is launched, the account is synced and the |
+ profile is synced to the new browser. |
+ """ |
+ profile = [{'NAME_FIRST': ['Bob',], 'NAME_LAST': ['Smith',], |
+ 'ADDRESS_HOME_ZIP': ['94043',], |
+ 'EMAIL_ADDRESS': ['bsmith@gmail.com',], |
+ 'COMPANY_NAME': ['Smith, Inc',],}] |
+ # Launch a new instance of the browser with a clean profile (Browser 2). |
+ browser2 = pyauto.ExtraBrowser( |
+ self.ChromeFlagsForSyncTestServer(**self._sync_server.ports)) |
+ |
+ account_key = 'test_sync_account' |
+ test_utils.SignInToSyncAndVerifyState(self, account_key) |
+ self.AwaitSyncCycleCompletion() |
+ |
+ # Add a single profile. |
+ self.FillAutofillProfile(profiles=profile) |
+ browser1_profile = self.GetAutofillProfile() |
+ |
+ # Log into the account and sync the second browser to the account. |
+ test_utils.SignInToSyncAndVerifyState(browser2, account_key) |
+ browser2.AwaitSyncCycleCompletion() |
+ |
+ # Verify browser 2 contains the profile. |
+ browser2_profile = browser2.GetAutofillProfile() |
+ self.assertEqual( |
+ profile, browser2_profile['profiles'], |
+ msg=('Browser 1 profile %s does not match Browser 2 profile %s' |
+ % (browser1_profile, browser2_profile))) |
+ |
+ def testNoCreditCardSync(self): |
+ """Verify credit card info does not sync between two browsers.""" |
+ credit_card = [{'CREDIT_CARD_NUMBER': '6011111111111117', |
+ 'CREDIT_CARD_EXP_MONTH': '12', |
+ 'CREDIT_CARD_EXP_4_DIGIT_YEAR': '2011', |
+ 'CREDIT_CARD_NAME': 'Bob C. Smith'}] |
+ # Launch a new instance of the browser with a clean profile (Browser 2). |
+ browser2 = pyauto.ExtraBrowser( |
+ self.ChromeFlagsForSyncTestServer(**self._sync_server.ports)) |
+ |
+ account_key = 'test_sync_account' |
+ test_utils.SignInToSyncAndVerifyState(self, account_key) |
+ self.AwaitSyncCycleCompletion() |
+ |
+ # Add a credit card. |
+ self.FillAutofillProfile(credit_cards=credit_card) |
+ browser1_profile = self.GetAutofillProfile() |
+ # Verify credit card was added successfully. |
+ self.assertEqual(credit_card, browser1_profile['credit_cards'], |
+ msg='Credit card info was not added to browser 1.') |
+ |
+ # Log into the account and sync the second browser to the account. |
+ test_utils.SignInToSyncAndVerifyState(browser2, account_key) |
+ browser2.AwaitSyncCycleCompletion() |
+ |
+ # Verify browser 2 does not contain credit card info. |
+ browser2_profile = browser2.GetAutofillProfile() |
+ num_cc_profiles = len(browser2_profile['credit_cards']) |
+ self.assertEqual(0, num_cc_profiles, |
+ msg='Browser 2 unexpectedly contains credit card info.') |
+ |
+ |
if __name__ == '__main__': |
pyauto_functional.Main() |