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

Side by Side Diff: tools/telemetry/telemetry/browser_credentials_unittest.py

Issue 12278015: [Telemetry] Reorganize everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-add shebangs. Created 7 years, 10 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 import unittest
5 import tempfile
6
7 from telemetry import browser_credentials
8
9 SIMPLE_CREDENTIALS_STRING = """
10 {
11 "google": {
12 "username": "example",
13 "password": "asdf"
14 }
15 }
16 """
17
18 class BackendStub(object):
19 def __init__(self, credentials_type):
20 self.login_needed_called = None
21 self.login_no_longer_needed_called = None
22 self.credentials_type = credentials_type
23
24 def LoginNeeded(self, config, tab):
25 self.login_needed_called = (config, tab)
26 return True
27
28 def LoginNoLongerNeeded(self, tab):
29 self.login_no_longer_needed_called = (tab, )
30
31
32 class TestBrowserCredentials(unittest.TestCase):
33 def testCredentialsInfrastructure(self):
34 google_backend = BackendStub("google")
35 othersite_backend = BackendStub("othersite")
36 browser_cred = browser_credentials.BrowserCredentials(
37 [google_backend,
38 othersite_backend])
39 with tempfile.NamedTemporaryFile() as f:
40 f.write(SIMPLE_CREDENTIALS_STRING)
41 f.flush()
42
43 browser_cred.credentials_path = f.name
44
45 # Should true because it has a password and a backend.
46 self.assertTrue(browser_cred.CanLogin('google'))
47
48 # Should be false succeed because it has no password.
49 self.assertFalse(browser_cred.CanLogin('othersite'))
50
51 # Should fail because it has no backend.
52 self.assertRaises(
53 Exception,
54 lambda: browser_cred.CanLogin('foobar'))
55
56 tab = {}
57 ret = browser_cred.LoginNeeded(tab, 'google')
58 self.assertTrue(ret)
59 self.assertTrue(google_backend.login_needed_called is not None)
60 self.assertEqual(tab, google_backend.login_needed_called[0])
61 self.assertEqual("example",
62 google_backend.login_needed_called[1]["username"])
63 self.assertEqual("asdf",
64 google_backend.login_needed_called[1]["password"])
65
66 browser_cred.LoginNoLongerNeeded(tab, 'google')
67 self.assertTrue(google_backend.login_no_longer_needed_called is not None)
68 self.assertEqual(tab, google_backend.login_no_longer_needed_called[0])
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/browser_credentials.py ('k') | tools/telemetry/telemetry/browser_finder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698