Index: functional/chromeos_enterprise_enroll.py |
=================================================================== |
--- functional/chromeos_enterprise_enroll.py (revision 0) |
+++ functional/chromeos_enterprise_enroll.py (revision 0) |
@@ -0,0 +1,78 @@ |
+# Copyright (c) 2011 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 os |
+ |
+import pyauto_functional # must be imported before pyauto |
+import pyauto |
+import pyauto_errors |
+ |
+ |
+class ChromeosEnterpriseEnroll(pyauto.PyUITest): |
+ """Test enrollment of chromebook device to enterprise domains. |
+ |
+ Preconditions: |
+ 1) TPM is not locked. That is, the device was not 'owned' by successful |
+ enrollment to a domain, or by user sign in, since its last recovery. |
+ 2) Files exist at: /root/.forget_usernames, /home/chronos/.oobe_completed, |
+ and /tmp/machine-info |
+ 3) File does not exist at: /home/.shadow/install_attributes.pb |
+ """ |
+ |
+ _CHROME_FLAGS_FOR_ENTERPRISE = [ |
+ ('--device-management-url=' |
+ 'https://cros-auto.sandbox.google.com/devicemanagement/data/api'), |
+ '--gaia-host=gaiastaging.corp.google.com', |
+ ] |
+ |
+ def setUp(self): |
+ pyauto.PyUITest.setUp(self) |
+ self.assertFalse(self.IsEnterpriseDevice(), msg='Device is already ' |
+ 'enrolled. Tests cannot continue.') |
+ # TODO(scunningham): Add precondition steps to workaround bug 22282. |
+ |
+ def ExtraChromeFlags(self): |
+ """Launches Chrome with custom flags for enterprise test domains. |
+ |
+ Overrides the default list of flags normally passed to Chrome by |
+ ExtraChromeFlags() in pyauto.py. |
+ """ |
+ return self._CHROME_FLAGS_FOR_ENTERPRISE |
+ |
+ def testEnrollToCrOsUnmanagedDomain(self): |
+ """Try enroll to domain that does not support CrOS Management.""" |
+ credentials = self.GetPrivateInfo()['test_enterprise_disabled_domain'] |
+ enrollment_result = self.EnrollEnterpriseDevice(credentials['username'], |
+ credentials['password']) |
+ self.assertTrue(enrollment_result == 'Enrollment failed.', |
+ msg='Enrollment succeded to a domain that does not have ' |
+ 'Chrome OS management enabled.') |
+ # TODO(scunningham): Add more precise error checking after bug 22280 is |
+ # fixed. |
+ |
+ def testEnrollWithInvalidPassword(self): |
+ """Try to enroll with an invalid account password.""" |
+ credentials = self.GetPrivateInfo()['test_enterprise_enabled_domain'] |
+ enrollment_result = self.EnrollEnterpriseDevice(credentials['username'], |
+ '__bogus_password__') |
+ self.assertTrue(enrollment_result == 'Enrollment failed.', |
+ msg='Enrollment succeeded to a domain that has Chrome OS ' |
+ 'management enabled, using an invalid password.') |
+ # TODO(scunningham): Add more precise error checking after bug 22280 is |
+ # fixed. |
+ |
+ def testEnrollWithInvalidUsername(self): |
+ """Try to enroll with an invalid account username.""" |
+ credentials = self.GetPrivateInfo()['test_enterprise_enabled_domain'] |
+ enrollment_result = self.EnrollEnterpriseDevice('__bogus_username__', |
+ credentials['password']) |
+ self.assertTrue(enrollment_result == 'Enrollment failed.', |
+ msg='Enrollment succeeded to a domain that has Chrome OS ' |
+ 'management enabled, using an invalid user account.') |
+ # TODO(scunningham): Add more precise error checking after bug 22280 is |
+ # fixed. |
+ |
+ |
+if __name__ == '__main__': |
+ pyauto_functional.Main() |
Property changes on: functional/chromeos_enterprise_enroll.py |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |