class TestAccountClient(unittest.TestCase): def setUp(self): self.client = AccountClient() def test_add_account_success(self): """ ACCOUNT (CLIENTS): create a new account and get information about account.""" account = account_name_generator() type, email = 'USER', '*****@*****.**' ret = self.client.add_account(account, type, email) assert ret with pytest.raises(Duplicate): self.client.add_account(account, type, email) with pytest.raises(InvalidObject): self.client.add_account('BAD_ACCOUNT_NAME', type, email) with pytest.raises(InvalidObject): self.client.add_account('toooooooloooooonaccounnnnnnnntnammmmme', type, email) acc_info = self.client.get_account(account) assert acc_info['account'] == account def test_get_account_notfound(self): """ ACCOUNT (CLIENTS): try to get information about not existing account.""" account = str(uuid()) with pytest.raises(AccountNotFound): self.client.get_account(account) def test_list_accounts(self): """ ACCOUNT (CLIENTS): get list of all accounts.""" dn = config_get('bootstrap', 'x509_identity') acc_list = [account_name_generator() for _ in range(5)] for account in acc_list: self.client.add_account(account, 'USER', '*****@*****.**') svr_list = [a['account'] for a in self.client.list_accounts(account_type='SERVICE', identity=dn)] assert 'root' in svr_list svr_list = [a['account'] for a in self.client.list_accounts(account_type='USER')] for account in acc_list: assert account in svr_list def test_update_account(self): """ ACCOUNT (CLIENTS): create a new account and update it.""" account = account_name_generator() type, email = 'USER', '*****@*****.**' ret = self.client.add_account(account, type, email) assert ret self.client.update_account(account=account, key='status', value='SUSPENDED') status = self.client.get_account(account=account)['status'] assert status == 'SUSPENDED' self.client.update_account(account=account, key='status', value='ACTIVE') status = self.client.get_account(account=account)['status'] assert status == 'ACTIVE' self.client.update_account(account=account, key='email', value='test') email = self.client.get_account(account=account)['email'] assert email == 'test'