Update service client access in tempest tests
All the Designate service clients are registered via the plugin interface[1],
that way Tempest register and create the lazy initialization of registered
clients so that they can be access from there in consistent way.
But designate-tempest-client create a separate instance of those and access
instead of accessing the registered service client in Tempest. This commit
makes all the service clients access from Tempest registry and remove the
separate objects.
[1] https://github.com/openstack/designate-tempest-plugin/blob/master/designate_tempest_plugin/plugin.py#L78
Change-Id: I4b65ca16cd53ff4c6bece642764a4abe2a469c01
diff --git a/designate_tempest_plugin/clients.py b/designate_tempest_plugin/clients.py
index a4d84c8..d412ff5 100644
--- a/designate_tempest_plugin/clients.py
+++ b/designate_tempest_plugin/clients.py
@@ -15,41 +15,28 @@
from tempest import config
from tempest.lib import auth
-from designate_tempest_plugin.services.dns.v2.json.zones_client import \
- ZonesClient
-from designate_tempest_plugin.services.dns.v2.json.zone_imports_client import \
- ZoneImportsClient
from designate_tempest_plugin.services.dns.v2.json.blacklists_client import \
BlacklistsClient
-from designate_tempest_plugin.services.dns.v2.json.quotas_client import \
- QuotasClient
-from designate_tempest_plugin.services.dns.v2.json.zone_exports_client import \
- ZoneExportsClient
-from designate_tempest_plugin.services.dns.v2.json.recordset_client import \
- RecordsetClient
from designate_tempest_plugin.services.dns.v2.json.pool_client import \
PoolClient
+from designate_tempest_plugin.services.dns.v2.json.recordset_client import \
+ RecordsetClient
from designate_tempest_plugin.services.dns.v2.json.tld_client import \
TldClient
-from designate_tempest_plugin.services.dns.admin.json.quotas_client import \
- QuotasClient as AdminQuotaClient
+from designate_tempest_plugin.services.dns.v2.json.zones_client import \
+ ZonesClient
+# TODO(johnsom) remove once neutron-tempest-plugin test_dns_integration
+# has been updated
+# https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/800291
from designate_tempest_plugin.services.dns.query.query_client import \
QueryClient
-from designate_tempest_plugin.services.dns.v2.json.transfer_request_client \
- import TransferRequestClient
-from designate_tempest_plugin.services.dns.v2.json.transfer_accepts_client \
- import TransferAcceptClient
-from designate_tempest_plugin.services.dns.v2.json.tsigkey_client \
- import TsigkeyClient
-from designate_tempest_plugin.services.dns.v2.json.service_client \
- import SevriceClient
-from designate_tempest_plugin.services.dns.v2.json.designate_limit_client \
- import DesignateLimitClient
-from designate_tempest_plugin.services.dns.v2.json.ptr_client import PtrClient
CONF = config.CONF
+# TODO(johnsom) remove once neutron-tempest-plugin test_dns_integration
+# has been updated
+# https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/800291
class ManagerV2(clients.Manager):
def __init__(self, credentials=None):
@@ -58,19 +45,6 @@
def _init_clients(self, params):
self.zones_client = ZonesClient(**params)
- self.zone_imports_client = ZoneImportsClient(**params)
- self.blacklists_client = BlacklistsClient(**params)
- self.quotas_client = QuotasClient(**params)
- self.zone_exports_client = ZoneExportsClient(**params)
- self.recordset_client = RecordsetClient(**params)
- self.pool_client = PoolClient(**params)
- self.tld_client = TldClient(**params)
- self.transfer_request_client = TransferRequestClient(**params)
- self.transfer_accept_client = TransferAcceptClient(**params)
- self.tsigkey_client = TsigkeyClient(**params)
- self.service_client = SevriceClient(**params)
- self.designate_limit_client = DesignateLimitClient(**params)
- self.ptr_client = PtrClient(**params)
self.query_client = QueryClient(
nameservers=CONF.dns.nameservers,
@@ -92,29 +66,7 @@
return params
-class ManagerAdmin(clients.Manager):
-
- def __init__(self, credentials=None):
- super(ManagerAdmin, self).__init__(credentials)
- self._init_clients(self._get_params())
-
- def _init_clients(self, params):
- self.quotas_client = AdminQuotaClient(**params)
-
- def _get_params(self):
- params = dict(self.default_params)
- params.update({
- 'auth_provider': self.auth_provider,
- 'service': CONF.dns.catalog_type,
- 'region': CONF.identity.region,
- 'endpoint_type': CONF.dns.endpoint_type,
- 'build_interval': CONF.dns.build_interval,
- 'build_timeout': CONF.dns.build_timeout
- })
- return params
-
-
-class ManagerV2Unauthed(ManagerV2):
+class ManagerV2Unauthed(clients.Manager):
def __init__(self, credentials=None):
super(ManagerV2Unauthed, self).__init__(credentials)
@@ -127,12 +79,31 @@
)
self._init_clients(self._get_params())
+ def _init_clients(self, params):
+ self.zones_client = ZonesClient(**params)
+ self.blacklists_client = BlacklistsClient(**params)
+ self.recordset_client = RecordsetClient(**params)
+ self.pool_client = PoolClient(**params)
+ self.tld_client = TldClient(**params)
+
def _auth_provider_class(self):
if CONF.identity.auth_version == 'v3':
return KeystoneV3UnauthedProvider
else:
return KeystoneV2UnauthedProvider
+ def _get_params(self):
+ params = dict(self.default_params)
+ params.update({
+ 'auth_provider': self.auth_provider,
+ 'service': CONF.dns.catalog_type,
+ 'region': CONF.identity.region,
+ 'endpoint_type': CONF.dns.endpoint_type,
+ 'build_interval': CONF.dns.build_interval,
+ 'build_timeout': CONF.dns.build_timeout
+ })
+ return params
+
class BaseUnauthedProvider(auth.KeystoneAuthProvider):
diff --git a/designate_tempest_plugin/plugin.py b/designate_tempest_plugin/plugin.py
index 47479ba..7e33261 100644
--- a/designate_tempest_plugin/plugin.py
+++ b/designate_tempest_plugin/plugin.py
@@ -18,6 +18,7 @@
from tempest.test_discover import plugins
from designate_tempest_plugin import config as project_config
+from designate_tempest_plugin.services.dns import v2 as dns_v2_services
class DesignateTempestPlugin(plugins.TempestPlugin):
@@ -87,11 +88,7 @@
'name': 'dns_v2',
'service_version': 'dns.v2',
'module_path': 'designate_tempest_plugin.services.dns.v2',
- 'client_names': ['BlacklistsClient', 'PoolClient', 'QuotasClient',
- 'RecordsetClient', 'TldClient',
- 'TransferAcceptClient', 'TransferRequestClient',
- 'TsigkeyClient', 'ZoneExportsClient',
- 'ZoneImportsClient', 'ZonesClient']
+ 'client_names': dns_v2_services.__all__
}
admin_params.update(dns_config)
v2_params.update(dns_config)
diff --git a/designate_tempest_plugin/services/dns/v2/__init__.py b/designate_tempest_plugin/services/dns/v2/__init__.py
index 34847e7..2f738df 100644
--- a/designate_tempest_plugin/services/dns/v2/__init__.py
+++ b/designate_tempest_plugin/services/dns/v2/__init__.py
@@ -14,12 +14,18 @@
from designate_tempest_plugin.services.dns.v2.json.blacklists_client import \
BlacklistsClient
+from designate_tempest_plugin.services.dns.v2.json.designate_limit_client \
+ import DesignateLimitClient
from designate_tempest_plugin.services.dns.v2.json.pool_client import \
PoolClient
+from designate_tempest_plugin.services.dns.v2.json.ptr_client \
+ import PtrClient
from designate_tempest_plugin.services.dns.v2.json.quotas_client import \
QuotasClient
from designate_tempest_plugin.services.dns.v2.json.recordset_client import \
RecordsetClient
+from designate_tempest_plugin.services.dns.v2.json.service_client import \
+ ServiceClient
from designate_tempest_plugin.services.dns.v2.json.tld_client import TldClient
from designate_tempest_plugin.services.dns.v2.json.transfer_accepts_client \
import TransferAcceptClient
@@ -27,14 +33,15 @@
import TransferRequestClient
from designate_tempest_plugin.services.dns.v2.json.tsigkey_client import \
TsigkeyClient
+from designate_tempest_plugin.services.dns.v2.json.zones_client import \
+ ZonesClient
from designate_tempest_plugin.services.dns.v2.json.zone_exports_client import \
ZoneExportsClient
from designate_tempest_plugin.services.dns.v2.json.zone_imports_client import \
ZoneImportsClient
-from designate_tempest_plugin.services.dns.v2.json.zones_client import \
- ZonesClient
-__all__ = ['BlacklistsClient', 'PoolClient', 'QuotasClient', 'RecordsetClient',
+__all__ = ['BlacklistsClient', 'DesignateLimitClient', 'PoolClient',
+ 'PtrClient', 'QuotasClient', 'RecordsetClient', 'ServiceClient',
'TldClient', 'TransferAcceptClient', 'TransferRequestClient',
- 'TsigkeyClient', 'ZoneExportsClient', 'ZoneImportsClient',
- 'ZonesClient']
+ 'TsigkeyClient', 'ZonesClient', 'ZoneExportsClient',
+ 'ZoneImportsClient']
diff --git a/designate_tempest_plugin/services/dns/v2/json/service_client.py b/designate_tempest_plugin/services/dns/v2/json/service_client.py
index fd24047..267e7a5 100644
--- a/designate_tempest_plugin/services/dns/v2/json/service_client.py
+++ b/designate_tempest_plugin/services/dns/v2/json/service_client.py
@@ -14,7 +14,7 @@
from designate_tempest_plugin.services.dns.v2.json import base
-class SevriceClient(base.DnsClientV2Base):
+class ServiceClient(base.DnsClientV2Base):
@base.handle_errors
def list_statuses(self, headers=None):
diff --git a/designate_tempest_plugin/tests/api/admin/test_quotas.py b/designate_tempest_plugin/tests/api/admin/test_quotas.py
index 1221b9f..0195ee3 100644
--- a/designate_tempest_plugin/tests/api/admin/test_quotas.py
+++ b/designate_tempest_plugin/tests/api/admin/test_quotas.py
@@ -52,7 +52,7 @@
def setup_clients(cls):
super(QuotasAdminTest, cls).setup_clients()
- cls.admin_client = cls.os_admin.quotas_client
+ cls.admin_client = cls.os_admin.dns_admin.QuotasClient()
@decorators.idempotent_id('ed42f367-e5ba-40d7-a08d-366ad787d21c')
def test_show_quotas(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_blacklists.py b/designate_tempest_plugin/tests/api/v2/test_blacklists.py
index 65b6dff..0e22bf6 100644
--- a/designate_tempest_plugin/tests/api/v2/test_blacklists.py
+++ b/designate_tempest_plugin/tests/api/v2/test_blacklists.py
@@ -39,7 +39,7 @@
@classmethod
def setup_clients(cls):
super(BlacklistsAdminTest, cls).setup_clients()
- cls.admin_client = cls.os_admin.blacklists_client
+ cls.admin_client = cls.os_admin.dns_v2.BlacklistsClient()
@decorators.idempotent_id('3a7f7564-6bdd-446e-addc-a3475b4c3f71')
def test_create_blacklist(self):
@@ -123,7 +123,7 @@
@classmethod
def setup_clients(cls):
super(TestBlacklistNotFoundAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.blacklists_client
+ cls.admin_client = cls.os_admin.dns_v2.BlacklistsClient()
@decorators.idempotent_id('9d65b638-fe98-47a8-853f-fa9244d144cc')
def test_show_blacklist_404(self):
@@ -166,7 +166,7 @@
@classmethod
def setup_clients(cls):
super(TestBlacklistInvalidIdAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.blacklists_client
+ cls.admin_client = cls.os_admin.dns_v2.BlacklistsClient()
@decorators.idempotent_id('c7bae53f-2edc-45d8-b254-8a81482728c1')
def test_show_blacklist_invalid_uuid(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_designate_limits.py b/designate_tempest_plugin/tests/api/v2/test_designate_limits.py
index a2c92dc..5db07c1 100644
--- a/designate_tempest_plugin/tests/api/v2/test_designate_limits.py
+++ b/designate_tempest_plugin/tests/api/v2/test_designate_limits.py
@@ -31,8 +31,7 @@
@classmethod
def setup_clients(cls):
super(DesignateLimit, cls).setup_clients()
-
- cls.admin_client = cls.os_admin.designate_limit_client
+ cls.admin_client = cls.os_admin.dns_v2.DesignateLimitClient()
@decorators.idempotent_id('828572be-8662-11eb-8ff2-74e5f9e2a801')
def test_list_designate_limits(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_pool.py b/designate_tempest_plugin/tests/api/v2/test_pool.py
index e2516af..21782ce 100644
--- a/designate_tempest_plugin/tests/api/v2/test_pool.py
+++ b/designate_tempest_plugin/tests/api/v2/test_pool.py
@@ -45,8 +45,7 @@
@classmethod
def setup_clients(cls):
super(PoolAdminTest, cls).setup_clients()
-
- cls.admin_client = cls.os_admin.pool_client
+ cls.admin_client = cls.os_admin.dns_v2.PoolClient()
@decorators.idempotent_id('69257f7c-b3d5-4e1b-998e-0677ad12f125')
def test_create_pool(self):
@@ -136,7 +135,7 @@
@classmethod
def setup_clients(cls):
super(TestPoolNotFoundAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.pool_client
+ cls.admin_client = cls.os_admin.dns_v2.PoolClient()
@decorators.idempotent_id('56281b2f-dd5a-4376-8c32-aba771062fa5')
def test_show_pool_404(self):
@@ -179,7 +178,7 @@
@classmethod
def setup_clients(cls):
super(TestPoolInvalidIdAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.pool_client
+ cls.admin_client = cls.os_admin.dns_v2.PoolClient()
@decorators.idempotent_id('081d0188-42a7-4953-af0e-b022960715e2')
def test_show_pool_invalid_uuid(self):
@@ -223,7 +222,7 @@
@classmethod
def setup_clients(cls):
super(TestPoolAdminNegative, cls).setup_clients()
- cls.admin_client = cls.os_admin.pool_client
+ cls.admin_client = cls.os_admin.dns_v2.PoolClient()
@decorators.idempotent_id('0a8cdc1e-ac02-11eb-ae06-74e5f9e2a801')
def test_create_pool_invalid_name(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_ptrs.py b/designate_tempest_plugin/tests/api/v2/test_ptrs.py
index cfd9685..ef8f083 100644
--- a/designate_tempest_plugin/tests/api/v2/test_ptrs.py
+++ b/designate_tempest_plugin/tests/api/v2/test_ptrs.py
@@ -41,7 +41,7 @@
@classmethod
def setup_clients(cls):
super(DesignatePtrRecord, cls).setup_clients()
- cls.primary_ptr_client = cls.os_primary.ptr_client
+ cls.primary_ptr_client = cls.os_primary.dns_v2.PtrClient()
cls.primary_floating_ip_client = cls.os_primary.floating_ips_client
def _set_ptr(self):
@@ -100,7 +100,7 @@
@classmethod
def setup_clients(cls):
super(DesignatePtrRecordNegative, cls).setup_clients()
- cls.primary_ptr_client = cls.os_primary.ptr_client
+ cls.primary_ptr_client = cls.os_primary.dns_v2.PtrClient()
cls.primary_floating_ip_client = cls.os_primary.floating_ips_client
def _set_ptr(self, ptr_name=None, ttl=None, description=None,
diff --git a/designate_tempest_plugin/tests/api/v2/test_quotas.py b/designate_tempest_plugin/tests/api/v2/test_quotas.py
index ad37a32..783ccdd 100644
--- a/designate_tempest_plugin/tests/api/v2/test_quotas.py
+++ b/designate_tempest_plugin/tests/api/v2/test_quotas.py
@@ -48,9 +48,9 @@
def setup_clients(cls):
super(QuotasV2Test, cls).setup_clients()
- cls.quotas_client = cls.os_primary.quotas_client
- cls.admin_client = cls.os_admin.quotas_client
- cls.alt_client = cls.os_alt.quotas_client
+ cls.quotas_client = cls.os_primary.dns_v2.QuotasClient()
+ cls.admin_client = cls.os_admin.dns_v2.QuotasClient()
+ cls.alt_client = cls.os_alt.dns_v2.QuotasClient()
def _store_quotas(self, project_id=None, cleanup=True):
"""Remember current quotas and reset them after the test"""
diff --git a/designate_tempest_plugin/tests/api/v2/test_recordset.py b/designate_tempest_plugin/tests/api/v2/test_recordset.py
index 96179f1..65b1b3b 100644
--- a/designate_tempest_plugin/tests/api/v2/test_recordset.py
+++ b/designate_tempest_plugin/tests/api/v2/test_recordset.py
@@ -61,13 +61,12 @@
@classmethod
def setup_clients(cls):
super(RecordsetsTest, cls).setup_clients()
-
- cls.client = cls.os_primary.recordset_client
- cls.alt_client = cls.os_alt.recordset_client
- cls.admin_client = cls.os_admin.recordset_client
- cls.zone_client = cls.os_primary.zones_client
- cls.alt_zone_client = cls.os_alt.zones_client
- cls.admin_zone_client = cls.os_admin.zones_client
+ cls.client = cls.os_primary.dns_v2.RecordsetClient()
+ cls.alt_client = cls.os_alt.dns_v2.RecordsetClient()
+ cls.admin_client = cls.os_admin.dns_v2.RecordsetClient()
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.alt_zone_client = cls.os_alt.dns_v2.ZonesClient()
+ cls.admin_zone_client = cls.os_admin.dns_v2.ZonesClient()
@decorators.attr(type='smoke')
@decorators.idempotent_id('631d74fd-6909-4684-a61b-5c4d2f92c3e7')
@@ -311,10 +310,9 @@
@classmethod
def setup_clients(cls):
super(RecordsetsNegativeTest, cls).setup_clients()
-
- cls.client = cls.os_primary.recordset_client
- cls.alt_client = cls.os_alt.recordset_client
- cls.zone_client = cls.os_primary.zones_client
+ cls.client = cls.os_primary.dns_v2.RecordsetClient()
+ cls.alt_client = cls.os_alt.dns_v2.RecordsetClient()
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
@decorators.idempotent_id('98c94f8c-217a-4056-b996-b1f856d0753e')
@ddt.file_data("recordset_data_invalid.json")
@@ -457,9 +455,8 @@
@classmethod
def setup_clients(cls):
super(RootRecordsetsTests, cls).setup_clients()
-
- cls.client = cls.os_primary.recordset_client
- cls.zone_client = cls.os_primary.zones_client
+ cls.client = cls.os_primary.dns_v2.RecordsetClient()
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
@classmethod
def skip_checks(cls):
@@ -554,12 +551,11 @@
@classmethod
def setup_clients(cls):
super(RecordsetOwnershipTest, cls).setup_clients()
-
- cls.client = cls.os_primary.recordset_client
- cls.zone_client = cls.os_primary.zones_client
- cls.alt_client = cls.os_alt.recordset_client
- cls.alt_zone_client = cls.os_alt.zones_client
- cls.admin_client = cls.os_admin.recordset_client
+ cls.client = cls.os_primary.dns_v2.RecordsetClient()
+ cls.alt_client = cls.os_alt.dns_v2.RecordsetClient()
+ cls.admin_client = cls.os_admin.dns_v2.RecordsetClient()
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.alt_zone_client = cls.os_alt.dns_v2.ZonesClient()
def _create_client_recordset(self, clients_list):
"""Create a zone and asoociated recordset using given credentials
diff --git a/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py b/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
index 36c68ff..a7efe31 100644
--- a/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
+++ b/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
@@ -51,8 +51,8 @@
def setup_clients(cls):
super(RecordsetValidationTest, cls).setup_clients()
- cls.recordset_client = cls.os_primary.recordset_client
- cls.zones_client = cls.os_primary.zones_client
+ cls.recordset_client = cls.os_primary.dns_v2.RecordsetClient()
+ cls.zones_client = cls.os_primary.dns_v2.ZonesClient()
@property
def zone(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_service_statuses.py b/designate_tempest_plugin/tests/api/v2/test_service_statuses.py
index 68396c5..2f0a9bb 100644
--- a/designate_tempest_plugin/tests/api/v2/test_service_statuses.py
+++ b/designate_tempest_plugin/tests/api/v2/test_service_statuses.py
@@ -38,8 +38,8 @@
def setup_clients(cls):
super(ServiceStatus, cls).setup_clients()
- cls.client = cls.os_primary.service_client
- cls.admin_client = cls.os_admin.service_client
+ cls.client = cls.os_primary.dns_v2.ServiceClient()
+ cls.admin_client = cls.os_admin.dns_v2.ServiceClient()
@decorators.idempotent_id('bf277a76-8583-11eb-a557-74e5f9e2a801')
def test_list_service_statuses(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_tld.py b/designate_tempest_plugin/tests/api/v2/test_tld.py
index f14d4ed..ce8a04f 100644
--- a/designate_tempest_plugin/tests/api/v2/test_tld.py
+++ b/designate_tempest_plugin/tests/api/v2/test_tld.py
@@ -38,7 +38,7 @@
@classmethod
def setup_clients(cls):
super(TldAdminTest, cls).setup_clients()
- cls.admin_client = cls.os_admin.tld_client
+ cls.admin_client = cls.os_admin.dns_v2.TldClient()
@classmethod
def resource_setup(cls):
@@ -140,7 +140,7 @@
@classmethod
def setup_clients(cls):
super(TestTldNotFoundAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.tld_client
+ cls.admin_client = cls.os_admin.dns_v2.TldClient()
@decorators.idempotent_id('b237d5ee-0d76-4294-a3b6-c2f8bf4b0e30')
def test_show_tld_404(self):
@@ -183,7 +183,7 @@
@classmethod
def setup_clients(cls):
super(TestTldInvalidIdAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.tld_client
+ cls.admin_client = cls.os_admin.dns_v2.TldClient()
@decorators.idempotent_id('f9ec0730-57ff-4720-8d06-e11d377c7cfc')
def test_show_tld_invalid_uuid(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_transfer_accepts.py b/designate_tempest_plugin/tests/api/v2/test_transfer_accepts.py
index 7cfc4a9..b4ab5c8 100644
--- a/designate_tempest_plugin/tests/api/v2/test_transfer_accepts.py
+++ b/designate_tempest_plugin/tests/api/v2/test_transfer_accepts.py
@@ -40,19 +40,19 @@
super(TransferAcceptTest, cls).setup_clients()
# Primary clients
- cls.prm_zone_client = cls.os_primary.zones_client
- cls.prm_request_client = cls.os_primary.transfer_request_client
- cls.prm_accept_client = cls.os_primary.transfer_accept_client
+ cls.prm_zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.prm_request_client = cls.os_primary.dns_v2.TransferRequestClient()
+ cls.prm_accept_client = cls.os_primary.dns_v2.TransferAcceptClient()
# Alt clients
- cls.alt_zone_client = cls.os_alt.zones_client
- cls.alt_request_client = cls.os_alt.transfer_request_client
- cls.alt_accept_client = cls.os_alt.transfer_accept_client
+ cls.alt_zone_client = cls.os_alt.dns_v2.ZonesClient()
+ cls.alt_request_client = cls.os_alt.dns_v2.TransferRequestClient()
+ cls.alt_accept_client = cls.os_alt.dns_v2.TransferAcceptClient()
# Admin clients
- cls.admin_zone_client = cls.os_admin.zones_client
- cls.admin_request_client = cls.os_admin.transfer_request_client
- cls.admin_accept_client = cls.os_admin.transfer_accept_client
+ cls.admin_zone_client = cls.os_admin.dns_v2.ZonesClient()
+ cls.admin_request_client = cls.os_admin.dns_v2.TransferRequestClient()
+ cls.admin_accept_client = cls.os_admin.dns_v2.TransferAcceptClient()
@decorators.idempotent_id('1c6baf97-a83e-4d2e-a5d8-9d37fb7808f3')
def test_create_transfer_accept(self):
@@ -305,9 +305,9 @@
@classmethod
def setup_clients(cls):
super(TransferAcceptTestNegative, cls).setup_clients()
- cls.zone_client = cls.os_primary.zones_client
- cls.request_client = cls.os_primary.transfer_request_client
- cls.client = cls.os_primary.transfer_accept_client
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.request_client = cls.os_primary.dns_v2.TransferRequestClient()
+ cls.client = cls.os_primary.dns_v2.TransferAcceptClient()
@decorators.idempotent_id('324a3e80-a1cc-11eb-b534-74e5f9e2a801')
def test_create_transfer_accept_using_invalid_key(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_transfer_request.py b/designate_tempest_plugin/tests/api/v2/test_transfer_request.py
index 94a1480..5878dc9 100644
--- a/designate_tempest_plugin/tests/api/v2/test_transfer_request.py
+++ b/designate_tempest_plugin/tests/api/v2/test_transfer_request.py
@@ -39,11 +39,11 @@
def setup_clients(cls):
super(TransferRequestTest, cls).setup_clients()
- cls.zone_client = cls.os_primary.zones_client
- cls.alt_zone_client = cls.os_alt.zones_client
- cls.client = cls.os_primary.transfer_request_client
- cls.alt_client = cls.os_alt.transfer_request_client
- cls.admin_client = cls.os_admin.transfer_request_client
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.alt_zone_client = cls.os_alt.dns_v2.ZonesClient()
+ cls.client = cls.os_primary.dns_v2.TransferRequestClient()
+ cls.alt_client = cls.os_alt.dns_v2.TransferRequestClient()
+ cls.admin_client = cls.os_admin.dns_v2.TransferRequestClient()
@decorators.idempotent_id('2381d489-ad84-403d-b0a2-8b77e4e966bf')
def test_create_transfer_request(self):
@@ -282,7 +282,7 @@
@classmethod
def setup_clients(cls):
super(TestTransferRequestNotFound, cls).setup_clients()
- cls.client = cls.os_primary.transfer_request_client
+ cls.client = cls.os_primary.dns_v2.TransferRequestClient()
@decorators.idempotent_id('d255f72f-ba24-43df-9dba-011ed7f4625d')
def test_show_transfer_request_404(self):
@@ -324,7 +324,7 @@
@classmethod
def setup_clients(cls):
super(TestTransferRequestInvalidId, cls).setup_clients()
- cls.client = cls.os_primary.transfer_request_client
+ cls.client = cls.os_primary.dns_v2.TransferRequestClient()
@decorators.idempotent_id('2205dd19-ecc7-4c68-9e89-63c47d642b07')
def test_show_transfer_request_invalid_uuid(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_tsigkey.py b/designate_tempest_plugin/tests/api/v2/test_tsigkey.py
index 77d3e13..5cd9512 100644
--- a/designate_tempest_plugin/tests/api/v2/test_tsigkey.py
+++ b/designate_tempest_plugin/tests/api/v2/test_tsigkey.py
@@ -38,8 +38,8 @@
@classmethod
def setup_clients(cls):
super(TsigkeyAdminTest, cls).setup_clients()
- cls.zone_client = cls.os_primary.zones_client
- cls.admin_client = cls.os_admin.tsigkey_client
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.admin_client = cls.os_admin.dns_v2.TsigkeyClient()
@decorators.idempotent_id('e7b484e3-7ed5-4840-89d7-1e696986f8e4')
def test_create_tsigkey(self):
@@ -151,7 +151,7 @@
@classmethod
def setup_clients(cls):
super(TestTsigkeyNotFoundAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.tsigkey_client
+ cls.admin_client = cls.os_admin.dns_v2.TsigkeyClient()
@decorators.idempotent_id('824c9b49-edc5-4282-929e-467a158d23e4')
def test_show_tsigkey_404(self):
@@ -194,7 +194,7 @@
@classmethod
def setup_clients(cls):
super(TestTsigkeyInvalidIdAdmin, cls).setup_clients()
- cls.admin_client = cls.os_admin.tsigkey_client
+ cls.admin_client = cls.os_admin.dns_v2.TsigkeyClient()
@decorators.idempotent_id('2a8dfc75-9884-4b1c-8f1f-ed835d96f2fe')
def test_show_tsigkey_invalid_uuid(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_zone_tasks.py b/designate_tempest_plugin/tests/api/v2/test_zone_tasks.py
index 12eea8c..581b7c2 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zone_tasks.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zone_tasks.py
@@ -45,11 +45,9 @@
@classmethod
def setup_clients(cls):
super(ZoneTasks, cls).setup_clients()
-
- cls.client = cls.os_primary.zones_client
- cls.alt_client = cls.os_alt.zones_client
- cls.admin_client = cls.os_admin.zones_client
- cls.query_client = cls.os_primary.query_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
+ cls.admin_client = cls.os_admin.dns_v2.ZonesClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZonesClient()
@decorators.idempotent_id('287e2cd0-a0e7-11eb-b962-74e5f9e2a801')
def test_zone_abandon(self):
@@ -117,11 +115,9 @@
@classmethod
def setup_clients(cls):
super(ZoneTasksNegative, cls).setup_clients()
-
- cls.client = cls.os_primary.zones_client
- cls.alt_client = cls.os_alt.zones_client
- cls.admin_client = cls.os_admin.zones_client
- cls.query_client = cls.os_primary.query_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
+ cls.admin_client = cls.os_admin.dns_v2.ZonesClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZonesClient()
def _query_nameserver(self, nameserver, query_timeout,
zone_name, zone_type='SOA'):
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones.py b/designate_tempest_plugin/tests/api/v2/test_zones.py
index c2337fe..dfd0a57 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones.py
@@ -34,6 +34,7 @@
class ZonesTest(BaseZonesTest):
credentials = ['admin', 'primary']
+
@classmethod
def setup_credentials(cls):
# Do not create network resources for these test.
@@ -43,9 +44,8 @@
@classmethod
def setup_clients(cls):
super(ZonesTest, cls).setup_clients()
-
- cls.client = cls.os_primary.zones_client
- cls.pool_client = cls.os_admin.pool_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
+ cls.pool_client = cls.os_admin.dns_v2.PoolClient()
@decorators.idempotent_id('9d2e20fc-e56f-4a62-9c61-9752a9ec615c')
def test_create_zones(self):
@@ -203,10 +203,9 @@
@classmethod
def setup_clients(cls):
super(ZonesAdminTest, cls).setup_clients()
-
- cls.client = cls.os_primary.zones_client
- cls.admin_client = cls.os_admin.zones_client
- cls.alt_client = cls.os_alt.zones_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
+ cls.admin_client = cls.os_admin.dns_v2.ZonesClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZonesClient()
@decorators.idempotent_id('f6fe8cce-8b04-11eb-a861-74e5f9e2a801')
def test_show_zone_impersonate_another_project(self):
@@ -300,9 +299,8 @@
@classmethod
def setup_clients(cls):
super(ZoneOwnershipTest, cls).setup_clients()
-
- cls.client = cls.os_primary.zones_client
- cls.alt_client = cls.os_alt.zones_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZonesClient()
@decorators.idempotent_id('5d28580a-a012-4b57-b211-e077b1a01340')
def test_no_create_duplicate_domain(self):
@@ -353,7 +351,7 @@
@classmethod
def setup_clients(cls):
super(ZonesNegativeTest, cls).setup_clients()
- cls.client = cls.os_primary.zones_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
@decorators.idempotent_id('551853c0-8593-11eb-8c8a-74e5f9e2a801')
def test_no_valid_zone_name(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones_exports.py b/designate_tempest_plugin/tests/api/v2/test_zones_exports.py
index cd5a3ac..e07f32a 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones_exports.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones_exports.py
@@ -38,12 +38,11 @@
@classmethod
def setup_clients(cls):
super(ZonesExportTest, cls).setup_clients()
-
- cls.zone_client = cls.os_primary.zones_client
- cls.alt_zone_client = cls.os_alt.zones_client
- cls.client = cls.os_primary.zone_exports_client
- cls.alt_client = cls.os_alt.zone_exports_client
- cls.admin_client = cls.os_admin.zone_exports_client
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.alt_zone_client = cls.os_alt.dns_v2.ZonesClient()
+ cls.client = cls.os_primary.dns_v2.ZoneExportsClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZoneExportsClient()
+ cls.admin_client = cls.os_admin.dns_v2.ZoneExportsClient()
@decorators.idempotent_id('2dd8a9a0-98a2-4bf6-bb51-286583b30f40')
def test_create_zone_export(self):
@@ -228,10 +227,9 @@
@classmethod
def setup_clients(cls):
super(ZonesExportTestNegative, cls).setup_clients()
-
- cls.zone_client = cls.os_primary.zones_client
- cls.client = cls.os_primary.zone_exports_client
- cls.alt_client = cls.os_alt.zone_exports_client
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.client = cls.os_primary.dns_v2.ZoneExportsClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZoneExportsClient()
@decorators.idempotent_id('76ab8ec4-95fd-11eb-b1cd-74e5f9e2a801')
def test_create_zone_export_using_invalid_zone_id(self):
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones_imports.py b/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
index 332899d..7f1261b 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
@@ -41,11 +41,10 @@
@classmethod
def setup_clients(cls):
super(ZonesImportTest, cls).setup_clients()
-
- cls.client = cls.os_primary.zone_imports_client
- cls.alt_client = cls.os_alt.zone_imports_client
- cls.admin_client = cls.os_admin.zone_imports_client
- cls.zone_client = cls.os_primary.zones_client
+ cls.zone_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.client = cls.os_primary.dns_v2.ZoneImportsClient()
+ cls.alt_client = cls.os_alt.dns_v2.ZoneImportsClient()
+ cls.admin_client = cls.os_admin.dns_v2.ZoneImportsClient()
def clean_up_resources(self, zone_import_id):
zone_import = self.client.show_zone_import(zone_import_id)[1]
diff --git a/designate_tempest_plugin/tests/base.py b/designate_tempest_plugin/tests/base.py
index 083cd09..2ef5b00 100644
--- a/designate_tempest_plugin/tests/base.py
+++ b/designate_tempest_plugin/tests/base.py
@@ -16,8 +16,14 @@
from tempest import config
from tempest.lib.common.utils import test_utils as utils
+# TODO(johnsom) remove once neutron-tempest-plugin test_dns_integration
+# has been updated
+# https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/800291
from designate_tempest_plugin import clients
+from designate_tempest_plugin.services.dns.query.query_client import \
+ QueryClient
+
CONF = config.CONF
@@ -76,6 +82,19 @@
% cls.__name__)
raise cls.skipException(skip_msg)
+ @classmethod
+ def setup_clients(cls):
+ super(BaseDnsTest, cls).setup_clients()
+ # The Query Client is not an OpenStack client which means
+ # we should not set it up through the tempest client manager.
+ # Set it up here so all tests have access to it.
+ cls.query_client = QueryClient(
+ nameservers=CONF.dns.nameservers,
+ query_timeout=CONF.dns.query_timeout,
+ build_interval=CONF.dns.build_interval,
+ build_timeout=CONF.dns.build_timeout,
+ )
+
def assertExpected(self, expected, actual, excluded_keys):
for key, value in six.iteritems(expected):
if key not in excluded_keys:
@@ -122,7 +141,9 @@
class BaseDnsV2Test(BaseDnsTest):
"""Base class for DNS V2 API tests."""
- # Use the Designate V2 Client Manager
+ # TODO(johnsom) remove once neutron-tempest-plugin test_dns_integration
+ # has been updated
+ # https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/800291
client_manager = clients.ManagerV2
@classmethod
@@ -138,9 +159,6 @@
class BaseDnsAdminTest(BaseDnsTest):
"""Base class for DNS Admin API tests."""
- # Use the Designate Admin Client Manager
- client_manager = clients.ManagerAdmin
-
@classmethod
def skip_checks(cls):
super(BaseDnsAdminTest, cls).skip_checks()
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_recordsets.py b/designate_tempest_plugin/tests/scenario/v2/test_recordsets.py
index d1c90d7..def1150 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_recordsets.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_recordsets.py
@@ -31,9 +31,8 @@
def setup_clients(cls):
super(RecordsetsTest, cls).setup_clients()
- cls.client = cls.os_primary.zones_client
- cls.recordset_client = cls.os_primary.recordset_client
- cls.query_client = cls.os_primary.query_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
+ cls.recordset_client = cls.os_primary.dns_v2.RecordsetClient()
@classmethod
def resource_setup(cls):
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones.py b/designate_tempest_plugin/tests/scenario/v2/test_zones.py
index 4763647..a7529a1 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones.py
@@ -29,8 +29,7 @@
def setup_clients(cls):
super(ZonesTest, cls).setup_clients()
- cls.client = cls.os_primary.zones_client
- cls.query_client = cls.os_primary.query_client
+ cls.client = cls.os_primary.dns_v2.ZonesClient()
@decorators.attr(type='smoke')
@decorators.attr(type='slow')
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py b/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py
index b5df2a0..916e634 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py
@@ -28,8 +28,8 @@
def setup_clients(cls):
super(ZonesExportTest, cls).setup_clients()
- cls.zones_client = cls.os_primary.zones_client
- cls.client = cls.os_primary.zone_exports_client
+ cls.client = cls.os_primary.dns_v2.ZoneExportsClient()
+ cls.zones_client = cls.os_primary.dns_v2.ZonesClient()
@decorators.attr(type='slow')
@decorators.idempotent_id('0484c3c4-df57-458e-a6e5-6eb63e0475e0')
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py b/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py
index b08f829..e92feee 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py
@@ -28,8 +28,8 @@
def setup_clients(cls):
super(ZonesImportTest, cls).setup_clients()
- cls.client = cls.os_primary.zone_imports_client
- cls.zones_client = cls.os_primary.zones_client
+ cls.client = cls.os_primary.dns_v2.ZoneImportsClient()
+ cls.zones_client = cls.os_primary.dns_v2.ZonesClient()
@decorators.attr(type='slow')
@decorators.idempotent_id('679f38d0-2f2f-49c5-934e-8fe0c452f56e')
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones_transfer.py b/designate_tempest_plugin/tests/scenario/v2/test_zones_transfer.py
index 88e9c8f..3437c33 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones_transfer.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones_transfer.py
@@ -27,14 +27,14 @@
@classmethod
def setup_clients(cls):
super(ZonesTransferTest, cls).setup_clients()
- cls.zones_client = cls.os_primary.zones_client
- cls.alt_zones_client = cls.os_alt.zones_client
- cls.admin_zones_client = cls.os_admin.zones_client
- cls.request_client = cls.os_primary.transfer_request_client
- cls.alt_request_client = cls.os_alt.transfer_request_client
- cls.accept_client = cls.os_primary.transfer_accept_client
- cls.alt_accept_client = cls.os_alt.transfer_accept_client
- cls.admin_accept_client = cls.os_admin.transfer_accept_client
+ cls.zones_client = cls.os_primary.dns_v2.ZonesClient()
+ cls.alt_zones_client = cls.os_alt.dns_v2.ZonesClient()
+ cls.admin_zones_client = cls.os_admin.dns_v2.ZonesClient()
+ cls.request_client = cls.os_primary.dns_v2.TransferRequestClient()
+ cls.alt_request_client = cls.os_alt.dns_v2.TransferRequestClient()
+ cls.accept_client = cls.os_primary.dns_v2.TransferAcceptClient()
+ cls.alt_accept_client = cls.os_alt.dns_v2.TransferAcceptClient()
+ cls.admin_accept_client = cls.os_admin.dns_v2.TransferAcceptClient()
@decorators.idempotent_id('60bd80ac-c979-4686-9a03-f2f775f272ab')
def test_zone_transfer(self):