示例#1
0
    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.')
示例#2
0
    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': [
                '*****@*****.**',
            ],
            '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)))
示例#3
0
 def testDisableAndEnableDatatypes(self):
     """Sign in, disable and then enable sync for multiple sync datatypes."""
     new_timeout = pyauto.PyUITest.ActionTimeoutChanger(
         self, 2 * 60 * 1000)  # 2 min.
     test_utils.SignInToSyncAndVerifyState(self, 'test_google_account')
     self.assertTrue(
         self.DisableSyncForDatatypes([
             'Apps', 'Autofill', 'Bookmarks', 'Extensions', 'Preferences',
             'Themes'
         ]))
     self.assertFalse('Apps' in self.GetSyncInfo()['synced datatypes'])
     self.assertFalse('Autofill' in self.GetSyncInfo()['synced datatypes'])
     self.assertFalse('Bookmarks' in self.GetSyncInfo()['synced datatypes'])
     self.assertFalse(
         'Extensions' in self.GetSyncInfo()['synced datatypes'])
     self.assertFalse(
         'Preferences' in self.GetSyncInfo()['synced datatypes'])
     self.assertFalse('Themes' in self.GetSyncInfo()['synced datatypes'])
     self.assertTrue(
         self.EnableSyncForDatatypes([
             'Apps', 'Autofill', 'Bookmarks', 'Extensions', 'Preferences',
             'Themes'
         ]))
     self.assertTrue(self.DisableSyncForDatatypes(['Passwords']))
     self.assertTrue('Apps' in self.GetSyncInfo()['synced datatypes'])
     self.assertTrue('Autofill' in self.GetSyncInfo()['synced datatypes'])
     self.assertTrue('Bookmarks' in self.GetSyncInfo()['synced datatypes'])
     self.assertTrue('Extensions' in self.GetSyncInfo()['synced datatypes'])
     self.assertTrue(
         'Preferences' in self.GetSyncInfo()['synced datatypes'])
     self.assertTrue('Themes' in self.GetSyncInfo()['synced datatypes'])
     self.assertFalse('Passwords' in self.GetSyncInfo()['synced datatypes'])
示例#4
0
 def testRestartBrowser(self):
     """Sign in to sync and restart the browser."""
     new_timeout = pyauto.PyUITest.ActionTimeoutChanger(
         self, 2 * 60 * 1000)  # 2 min.
     test_utils.SignInToSyncAndVerifyState(self, 'test_google_account')
     self.RestartBrowser(clear_profile=False)
     self.assertTrue(self.AwaitSyncRestart())
     self.assertTrue(self.GetSyncInfo()['last synced'] == 'Just now')
     self.assertTrue(self.GetSyncInfo()['updates received'] == 0)
示例#5
0
    def testAddBookmarkAndVerifySync(self):
        """Verify a bookmark syncs between two browsers.

    Integration tests between the bookmarks and sync features. A bookmark is
    added to one instance of the browser, the bookmark is synced to the account,
    a new instance of the browser is launched, the account is synced and the
    bookmark info is synced on the new browser.
    """
        # 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 bookmark.
        bookmarks = self.GetBookmarkModel()
        bar_id = bookmarks.BookmarkBar()['id']
        name = 'Column test'
        url = self.GetHttpURLForDataPath('columns.html')
        self.NavigateToURL(url)
        self.AddBookmarkURL(bar_id, 0, name, url)

        # Refresh the bookmarks in the first browser.
        bookmarks = self.GetBookmarkModel()

        # 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()
        self.assertEqual(browser2_bookmarks.NodeCount(), bookmarks.NodeCount())
        bar_child = browser2_bookmarks.BookmarkBar()['children'][0]
        self.assertEqual(bar_child['type'], 'url')
        self.assertEqual(bar_child['name'], name)
        self.assertTrue(url in bar_child['url'])
示例#6
0
    def testNoSameIDSigninForTwoProfiles(self):
        """Verify two profiles cannot be signed in with same ID.

    Make sure that the one-click sign in infobar does not appear for two
    profiles trying to sign in with the same ID. This test creates a profile
    and connects it to a Google account. Another new profile is created and
    tries to login with the connected account from the first profile.

    This test verifies the following bug: crbug.com/122975
    """
        test_utils.SignInToSyncAndVerifyState(self, 'test_google_account')
        self._OpenSecondProfile()
        self._LogIntoGoogleAccount(tab_index=0, windex=1)
        self.assertTrue(lambda: test_utils.GetInfobarIndexByType(
            self, self.OC_INFOBAR_TYPE, tab_index=0, windex=1) is None)
示例#7
0
 def testSignInToSync(self):
     """Sign in to sync."""
     new_timeout = pyauto.PyUITest.ActionTimeoutChanger(self,
                                                        60 * 1000)  # 1 min.
     test_utils.SignInToSyncAndVerifyState(self, 'test_google_account')