def test_enroll_new_device_error(self, mock_directoryclass):
   err_message = 'Failed to move device'
   mock_directoryclient = mock_directoryclass.return_value
   mock_directoryclient.move_chrome_device_org_unit.side_effect = (
       directory.DirectoryRPCError(err_message))
   ou = constants.ORG_UNIT_DICT.get('DEFAULT')
   with self.assertRaisesRegexp(
       device_model.DeviceCreationError,
       device_model._FAILED_TO_MOVE_DEVICE_MSG % (
           '2346777', ou, err_message)):
     device_model.Device.enroll('2346777', loanertest.USER_EMAIL)
 def test_unenroll_error(self):
   err_message = 'Failed to move device'
   self.enroll_test_device(loanertest.TEST_DIR_DEVICE_DEFAULT)
   self.mock_directoryclient.reset()
   self.mock_directoryclient.move_chrome_device_org_unit.side_effect = (
       directory.DirectoryRPCError(err_message))
   unenroll_ou = config_model.Config.get('unenroll_ou')
   with self.assertRaisesRegexp(
       device_model.FailedToUnenrollError,
       device_model._FAILED_TO_MOVE_DEVICE_MSG % (
           self.test_device.serial_number, unenroll_ou, err_message)):
     self.test_device.unenroll(loanertest.USER_EMAIL)
Exemple #3
0
    def test_enable_guest_mode_failure(self):
        self.enroll_test_device(loanertest.TEST_DIR_DEVICE_DEFAULT)
        self.test_device.assigned_user = loanertest.USER_EMAIL
        self.test_device.put()
        self.mock_directoryclient.reset_mock()
        self.mock_directoryclient.move_chrome_device_org_unit.side_effect = (
            directory.DirectoryRPCError('Guest move failed.'))
        config_model.Config.set('allow_guest_mode', True)

        with self.assertRaisesWithLiteralMatch(device_model.EnableGuestError,
                                               'Guest move failed.'):
            self.test_device.enable_guest_mode(loanertest.USER_EMAIL)
        self.assertNotEqual(device_model.constants.ORG_UNIT_DICT['GUEST'],
                            self.test_device.current_ou)
 def test_disable_guest_mode_fail_to_move(self):
   self.enroll_test_device(loanertest.TEST_DIR_DEVICE_DEFAULT)
   self.test_device.current_ou = constants.ORG_UNIT_DICT['GUEST']
   self.test_device.assigned_user = loanertest.USER_EMAIL
   self.test_device.put()
   err_message = 'Failed to move device'
   self.mock_directoryclient.reset()
   self.mock_directoryclient.move_chrome_device_org_unit.side_effect = (
       directory.DirectoryRPCError(err_message))
   with self.assertRaisesRegexp(
       device_model.UnableToMoveToDefaultOUError,
       device_model._FAILED_TO_MOVE_DEVICE_MSG % (
           self.test_device.serial_number, constants.ORG_UNIT_DICT['DEFAULT'],
           err_message)):
     self.test_device._disable_guest_mode(loanertest.USER_EMAIL)
Exemple #5
0
 def test_enroll_move_ou_error(self, mock_directoryclass):
   device_model.Device(
       enrolled=False,
       serial_number='5467FD',
       chrome_device_id='unique_id_09',
       current_ou='not_default').put()
   err_message = 'Failed to move device'
   mock_directoryclient = mock_directoryclass.return_value
   mock_directoryclient.move_chrome_device_org_unit.side_effect = (
       directory.DirectoryRPCError(err_message))
   ou = constants.ORG_UNIT_DICT['DEFAULT']
   with self.assertRaisesRegexp(
       device_model.DeviceCreationError,
       device_model._FAILED_TO_MOVE_DEVICE_MSG % (
           '5467FD', ou, err_message)):
     device_model.Device.enroll(
         user_email=loanertest.USER_EMAIL, serial_number='5467FD')
  def test_get_loan_without_given_name(self):
    """Tests the get loan function when the given name is not needed."""
    self.mock_directoryclient.given_name.side_effect = (
        directory.DirectoryRPCError('No name!'))
    now = datetime.datetime(year=2017, month=1, day=1)
    with freezegun.freeze_time(now):
      config_model.Config.set('loan_duration', 3)
      config_model.Config.set('maximum_loan_duration', 14)
      self.create_device(assigned_user=loanertest.USER_EMAIL)

      response = self.service.get_loan(
          chrome_message.LoanRequest(device_id=UNIQUE_ID, need_name=False))
      self.assertIsInstance(response, chrome_message.LoanResponse)
      self.assertEqual(response.due_date, now + datetime.timedelta(days=3))
      self.assertEqual(
          response.max_extend_date, now + datetime.timedelta(days=14))
      self.assertIsNone(response.given_name)
      self.assertFalse(response.guest_enabled)
 def test_get_users_directory_check_rpcerror_with_nextpagetoken(
         self, mock_directoryclass):
     directory_obj_rpcerror = [
         {
             'members': [
                 {
                     'email':
                     'tech_admin_user@{}'.format(loanertest.USER_DOMAIN)
                 },
             ],
             'nextPageToken':
             'AHmOf6b_Ika37tPYH5N'
         },
         directory.DirectoryRPCError('Directory Failed')
     ]
     mockdirectoryclient = mock_directoryclass.return_value
     mockdirectoryclient.users_in_group.side_effect = (
         directory_obj_rpcerror)
     with self.assertRaisesRegexp(
             sync_users.InvalidCallToDirectoryError,
             sync_users._DIR_CALL_INVALID_MSG % 'Directory Failed'):
         sync_users._get_users_directory(loanertest.USER_EMAIL,
                                         mockdirectoryclient)
 def raise_error(group_email):
     raise directory.DirectoryRPCError(group_email)