mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2025-08-02 02:33:44 +00:00
Extend api with account and user management
This commit is contained in:
54
tests/integration/api/management/__init__.py
Normal file
54
tests/integration/api/management/__init__.py
Normal file
@@ -0,0 +1,54 @@
|
||||
|
||||
|
||||
class IntegrationApiManagement(object):
|
||||
|
||||
def get_account(self, account_name, status_code=200):
|
||||
res = self.client.get(
|
||||
"/api/v1/pdnsadmin/accounts/{}".format(account_name),
|
||||
headers=self.basic_auth_admin_headers,
|
||||
content_type="application/json",
|
||||
)
|
||||
if isinstance(status_code, (tuple, list)):
|
||||
assert res.status_code in status_code
|
||||
elif status_code:
|
||||
assert res.status_code == status_code
|
||||
if res.status_code == 200:
|
||||
data = res.get_json(force=True)
|
||||
assert len(data) == 1
|
||||
return data[0]
|
||||
return None
|
||||
|
||||
def check_account(self, cmpdata, data=None):
|
||||
data = self.get_account(cmpdata["name"])
|
||||
for key, value in cmpdata.items():
|
||||
assert data[key] == value
|
||||
return data
|
||||
|
||||
def get_user(self, username, status_code=200):
|
||||
res = self.client.get(
|
||||
"/api/v1/pdnsadmin/users/{}".format(username),
|
||||
headers=self.basic_auth_admin_headers,
|
||||
content_type="application/json",
|
||||
)
|
||||
if isinstance(status_code, (tuple, list)):
|
||||
assert res.status_code in status_code
|
||||
elif status_code:
|
||||
assert res.status_code == status_code
|
||||
assert res.status_code == status_code
|
||||
if status_code == 200:
|
||||
data = res.get_json(force=True)
|
||||
assert len(data) == 1
|
||||
return data[0]
|
||||
return None
|
||||
|
||||
def check_user(self, cmpdata, data=None):
|
||||
if data is None:
|
||||
data = self.get_user(cmpdata["username"])
|
||||
for key, value in data.items():
|
||||
if key in ('username', 'firstname', 'lastname', 'email'):
|
||||
assert cmpdata[key] == value
|
||||
elif key == 'role':
|
||||
assert data[key]['name'] == cmpdata['role_name']
|
||||
else:
|
||||
assert key in ("id",)
|
||||
return data
|
Reference in New Issue
Block a user