blob: 66f112a61f7eeb83c7a625fb51108e94d2389538 [file] [log] [blame]
Achuith Bhandarkar06b98e22014-05-13 11:56:16 -07001# Copyright 2014 The Chromium OS 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
Achuith Bhandarkar6cb16162014-06-04 17:22:14 -07005import logging
Achuith Bhandarkar06b98e22014-05-13 11:56:16 -07006
7from autotest_lib.client.bin import utils
Achuith Bhandarkar88a2bab2015-07-09 17:36:25 -07008from autotest_lib.client.common_lib.cros import chrome
Achuith Bhandarkar06b98e22014-05-13 11:56:16 -07009
10
Achuith Bhandarkar06b98e22014-05-13 11:56:16 -070011def _ExecuteOobeCmd(browser, cmd):
12 logging.info('Invoking ' + cmd)
13 oobe = browser.oobe
14 oobe.WaitForJavaScriptExpression('typeof Oobe !== \'undefined\'', 10)
15 oobe.ExecuteJavaScript(cmd)
16
17
18def SwitchToRemora(browser):
19 """Switch to Remora enrollment.
20
21 @param browser: telemetry browser object.
22 """
Achuith Bhandarkar88a2bab2015-07-09 17:36:25 -070023 chrome.Chrome.wait_for_browser_restart(
Achuith Bhandarkar16ee9772015-01-23 17:18:18 -080024 lambda: _ExecuteOobeCmd(browser,
25 'Oobe.remoraRequisitionForTesting();'))
Achuith Bhandarkar06b98e22014-05-13 11:56:16 -070026 utils.poll_for_condition(lambda: browser.oobe_exists, timeout=30)
27
Achuith Bhandarkar06b98e22014-05-13 11:56:16 -070028
29def RemoraEnrollment(browser, user_id, password):
30 """Enterprise login for a Remora device.
31
32 @param browser: telemetry browser object.
33 @param user_id: login credentials user_id.
34 @param password: login credentials password.
35 """
36 SwitchToRemora(browser)
Achuith Bhandarkar88a2bab2015-07-09 17:36:25 -070037 chrome.Chrome.wait_for_browser_restart(
38 lambda: browser.oobe.NavigateGaiaLogin(
39 user_id, password, enterprise_enroll=True,
40 for_user_triggered_enrollment=False))