Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1293)

Unified Diff: functional/passwords.py

Issue 5379007: Adding pyauto tests to passwords.py... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/test/
Patch Set: '' Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | functional/test_utils.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: functional/passwords.py
===================================================================
--- functional/passwords.py (revision 67497)
+++ functional/passwords.py (working copy)
@@ -9,7 +9,7 @@
class PasswordTest(pyauto.PyUITest):
- """Tests that passwords work correctly"""
+ """Tests that passwords work correctly."""
def Debug(self):
"""Test method for experimentation.
@@ -28,21 +28,54 @@
'Times not within an acceptable range. '
'First was %lf, second was %lf' % (time1, time2))
+ def _ConstructPasswordDictionary(self, username_value, password_value,
+ signon_realm, origin_url, username_element,
+ password_element, action_target,
+ time=1279650942.0, submit_element='submit',
+ blacklist=False):
+ """Construct a password dictionary with all the required fields."""
+ return {'username_value': username_value,
+ 'password_value': password_value,
+ 'signon_realm': signon_realm,
+ 'time': time,
+ 'origin_url': origin_url,
+ 'username_element': username_element,
+ 'password_element': password_element,
+ 'submit_element': submit_element,
+ 'action_target': action_target,
+ 'blacklist': blacklist}
+
def testSavePassword(self):
"""Test saving a password and getting saved passwords."""
- password1 = { 'username_value': 'user@example.com',
- 'password_value': 'test.password',
- 'signon_realm': 'https://www.example.com/',
- 'time': 1279650942.0,
- 'origin_url': 'https://www.example.com/login',
- 'username_element': 'username',
- 'password_element': 'password',
- 'submit_element': 'submit',
- 'action_target': 'https://www.example.com/login/',
- 'blacklist': False }
+ password1 = self._ConstructPasswordDictionary(
+ 'user@example.com', 'test.password',
+ 'https://www.example.com/', 'https://www.example.com/login',
+ 'username', 'password', 'https://www.example.com/login/')
self.assertTrue(self.AddSavedPassword(password1))
self.assertEquals(self.GetSavedPasswords(), [password1])
+ def testRemovePasswords(self):
+ """Verify that saved passwords can be removed."""
+ password1 = self._ConstructPasswordDictionary(
+ 'user1@example.com', 'test1.password',
+ 'https://www.example.com/', 'https://www.example.com/login',
+ 'username1', 'password', 'https://www.example.com/login/')
+ password2 = self._ConstructPasswordDictionary(
+ 'user2@example.com', 'test2.password',
+ 'https://www.example.com/', 'https://www.example.com/login',
+ 'username2', 'password2', 'https://www.example.com/login/')
+ self.AddSavedPassword(password1)
+ self.AddSavedPassword(password2)
+ self.assertEquals(2, len(self.GetSavedPasswords()))
+ self.assertEquals([password1, password2], self.GetSavedPasswords())
+ self.RemoveSavedPassword(password1)
+ self.assertEquals(1, len(self.GetSavedPasswords()))
+ self.assertEquals([password2], self.GetSavedPasswords())
+ self.RemoveSavedPassword(password2)
+ # TODO: GetSavedPasswords() doesn't return anything when empty.
+ # http://crbug.com/64603
+ # self.assertFalse(self.GetSavedPasswords())
+
def testDisplayAndSavePasswordInfobar(self):
"""Verify password infobar displays and able to save password."""
url_https = 'https://www.google.com/accounts/'
@@ -50,7 +83,7 @@
creds = self.GetPrivateInfo()['test_google_account']
username = creds['username']
password = creds['password']
- test_utils.GoogleAccountsLogin(self, ['url'], username, password)
+ test_utils.GoogleAccountsLogin(self, username, password)
# Wait until page completes loading.
self.WaitUntil(
lambda: self.GetDOMValue('document.readyState'), 'complete')
@@ -66,6 +99,29 @@
'window.domAutomationController.send("done")')
test_utils.ClearPasswords(self)
+ def testNeverSavePasswords(self):
+ """Verify that we don't save passwords and delete saved passwords
+ for a domain when 'never for this site' is chosen."""
+ creds1 = self.GetPrivateInfo()['test_google_account']
+ test_utils.GoogleAccountsLogin(
+ self, creds1['username'], creds1['password'])
+ self.assertTrue(self.WaitForInfobarCount(1))
+ self.PerformActionOnInfobar('accept', infobar_index=0)
+ self.assertEquals(1, len(self.GetSavedPasswords()))
+ self.AppendTab(pyauto.GURL(creds1['logout_url']))
+ creds2 = self.GetPrivateInfo()['etouchqa_google_account']
+ test_utils.GoogleAccountsLogin(
+ self, creds2['username'], creds2['password'], tab_index=1)
+ self.assertTrue(self.WaitForInfobarCount(1, tab_index=1))
+ # Selecting 'Never for this site' option on password infobar.
+ self.PerformActionOnInfobar('cancel', infobar_index=0, tab_index=1)
+
+ # TODO: GetSavedPasswords() doesn't return anything when empty.
+ # http://crbug.com/64603
+ # self.assertFalse(self.GetSavedPasswords())
+ # TODO: Check the exceptions list
+
+
if __name__ == '__main__':
pyauto_functional.Main()
« no previous file with comments | « no previous file | functional/test_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698