blob: 07a936714d8154a28dc0f886e8003df00b113128 [file] [log] [blame]
# Copyright 2014 The Chromium OS 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 autotest_lib.client.bin import utils
from autotest_lib.client.common_lib.cros import chrome
def _ExecuteOobeCmd(browser, cmd):
logging.info('Invoking ' + cmd)
oobe = browser.oobe
oobe.WaitForJavaScriptCondition('typeof Oobe !== \'undefined\'',
timeout=10)
oobe.ExecuteJavaScript(cmd)
def SwitchToRemora(browser):
"""Switch to Remora enrollment.
@param browser: telemetry browser object.
"""
chrome.Chrome.wait_for_browser_restart(
lambda: _ExecuteOobeCmd(browser,
'Oobe.remoraRequisitionForTesting();'),
browser)
utils.poll_for_condition(lambda: browser.oobe_exists, timeout=30)
def RemoraEnrollment(browser, user_id, password):
"""Enterprise login for a Remora device.
@param browser: telemetry browser object.
@param user_id: login credentials user_id.
@param password: login credentials password.
"""
SwitchToRemora(browser)
browser.oobe.NavigateGaiaLogin(
user_id, password, enterprise_enroll=True,
for_user_triggered_enrollment=False)
def EnterpriseEnrollment(browser, user_id, password, auto_login=False):
"""Enterprise login for a kiosk device.
@param browser: telemetry browser object.
@param user_id: login credentials user_id.
@param password: login credentials password.
@param auto_login: also login after enrollment.
"""
browser.oobe.NavigateGaiaLogin(user_id, password,
enterprise_enroll=True,
for_user_triggered_enrollment=True)
if auto_login:
browser.oobe.NavigateGaiaLogin(user_id, password)
# TODO(achuith): Replace with WaitForLogin.
utils.poll_for_condition(lambda: not browser.oobe_exists, timeout=30)
def EnterpriseFakeEnrollment(browser, user_id, password, gaia_id,
auto_login=False):
"""Enterprise fake login.
@param browser: telemetry browser object.
@param user_id: login credentials user_id.
@param password: login credentials password.
@param gaia_id: login credentials gaia_id.
@param auto_login: also login after enrollment.
"""
browser.oobe.NavigateFakeLogin(user_id, password, gaia_id,
enterprise_enroll=True)
if auto_login:
browser.oobe.NavigateFakeLogin(user_id, password, gaia_id)
# TODO(achuith): Replace with WaitForLogin.
utils.poll_for_condition(lambda: not browser.oobe_exists, timeout=30)
def OnlineDemoMode(browser):
"""Switch to online demo mode.
@param browser: telemetry browser object.
"""
_ExecuteOobeCmd(browser, 'Oobe.setUpOnlineDemoModeForTesting();')
utils.poll_for_condition(lambda: not browser.oobe_exists, timeout=90)