mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-12-29 06:25:40 +00:00
b9eb593acd
Increased the version of pytest to make it work with py 3.10 [0]. The GET calls no longer return list but the object itself, fixed the tests and assertions to account for that. The tests did not account for the later added `allow_user_remove_domain` setting. And there were issues with missing and non-stopped patchers/mocks. Now all tests are at least passing. [0] https://github.com/pytest-dev/pytest/pull/8540
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
|
|
|
|
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 isinstance(data, dict)
|
|
assert len(data) == 7
|
|
assert data.get('id', None)
|
|
return data
|
|
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 isinstance(data, dict)
|
|
assert len(data) == 7
|
|
assert data.get('id', None)
|
|
return data
|
|
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","accounts",)
|
|
return data
|