Index: tools/telemetry/telemetry/google_credentials_backend_unittest.py |
diff --git a/tools/telemetry/telemetry/google_credentials_backend_unittest.py b/tools/telemetry/telemetry/google_credentials_backend_unittest.py |
index f2b175b3b6166f7ece33f615ba2a38842bbb90f8..f5dd7538d2e52c86064bfea5df95917b05ca085d 100644 |
--- a/tools/telemetry/telemetry/google_credentials_backend_unittest.py |
+++ b/tools/telemetry/telemetry/google_credentials_backend_unittest.py |
@@ -33,6 +33,33 @@ class TestGoogleCredentialsBackend(unittest.TestCase): |
ret = b.credentials.LoginNeeded(b.tabs[0], 'google') |
self.assertTrue(ret) |
+ def testRealLoginWithDontOverrideProfileIfPossible(self): |
+ credentials_path = os.path.join( |
+ os.path.dirname(__file__), |
+ '..', '..', 'perf', 'data', 'credentials.json') |
+ if not os.path.exists(credentials_path): |
+ return |
+ |
+ options = options_for_unittests.GetCopy() |
+ options.dont_override_profile = True |
+ |
+ # Login once to make sure our default profile is logged in. |
+ with browser_finder.FindBrowser(options).Create() as b: |
+ b.credentials.credentials_path = credentials_path |
+ if not b.credentials.CanLogin('google'): |
+ return |
+ ret = b.credentials.LoginNeeded(b.tabs[0], 'google') |
+ self.assertTrue(ret) |
+ |
+ # Second time will test that we behave correctly if we're logged in, |
+ # but our b.credentials doesn't know yet. |
+ with browser_finder.FindBrowser(options).Create() as b: |
+ b.credentials.credentials_path = credentials_path |
+ if not b.credentials.CanLogin('google'): |
+ return |
+ ret = b.credentials.LoginNeeded(b.tabs[0], 'google') |
+ self.assertTrue(ret) |
+ |
def testLoginUsingMock(self): # pylint: disable=R0201 |
tab = MockTab() |
@@ -43,6 +70,7 @@ class TestGoogleCredentialsBackend(unittest.TestCase): |
tab.page.ExpectCall('Navigate', 'https://accounts.google.com/') |
tab.runtime.ExpectCall('Evaluate', _).WillReturn(False) |
tab.runtime.ExpectCall('Evaluate', _).WillReturn(True) |
+ tab.runtime.ExpectCall('Evaluate', _).WillReturn(False) |
tab.ExpectCall('WaitForDocumentReadyStateToBeInteractiveOrBetter') |
def VerifyEmail(js): |