def test_create_existing_user_fails(self): user = '******' passwd = 'fakepass' with RollbackContext() as rollback: users.create_user(user, passwd) rollback.prependDefer(users.delete_user, user) with self.assertRaises(OperationFailed): users.create_user(user, passwd)
def test_create_user(self): user = '******' passwd = 'fakepass' common_users = users.get_users() with RollbackContext() as rollback: users.create_user(user, passwd) rollback.prependDefer(users.delete_user, user) new_users = users.get_users() 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)
def test_create_user_success(self, mock_log, mock_libuser, mock_crypt): """ unittest to validate create_user method for success scenario mock_log: mock of wok_log imported in model.users mock_libuser: mock of libuser imported in model.users mock_crypt: mock of crypt imported in model.users """ mock_adm = mock_libuser.admin() mock_adm.lookupUserByName.return_value = False mock_adm.lookupGroupById.return_value = True create_user('dummy_user', 'password', 1020, no_login=False) mock_adm.lookupGroupById.assert_called_once_with(1020) mock_adm.initUser.assert_called_once_with('dummy_user') self.assertTrue(mock_adm.addUser.called, msg='Expected call to mock_adm.addUser. Not called') self.assertTrue(mock_adm.setpassUser.called, msg='Expected call to mock_adm.setpassUser. ' 'Not called')