| 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()
|
|
|