Index: chrome/test/functional/sync.py |
=================================================================== |
--- chrome/test/functional/sync.py (revision 110021) |
+++ chrome/test/functional/sync.py (working copy) |
@@ -134,8 +134,8 @@ |
# Add a bookmark. |
bookmarks = self.GetBookmarkModel() |
bar_id = bookmarks.BookmarkBar()['id'] |
- name = 'Google' |
- url = 'http://www.google.com' |
+ name = 'Basic Page' |
+ url = self.GetHttpURLForDataPath('sync', 'basic_page.html') |
self.NavigateToURL(url) |
self.AddBookmarkURL(bar_id, 0, name, url) |
@@ -144,6 +144,7 @@ |
# Log into the account and sync the browser to the account. |
test_utils.SignInToSyncAndVerifyState(browser2, account_key) |
+ self.AwaitSyncCycleCompletion() |
Nirnimesh
2011/11/15 18:21:16
Don't you have to do this in the 2nd browser as we
dyu1
2011/11/17 20:01:31
Did you mean for the first browser? This is the 2n
Nirnimesh
2011/11/17 20:15:35
|self| is the first browser. browser2 is the secon
|
# Verify browser 2 contains the bookmark. |
browser2_bookmarks = browser2.GetBookmarkModel() |
@@ -153,6 +154,70 @@ |
self.assertEqual(bar_child['name'], name) |
self.assertTrue(url in bar_child['url']) |
+ def testAddSingleProfileAndVerifySync(self): |
Nirnimesh
2011/11/15 18:21:16
Profile is an over-loaded term (autofill profile,
dyu1
2011/11/17 20:01:31
Done.
|
+ """Verify a single profile syncs between two browsers. |
Nirnimesh
2011/11/15 18:21:16
profile -> autofill profile
dyu1
2011/11/17 20:01:31
Done.
|
+ 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) |
+ |
+ # 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) |
+ self.AwaitSyncCycleCompletion() |
Nirnimesh
2011/11/15 18:21:16
Wait for sync cycle completion on the 2nd browser
dyu1
2011/11/17 20:01:31
Do you mean first browser?
|
+ |
+ # 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 testAddCreditCardAndVerifyNoSync(self): |
Nirnimesh
2011/11/15 18:21:16
testNoCreditCardSync
dyu1
2011/11/17 20:01:31
Done.
|
+ """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) |
+ |
+ # 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) |
+ self.AwaitSyncCycleCompletion() |
Nirnimesh
2011/11/15 18:21:16
on browser2 as well
dyu1
2011/11/17 20:01:31
browser 1?
|
+ |
+ # 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() |