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

Unified Diff: tools/telemetry/telemetry/internal/backends/form_based_credentials_backend.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/internal/backends/form_based_credentials_backend.py
diff --git a/tools/telemetry/telemetry/internal/backends/form_based_credentials_backend.py b/tools/telemetry/telemetry/internal/backends/form_based_credentials_backend.py
deleted file mode 100644
index 63c2f9bca0fbeb05cd6391afedeb0ab296104605..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/backends/form_based_credentials_backend.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import logging
-
-from telemetry.core import exceptions
-
-
-class FormBasedCredentialsBackend(object):
- def __init__(self):
- self._logged_in = False
-
- def IsAlreadyLoggedIn(self, tab):
- return tab.EvaluateJavaScript(self.logged_in_javascript)
-
- @property
- def credentials_type(self):
- raise NotImplementedError()
-
- @property
- def url(self):
- raise NotImplementedError()
-
- @property
- def login_form_id(self):
- raise NotImplementedError()
-
- @property
- def login_button_javascript(self):
- """Some sites have custom JS to log in."""
- return None
-
- @property
- def login_input_id(self):
- raise NotImplementedError()
-
- @property
- def password_input_id(self):
- raise NotImplementedError()
-
- @property
- def logged_in_javascript(self):
- """Evaluates to true iff already logged in."""
- raise NotImplementedError()
-
- def IsLoggedIn(self):
- return self._logged_in
-
- def _ResetLoggedInState(self):
- """Makes the backend think we're not logged in even though we are.
- Should only be used in unit tests to simulate --dont-override-profile.
- """
- self._logged_in = False
-
- def _WaitForLoginState(self, action_runner):
- """Waits until it can detect either the login form, or already logged in."""
- condition = '(document.querySelector("#%s") !== null) || (%s)' % (
- self.login_form_id, self.logged_in_javascript)
- action_runner.WaitForJavaScriptCondition(condition, 60)
-
- def _SubmitLoginFormAndWait(self, action_runner, tab, username, password):
- """Submits the login form and waits for the navigation."""
- tab.WaitForDocumentReadyStateToBeInteractiveOrBetter()
- email_id = 'document.querySelector("#%s #%s").value = "%s"; ' % (
- self.login_form_id, self.login_input_id, username)
- password = 'document.querySelector("#%s #%s").value = "%s"; ' % (
- self.login_form_id, self.password_input_id, password)
- tab.ExecuteJavaScript(email_id)
- tab.ExecuteJavaScript(password)
- if self.login_button_javascript:
- tab.ExecuteJavaScript(self.login_button_javascript)
- else:
- tab.ExecuteJavaScript(
- 'document.getElementById("%s").submit();' % self.login_form_id)
- # Wait for the form element to disappear as confirmation of the navigation.
- action_runner.WaitForNavigate()
-
-
- def LoginNeeded(self, tab, action_runner, config):
- """Logs in to a test account.
-
- Raises:
- RuntimeError: if could not get credential information.
- """
- if self._logged_in:
- return True
-
- if 'username' not in config or 'password' not in config:
- message = ('Credentials for "%s" must include username and password.' %
- self.credentials_type)
- raise RuntimeError(message)
-
- logging.debug('Logging into %s account...' % self.credentials_type)
-
- if 'url' in config:
- url = config['url']
- else:
- url = self.url
-
- try:
- logging.info('Loading %s...', url)
- tab.Navigate(url)
- self._WaitForLoginState(action_runner)
-
- if self.IsAlreadyLoggedIn(tab):
- self._logged_in = True
- return True
-
- self._SubmitLoginFormAndWait(
- action_runner, tab, config['username'], config['password'])
-
- self._logged_in = True
- return True
- except exceptions.TimeoutException:
- logging.warning('Timed out while loading: %s', url)
- return False
-
- def LoginNoLongerNeeded(self, tab): # pylint: disable=unused-argument
- assert self._logged_in

Powered by Google App Engine
This is Rietveld 408576698