示例#1
0
 def test_create_default(self, mock_log, mock_rollback, mock_libuser,
                         mock_users_model, mock_create_group,
                         mock_create_user):
     """
     unittest to validate create method with only username and password
     mock_log: mock of wok_log imported in model.users
     mock_rollback: mock of RollbackContext imported in model.users
     mock_libuser: mock of libuser imported in model.users
     mock_users_model: mock of UsersModel()  in model.users
     mock_create_group: mock of create_group()  in model.users
     mock_create_user: mock of create_user()  in model.users
     """
     mock_adm = mock_libuser.admin()
     mock_users = mock_users_model()
     inpt = {'name': 'user1', 'password': '******'}
     mock_users._validate_create_params.return_value = {
         'name': 'user1', 'password': '******', 'group': None,
         'profile': 'regularuser', 'no_login': '******'}
     mock_create_group.return_value = 1400
     users = UsersModel()
     users.create(inpt)
     self.assertFalse(mock_adm.lookupGroupByName.called,
                      msg='Unexpected call to mock_adm.lookupGroupByName')
     self.assertFalse(mock_adm.lookupGroupByName.called,
                      msg='Unexpected call to mock_adm.lookupGroupByName')
     self.assertFalse(mock_users._add_user_to_kvm_group.called,
                      msg='Unexpected call to '
                          'mock_users._add_user_to_kvm_group')
     self.assertFalse(mock_users._add_user_to_sudoers.called,
                      msg='Unexpected call to '
                          'mock_users._add_user_to_sudoers')
     mock_create_group.assert_called_once_with('user1')
     mock_create_user.assert_called_once_with('user1', 'password',
                                              1400, no_login=False)
示例#2
0
    def test_create_user(self):
        users_model = UsersModel()
        user_model = UserModel()

        user = '******'
        passwd = 'fakepass'
        group = 'unit_test_fake_group'
        profile = 'unit_test_fake_profile'

        common_users = users_model.get_list()
        params = {'name': user, 'password': passwd,
                  'group': group, 'profile': profile}
        with RollbackContext() as rollback:

            users_model.create(params)
            rollback.prependDefer(user_model.delete, user)

            new_users = users_model.get_list()
            self.assertEqual(len(new_users), len(common_users) + 1)

            enc_passwd = spwd.getspnam(user)[1]
            invalid_passwd = [None, "NP", "!", "!!",  "", "LK", "*"]
            self.assertNotIn(enc_passwd, invalid_passwd)

            self.assertEqual(crypt.crypt(passwd, enc_passwd), enc_passwd)
示例#3
0
 def test_addto_sudoers_success(self, mock_log, mock_os):
     """
     unittest to validate _add_user_to_sudoers() method
     with exception in file creation
     mock_log: mock of wok_log imported in model.users
     mock_os: mock of os imported in model.users
     """
     f = '/etc/sudoers.d/user1_conf'
     open_mock = mock.mock_open(read_data='1')
     with mock.patch('plugins.ginger.model.users.open',
                     open_mock, create=True):
         users = UsersModel()
         users._add_user_to_sudoers('user1')
         mock_os.chmod.assert_called_once_with(f, 0440)
示例#4
0
 def test_addto_kvm_grp_success(self, mock_log, mock_libuser,
                                mock_get_grp_obj):
     """
     unittest to validate _add_user_to_sudoers() method
     for success scenario
     mock_log: mock of wok_log imported in model.users
     mock_libuser: mock of libuser imported in model.users
     mock_get_grp_obj: mock of get_group_obj() method of model.users
     """
     mock_adm = mock_libuser.admin()
     mock_adm.modifyGroup.return_value = 1
     users = UsersModel()
     users._add_user_to_kvm_group('user1')
     self.assertTrue(mock_adm.modifyGroup.called,
                     msg='Expected call to adm.modifyGroup(). Not Called.')
     mock_get_grp_obj.assert_called_once_with('kvm')
示例#5
0
    def test_creating_existing_user_fails(self):
        users_model = UsersModel()
        user_model = UserModel()

        user = '******'
        passwd = 'fakepass'
        group = 'unit_test_fake_group'
        profile = 'unit_test_fake_profile'

        params = {'name': user, 'password': passwd,
                  'group': group, 'profile': profile}

        with RollbackContext() as rollback:
            users_model.create(params)
            rollback.prependDefer(user_model.delete, user)

            with self.assertRaises(OperationFailed):
                users_model.create(params)
示例#6
0
 def test_get_users_list(self):
     model = UsersModel()
     users = model.get_list()
     self.assertGreaterEqual(len(users), 0)