mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2025-06-16 04:56:05 +00:00
Fix tests
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
This commit is contained in:
@ -27,6 +27,9 @@ class TestUnitApiZoneAdminApiKey(object):
|
||||
self.github_setting_patcher = patch(
|
||||
'powerdnsadmin.services.github.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.azure_setting_patcher = patch(
|
||||
'powerdnsadmin.services.azure.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.oidc_setting_patcher = patch(
|
||||
'powerdnsadmin.services.oidc.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
@ -54,6 +57,9 @@ class TestUnitApiZoneAdminApiKey(object):
|
||||
self.mock_setting_patcher = patch(
|
||||
'powerdnsadmin.routes.api.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.mock_decorators_setting_patcher = patch(
|
||||
'powerdnsadmin.decorators.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
|
||||
data = admin_apikey_data()
|
||||
api_key = ApiKey(desc=data['description'],
|
||||
@ -63,6 +69,7 @@ class TestUnitApiZoneAdminApiKey(object):
|
||||
|
||||
self.mock_google_setting = self.google_setting_patcher.start()
|
||||
self.mock_github_setting = self.github_setting_patcher.start()
|
||||
self.mock_azure_setting = self.azure_setting_patcher.start()
|
||||
self.mock_oidc_setting = self.oidc_setting_patcher.start()
|
||||
self.mock_helpers_setting = self.helpers_setting_patcher.start()
|
||||
self.mock_models_setting = self.models_setting_patcher.start()
|
||||
@ -75,17 +82,40 @@ class TestUnitApiZoneAdminApiKey(object):
|
||||
self.mock_apikey = self.mock_apikey_patcher.start()
|
||||
self.mock_hist = self.mock_hist_patcher.start()
|
||||
self.mock_setting = self.mock_setting_patcher.start()
|
||||
self.mock_decorators_setting = self.mock_decorators_setting_patcher.start()
|
||||
|
||||
self.mock_google_setting.return_value.get.side_effect = load_data
|
||||
self.mock_github_setting.return_value.get.side_effect = load_data
|
||||
self.mock_azure_setting.return_value.get.side_effect = load_data
|
||||
self.mock_oidc_setting.return_value.get.side_effect = load_data
|
||||
self.mock_helpers_setting.return_value.get.side_effect = load_data
|
||||
self.mock_models_setting.return_value.get.side_effect = load_data
|
||||
self.mock_domain_model_setting.return_value.get.side_effect = load_data
|
||||
self.mock_record_model_setting.return_value.get.side_effect = load_data
|
||||
self.mock_server_model_setting.return_value.get.side_effect = load_data
|
||||
self.mock_decorators_setting.return_value.get.side_effect = load_data
|
||||
self.mock_apikey.return_value.is_validate.return_value = api_key
|
||||
|
||||
yield
|
||||
|
||||
for patcher in [
|
||||
self.google_setting_patcher,
|
||||
self.github_setting_patcher,
|
||||
self.azure_setting_patcher,
|
||||
self.oidc_setting_patcher,
|
||||
self.helpers_setting_patcher,
|
||||
self.models_setting_patcher,
|
||||
self.domain_model_setting_patcher,
|
||||
self.record_model_setting_patcher,
|
||||
self.server_model_setting_patcher,
|
||||
self.mock_apikey_patcher,
|
||||
self.mock_hist_patcher,
|
||||
self.mock_setting_patcher,
|
||||
self.mock_decorators_setting_patcher,
|
||||
]:
|
||||
patcher.stop()
|
||||
|
||||
|
||||
def test_empty_get(self, client, common_data_mock, admin_apikey):
|
||||
with patch('powerdnsadmin.routes.api.Domain') as mock_domain, \
|
||||
patch('powerdnsadmin.lib.utils.requests.get') as mock_get:
|
||||
|
@ -22,6 +22,9 @@ class TestUnitApiZoneAdminUser(object):
|
||||
self.github_setting_patcher = patch(
|
||||
'powerdnsadmin.services.github.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.azure_setting_patcher = patch(
|
||||
'powerdnsadmin.services.azure.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.oidc_setting_patcher = patch(
|
||||
'powerdnsadmin.services.oidc.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
@ -57,6 +60,7 @@ class TestUnitApiZoneAdminUser(object):
|
||||
|
||||
self.mock_google_setting = self.google_setting_patcher.start()
|
||||
self.mock_github_setting = self.github_setting_patcher.start()
|
||||
self.mock_azure_setting = self.azure_setting_patcher.start()
|
||||
self.mock_oidc_setting = self.oidc_setting_patcher.start()
|
||||
self.mock_base_route_user = self.base_route_user_patcher.start()
|
||||
self.mock_helpers_setting = self.helpers_setting_patcher.start()
|
||||
@ -74,6 +78,7 @@ class TestUnitApiZoneAdminUser(object):
|
||||
|
||||
self.mock_google_setting.return_value.get.side_effect = load_data
|
||||
self.mock_github_setting.return_value.get.side_effect = load_data
|
||||
self.mock_azure_setting.return_value.get.side_effect = load_data
|
||||
self.mock_oidc_setting.return_value.get.side_effect = load_data
|
||||
self.mock_helpers_setting.return_value.get.side_effect = load_data
|
||||
self.mock_models_setting.return_value.get.side_effect = load_data
|
||||
@ -91,6 +96,27 @@ class TestUnitApiZoneAdminUser(object):
|
||||
self.mock_base_route_user.query.filter.return_value.first.return_value = self.mockk
|
||||
self.mock_base_route_user.return_value.is_validate.return_value = True
|
||||
|
||||
yield
|
||||
|
||||
for patcher in [
|
||||
self.google_setting_patcher,
|
||||
self.github_setting_patcher,
|
||||
self.azure_setting_patcher,
|
||||
self.oidc_setting_patcher,
|
||||
self.base_route_user_patcher,
|
||||
self.helpers_setting_patcher,
|
||||
self.models_setting_patcher,
|
||||
self.domain_model_setting_patcher,
|
||||
self.record_model_setting_patcher,
|
||||
self.server_model_setting_patcher,
|
||||
self.decorators_setting_patcher,
|
||||
self.api_setting_patcher,
|
||||
self.mock_user_patcher,
|
||||
self.mock_hist_patcher,
|
||||
]:
|
||||
patcher.stop()
|
||||
|
||||
|
||||
def test_empty_get(self, client, common_data_mock,
|
||||
basic_auth_admin_headers):
|
||||
with patch('powerdnsadmin.routes.api.Domain') as mock_domain, \
|
||||
|
@ -22,6 +22,9 @@ class TestUnitApiZoneUser(object):
|
||||
self.github_setting_patcher = patch(
|
||||
'powerdnsadmin.services.github.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.azure_setting_patcher = patch(
|
||||
'powerdnsadmin.services.azure.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.oidc_setting_patcher = patch(
|
||||
'powerdnsadmin.services.oidc.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
@ -57,6 +60,7 @@ class TestUnitApiZoneUser(object):
|
||||
|
||||
self.mock_google_setting = self.google_setting_patcher.start()
|
||||
self.mock_github_setting = self.github_setting_patcher.start()
|
||||
self.mock_azure_setting = self.azure_setting_patcher.start()
|
||||
self.mock_oidc_setting = self.oidc_setting_patcher.start()
|
||||
self.mock_base_route_user = self.base_route_user_patcher.start()
|
||||
self.mock_helpers_setting = self.helpers_setting_patcher.start()
|
||||
@ -74,6 +78,7 @@ class TestUnitApiZoneUser(object):
|
||||
|
||||
self.mock_google_setting.return_value.get.side_effect = load_data
|
||||
self.mock_github_setting.return_value.get.side_effect = load_data
|
||||
self.mock_azure_setting.return_value.get.side_effect = load_data
|
||||
self.mock_oidc_setting.return_value.get.side_effect = load_data
|
||||
self.mock_helpers_setting.return_value.get.side_effect = load_data
|
||||
self.mock_models_setting.return_value.get.side_effect = load_data
|
||||
@ -91,6 +96,27 @@ class TestUnitApiZoneUser(object):
|
||||
self.mock_base_route_user.query.filter.return_value.first.return_value = self.mockk
|
||||
self.mock_base_route_user.return_value.is_validate.return_value = True
|
||||
|
||||
yield
|
||||
|
||||
for patcher in [
|
||||
self.google_setting_patcher,
|
||||
self.github_setting_patcher,
|
||||
self.azure_setting_patcher,
|
||||
self.oidc_setting_patcher,
|
||||
self.base_route_user_patcher,
|
||||
self.helpers_setting_patcher,
|
||||
self.models_setting_patcher,
|
||||
self.domain_model_setting_patcher,
|
||||
self.record_model_setting_patcher,
|
||||
self.server_model_setting_patcher,
|
||||
self.decorators_setting_patcher,
|
||||
self.api_setting_patcher,
|
||||
self.mock_user_patcher,
|
||||
self.mock_hist_patcher,
|
||||
]:
|
||||
patcher.stop()
|
||||
|
||||
|
||||
def test_create_zone(self, client, common_data_mock, zone_data,
|
||||
basic_auth_user_headers, created_zone_data):
|
||||
with patch('powerdnsadmin.lib.helper.requests.request') as mock_post, \
|
||||
|
@ -25,6 +25,9 @@ class TestUnitApiZoneUserApiKey(object):
|
||||
self.github_setting_patcher = patch(
|
||||
'powerdnsadmin.services.github.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.azure_setting_patcher = patch(
|
||||
'powerdnsadmin.services.azure.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.oidc_setting_patcher = patch(
|
||||
'powerdnsadmin.services.oidc.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
@ -49,9 +52,16 @@ class TestUnitApiZoneUserApiKey(object):
|
||||
self.mock_hist_patcher = patch(
|
||||
'powerdnsadmin.routes.api.History',
|
||||
spec=powerdnsadmin.models.history.History)
|
||||
self.mock_setting_patcher = patch(
|
||||
'powerdnsadmin.routes.api.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
self.mock_decorators_setting_patcher = patch(
|
||||
'powerdnsadmin.decorators.Setting',
|
||||
spec=powerdnsadmin.models.setting.Setting)
|
||||
|
||||
self.mock_google_setting = self.google_setting_patcher.start()
|
||||
self.mock_github_setting = self.github_setting_patcher.start()
|
||||
self.mock_azure_setting = self.azure_setting_patcher.start()
|
||||
self.mock_oidc_setting = self.oidc_setting_patcher.start()
|
||||
self.mock_helpers_setting = self.helpers_setting_patcher.start()
|
||||
self.mock_models_setting = self.models_setting_patcher.start()
|
||||
@ -63,15 +73,19 @@ class TestUnitApiZoneUserApiKey(object):
|
||||
)
|
||||
self.mock_apikey = self.mock_apikey_patcher.start()
|
||||
self.mock_hist = self.mock_hist_patcher.start()
|
||||
self.mock_setting = self.mock_setting_patcher.start()
|
||||
self.mock_decorators_setting = self.mock_decorators_setting_patcher.start()
|
||||
|
||||
self.mock_google_setting.return_value.get.side_effect = load_data
|
||||
self.mock_github_setting.return_value.get.side_effect = load_data
|
||||
self.mock_azure_setting.return_value.get.side_effect = load_data
|
||||
self.mock_oidc_setting.return_value.get.side_effect = load_data
|
||||
self.mock_helpers_setting.return_value.get.side_effect = load_data
|
||||
self.mock_models_setting.return_value.get.side_effect = load_data
|
||||
self.mock_domain_model_setting.return_value.get.side_effect = load_data
|
||||
self.mock_record_model_setting.return_value.get.side_effect = load_data
|
||||
self.mock_server_model_setting.return_value.get.side_effect = load_data
|
||||
self.mock_decorators_setting.return_value.get.side_effect = load_data
|
||||
|
||||
data = user_apikey_data()
|
||||
domain = Domain(name=data['domains'][0])
|
||||
@ -83,6 +97,26 @@ class TestUnitApiZoneUserApiKey(object):
|
||||
|
||||
self.mock_apikey.return_value.is_validate.return_value = api_key
|
||||
|
||||
yield
|
||||
|
||||
for patcher in [
|
||||
self.google_setting_patcher,
|
||||
self.github_setting_patcher,
|
||||
self.azure_setting_patcher,
|
||||
self.oidc_setting_patcher,
|
||||
self.helpers_setting_patcher,
|
||||
self.models_setting_patcher,
|
||||
self.domain_model_setting_patcher,
|
||||
self.record_model_setting_patcher,
|
||||
self.server_model_setting_patcher,
|
||||
self.mock_apikey_patcher,
|
||||
self.mock_hist_patcher,
|
||||
self.mock_setting_patcher,
|
||||
self.mock_decorators_setting_patcher,
|
||||
]:
|
||||
patcher.stop()
|
||||
|
||||
|
||||
def test_create_zone(self, client, common_data_mock, zone_data,
|
||||
user_apikey, created_zone_data):
|
||||
with patch('powerdnsadmin.lib.helper.requests.request') as mock_post, \
|
||||
|
Reference in New Issue
Block a user