diff --git a/designate_tempest_plugin/clients.py b/designate_tempest_plugin/clients.py index deafecb0..a4d84c8b 100644 --- a/designate_tempest_plugin/clients.py +++ b/designate_tempest_plugin/clients.py @@ -15,12 +15,6 @@ from tempest import clients from tempest import config from tempest.lib import auth -from designate_tempest_plugin.services.dns.v1.json.domains_client import \ - DomainsClient -from designate_tempest_plugin.services.dns.v1.json.records_client import \ - RecordsClient -from designate_tempest_plugin.services.dns.v1.json.servers_client import \ - ServersClient from designate_tempest_plugin.services.dns.v2.json.zones_client import \ ZonesClient from designate_tempest_plugin.services.dns.v2.json.zone_imports_client import \ @@ -56,30 +50,6 @@ from designate_tempest_plugin.services.dns.v2.json.ptr_client import PtrClient CONF = config.CONF -class ManagerV1(clients.Manager): - - def __init__(self, credentials=None): - super(ManagerV1, self).__init__(credentials) - self._init_clients(self._get_params()) - - def _init_clients(self, params): - self.domains_client = DomainsClient(**params) - self.records_client = RecordsClient(**params) - self.servers_client = ServersClient(**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 ManagerV2(clients.Manager): def __init__(self, credentials=None): diff --git a/designate_tempest_plugin/config.py b/designate_tempest_plugin/config.py index 2f975651..3aadb961 100644 --- a/designate_tempest_plugin/config.py +++ b/designate_tempest_plugin/config.py @@ -59,18 +59,12 @@ dns_feature_group = cfg.OptGroup(name='dns_feature_enabled', title='Enabled Designate Features') DnsFeatureGroup = [ - cfg.BoolOpt('api_v1', - default=False, - help="Is the v1 dns API enabled."), cfg.BoolOpt('api_v2', default=True, help="Is the v2 dns API enabled."), cfg.BoolOpt('api_admin', default=True, help="Is the admin dns API enabled."), - cfg.BoolOpt('api_v1_servers', - default=False, - help="Is the v1 dns servers API enabled."), cfg.BoolOpt('api_v2_root_recordsets', default=False, help="Is the v2 root recordsets API enabled."), diff --git a/designate_tempest_plugin/services/dns/__init__.py b/designate_tempest_plugin/services/dns/__init__.py index 21a8d13f..0911a5fb 100644 --- a/designate_tempest_plugin/services/dns/__init__.py +++ b/designate_tempest_plugin/services/dns/__init__.py @@ -13,7 +13,6 @@ # the License. from designate_tempest_plugin.services.dns import admin -from designate_tempest_plugin.services.dns import v1 from designate_tempest_plugin.services.dns import v2 -__all__ = ['admin', 'v1', 'v2'] +__all__ = ['admin', 'v2'] diff --git a/designate_tempest_plugin/services/dns/v1/__init__.py b/designate_tempest_plugin/services/dns/v1/__init__.py deleted file mode 100644 index fdaf0998..00000000 --- a/designate_tempest_plugin/services/dns/v1/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2017 Andrea Frittoli -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy of -# the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations under -# the License. - -from designate_tempest_plugin.services.dns.v1.json.domains_client import \ - DomainsClient -from designate_tempest_plugin.services.dns.v1.json.records_client import \ - RecordsClient -from designate_tempest_plugin.services.dns.v1.json.servers_client import \ - ServersClient - -__all__ = ['DomainsClient', 'RecordsClient', 'ServersClient'] diff --git a/designate_tempest_plugin/services/dns/v1/json/__init__.py b/designate_tempest_plugin/services/dns/v1/json/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/designate_tempest_plugin/services/dns/v1/json/base.py b/designate_tempest_plugin/services/dns/v1/json/base.py deleted file mode 100644 index 2b1c4f32..00000000 --- a/designate_tempest_plugin/services/dns/v1/json/base.py +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -from designate_tempest_plugin.services.dns.json import base - -handle_errors = base.handle_errors - - -class DnsClientV1Base(base.DnsClientBase): - """Base API V1 Tempest REST client for Designate API""" - uri_prefix = 'v1' - - CREATE_STATUS_CODES = [200] - SHOW_STATUS_CODES = [200] - LIST_STATUS_CODES = [200] - PUT_STATUS_CODES = [200] - UPDATE_STATUS_CODES = [] - DELETE_STATUS_CODES = [200] diff --git a/designate_tempest_plugin/services/dns/v1/json/domains_client.py b/designate_tempest_plugin/services/dns/v1/json/domains_client.py deleted file mode 100644 index 2b76d503..00000000 --- a/designate_tempest_plugin/services/dns/v1/json/domains_client.py +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P -# All Rights Reserved. -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from tempest import config - -from designate_tempest_plugin.schemas.v1 import domains_schema as schema -from designate_tempest_plugin.services.dns.v1.json import base - -CONF = config.CONF - - -class DomainsClient(base.DnsClientV1Base): - @base.handle_errors - def list_domains(self, params=None): - """List all domains.""" - resp, body = self._list_request('domains', params=params) - - self.validate_response(schema.list_domains, resp, body) - - return resp, body['domains'] - - @base.handle_errors - def get_domain(self, uuid, params=None): - """Gets a specific zone. - :param uuid: Unique identifier of the domain in UUID format. - :param params: A Python dict that represents the query paramaters to - include in the request URI. - :return: Serialized domain as a dictionary. - :return: A tuple with the server response and the deserialized domain. - """ - resp, body = self._show_request('domains', uuid, params=params) - - self.validate_response(schema.get_domain, resp, body) - - return resp, body - - @base.handle_errors - def delete_domain(self, uuid, params=None): - """Delete the given domain.""" - resp, body = self._delete_request('domains', uuid, params=params) - - self.validate_response(schema.delete_domain, resp, body) - - return resp, body - - @base.handle_errors - def create_domain(self, name, email, params=None, **kwargs): - """Creates a domain.""" - post_body = { - "name": name, - "email": email - } - - for option in ['ttl', 'description']: - post_param = option - value = kwargs.get(option) - if value is not None: - post_body[post_param] = value - - resp, body = self._create_request('domains', post_body, params=params) - - self.validate_response(schema.create_domain, resp, body) - - return resp, body - - @base.handle_errors - def update_domain(self, uuid, params=None, **kwargs): - """Updates a domain.""" - post_body = {} - - for option in ['email', 'name', 'ttl', 'description']: - post_param = option - value = kwargs.get(option) - if value is not None: - post_body[post_param] = value - - resp, body = self._put_request('domains', uuid, post_body, - params=params) - - self.validate_response(schema.update_domain, resp, body) - - return resp, body diff --git a/designate_tempest_plugin/services/dns/v1/json/records_client.py b/designate_tempest_plugin/services/dns/v1/json/records_client.py deleted file mode 100644 index 432016e1..00000000 --- a/designate_tempest_plugin/services/dns/v1/json/records_client.py +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P -# All Rights Reserved. -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from tempest import config - -from designate_tempest_plugin.schemas.v1 import records_schema as schema -from designate_tempest_plugin.services.dns.v1.json import base - -CONF = config.CONF - - -class RecordsClient(base.DnsClientV1Base): - @base.handle_errors - def list_records(self, domain_uuid, params=None): - """List all records.""" - base_uri = 'domains/%s/records' % (domain_uuid) - - resp, body = self._list_request(base_uri, params=params) - - self.validate_response(schema.list_records, resp, body) - - return resp, body['records'] - - @base.handle_errors - def get_record(self, domain_uuid, uuid, params=None): - """Get the details of a record.""" - base_uri = 'domains/%s/records' % (domain_uuid) - - resp, body = self._show_request(base_uri, uuid, params=params) - - self.validate_response(schema.get_record, resp, body) - - return resp, body - - @base.handle_errors - def delete_record(self, domain_uuid, uuid, params=None): - """Delete the given record.""" - base_uri = 'domains/%s/records' % (domain_uuid) - - resp, body = self._delete_request(base_uri, uuid, params=params) - - self.validate_response(schema.delete_record, resp, body) - - return resp, body - - @base.handle_errors - def create_record(self, domain_uuid, name, type, data, params=None, - **kwargs): - """Creates a record.""" - base_uri = 'domains/%s/records' % (domain_uuid) - - post_body = { - "name": name, - "type": type, - "data": data - } - - for option in ['ttl', 'priority', 'description']: - post_param = option - value = kwargs.get(option) - if value is not None: - post_body[post_param] = value - - resp, body = self._create_request(base_uri, post_body, params=params) - - self.validate_response(schema.create_record, resp, body) - - return resp, body - - @base.handle_errors - def update_record(self, domain_uuid, uuid, params=None, **kwargs): - """Updates a record.""" - base_uri = 'domains/%s/records' % (domain_uuid) - - post_body = {} - - for option in ['name', 'type', 'data', 'ttl', 'priority', - 'description']: - post_param = option - value = kwargs.get(option) - if value is not None: - post_body[post_param] = value - - resp, body = self._put_request(base_uri, uuid, post_body, - params=params) - - self.validate_response(schema.update_record, resp, body) - - return resp, body diff --git a/designate_tempest_plugin/services/dns/v1/json/servers_client.py b/designate_tempest_plugin/services/dns/v1/json/servers_client.py deleted file mode 100644 index 92686020..00000000 --- a/designate_tempest_plugin/services/dns/v1/json/servers_client.py +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P -# All Rights Reserved. -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from tempest import config - -from designate_tempest_plugin.schemas.v1 import servers_schema as schema -from designate_tempest_plugin.services.dns.v1.json import base - -CONF = config.CONF - - -class ServersClient(base.DnsClientV1Base): - @base.handle_errors - def list_servers(self, params=None): - """List all servers.""" - resp, body = self._list_request('servers', params=params) - - self.validate_response(schema.list_servers, resp, body) - - return resp, body['servers'] - - @base.handle_errors - def get_server(self, uuid, params=None): - """Get the details of a server.""" - resp, body = self._show_request('servers', uuid, params=params) - - self.validate_response(schema.get_server, resp, body) - - return resp, body - - @base.handle_errors - def delete_server(self, uuid, params=None): - """Delete the given server.""" - resp, body = self._delete_request('servers', uuid, params=params) - - self.validate_response(schema.delete_server, resp, body) - - return resp, body - - @base.handle_errors - def create_server(self, name, params=None, **kwargs): - """Creates a server.""" - post_body = { - "name": name, - } - - for option in ['name']: - value = kwargs.get(option) - post_param = option - if value is not None: - post_body[post_param] = value - - resp, body = self._create_request('servers', post_body, params=params) - - self.validate_response(schema.create_server, resp, body) - - return resp, body - - @base.handle_errors - def update_server(self, uuid, params=None, **kwargs): - """Updates a server.""" - post_body = {} - - for option in ['name']: - post_param = option - value = kwargs.get(option) - if value is not None: - post_body[post_param] = value - - resp, body = self._put_request('servers', uuid, post_body, - params=params) - - self.validate_response(schema.update_server, resp, body) - - return resp, body diff --git a/designate_tempest_plugin/tests/api/v1/__init__.py b/designate_tempest_plugin/tests/api/v1/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/designate_tempest_plugin/tests/api/v1/test_domains.py b/designate_tempest_plugin/tests/api/v1/test_domains.py deleted file mode 100644 index 31d4bbde..00000000 --- a/designate_tempest_plugin/tests/api/v1/test_domains.py +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P -# All Rights Reserved. -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import six -from tempest.lib.common.utils import data_utils -from tempest.lib import exceptions as lib_exc -from tempest.lib import decorators - -from designate_tempest_plugin.tests import base - - -class DnsDomainsTest(base.BaseDnsV1Test): - @classmethod - def setup_credentials(cls): - # Do not create network resources for these test. - cls.set_network_resources() - super(DnsDomainsTest, cls).setup_credentials() - - @classmethod - def setup_clients(cls): - super(DnsDomainsTest, cls).setup_clients() - - cls.client = cls.os_primary.domains_client - - @classmethod - def resource_setup(cls): - super(DnsDomainsTest, cls).resource_setup() - cls.setup_domains = list() - for i in range(2): - name = data_utils.rand_name('domain') + '.com.' - email = data_utils.rand_name('dns') + '@testmail.com' - _, domain = cls.client.create_domain(name, email) - cls.setup_domains.append(domain) - - @classmethod - def resource_cleanup(cls): - for domain in cls.setup_domains: - cls.client.delete_domain(domain['id']) - super(DnsDomainsTest, cls).resource_cleanup() - - def _delete_domain(self, domain_id): - self.client.delete_domain(domain_id) - self.assertRaises(lib_exc.NotFound, - self.client.get_domain, domain_id) - - @decorators.idempotent_id('a78a4a6a-77a6-4dab-a61a-17df9731bca8') - def test_list_domains(self): - # Get a list of domains - _, domains = self.client.list_domains() - # Verify domains created in setup class are in the list - for domain in self.setup_domains: - self.assertIn(domain['id'], - six.moves.map(lambda x: x['id'], domains)) - - @decorators.idempotent_id('29f76dd4-2456-4e42-b0ca-bbffcc6bbf59') - def test_create_update_get_domain(self): - # Create Domain - d_name = data_utils.rand_name('domain') + '.com.' - d_email = data_utils.rand_name('dns') + '@testmail.com' - _, domain = self.client.create_domain(name=d_name, email=d_email) - self.addCleanup(self._delete_domain, domain['id']) - self.assertEqual(d_name, domain['name']) - self.assertEqual(d_email, domain['email']) - # Update Domain with ttl - d_ttl = 3600 - _, update_domain = self.client.update_domain(domain['id'], - ttl=d_ttl) - self.assertEqual(d_ttl, update_domain['ttl']) - # Get the details of Domain - _, get_domain = self.client.get_domain(domain['id']) - self.assertEqual(update_domain['name'], get_domain['name']) - self.assertEqual(update_domain['email'], get_domain['email']) - self.assertEqual(update_domain['ttl'], get_domain['ttl']) diff --git a/designate_tempest_plugin/tests/api/v1/test_records.py b/designate_tempest_plugin/tests/api/v1/test_records.py deleted file mode 100644 index e678c3f6..00000000 --- a/designate_tempest_plugin/tests/api/v1/test_records.py +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P -# All Rights Reserved. -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import six -from tempest.lib.common.utils import data_utils -from tempest.lib import decorators - -from designate_tempest_plugin.tests import base - - -class RecordsTest(base.BaseDnsV1Test): - @classmethod - def setup_credentials(cls): - # Do not create network resources for these test. - cls.set_network_resources() - super(RecordsTest, cls).setup_credentials() - - @classmethod - def setup_clients(cls): - super(RecordsTest, cls).setup_clients() - - cls.client = cls.os_primary.records_client - - @classmethod - def resource_setup(cls): - super(RecordsTest, cls).resource_setup() - - # Creates domains and Records for testcase - cls.setup_records = list() - name = data_utils.rand_name('domain') + '.com.' - email = data_utils.rand_name('dns') + '@testmail.com' - _, cls.domain = cls.os_primary.domains_client.create_domain( - name, email) - # Creates a record with type as A - r_name = 'www.' + name - data1 = "192.0.2.3" - _, record = cls.client.create_record( - cls.domain['id'], name=r_name, data=data1, - type='A') - cls.setup_records.append(record) - # Creates a record with type AAAA - data2 = "2001:db8:0:1234:0:5678:9:12" - _, record = cls.client.create_record( - cls.domain['id'], name=r_name, - data=data2, type='AAAA') - cls.setup_records.append(record) - - @classmethod - def resource_cleanup(cls): - for record in cls.setup_records: - cls.client.delete_record(cls.domain['id'], record['id']) - cls.os_primary.domains_client.delete_domain(cls.domain['id']) - super(RecordsTest, cls).resource_cleanup() - - def _delete_record(self, domain_id, record_id): - self.client.delete_record(domain_id, record_id) - # TODO(kiall): Records in v1 should 404 immediatly after deletion. - # self.assertRaises(lib_exc.NotFound, - # self.client.get_record, domain_id, record_id) - - @decorators.idempotent_id('4c7bee47-68a4-4668-81f9-fa973ddfa1f1') - def test_list_records_for_domain(self): - # Get a list of records for a domain - _, records = self.client.list_records(self.domain['id']) - # Verify records created in setup class are in the list - for record in self.setup_records: - self.assertIn(record['id'], - six.moves.map(lambda x: x['id'], records)) - - @decorators.idempotent_id('1714fe3a-8a29-420e-a7dc-8209c7c174de') - def test_create_update_get_delete_record(self): - # Create Domain - name = data_utils.rand_name('domain') + '.com.' - email = data_utils.rand_name('dns') + '@testmail.com' - _, domain = self.os.domains_client.create_domain(name, email) - self.addCleanup(self.os.domains_client.delete_domain, domain['id']) - # Create Record - r_name = 'www.' + name - r_data = "192.0.2.4" - _, record = self.client.create_record(domain['id'], - name=r_name, data=r_data, - type='A') - self.addCleanup(self._delete_record, domain['id'], record['id']) - self.assertIsNotNone(record['id']) - self.assertEqual(domain['id'], record['domain_id']) - self.assertEqual(r_name, record['name']) - self.assertEqual(r_data, record['data']) - self.assertEqual('A', record['type']) - # Update Record with data and ttl - r_data1 = "192.0.2.5" - r_ttl = 3600 - _, update_record = self.client.update_record(domain['id'], - record['id'], - name=r_name, type='A', - data=r_data1, ttl=r_ttl) - self.assertEqual(r_data1, update_record['data']) - self.assertEqual(r_ttl, update_record['ttl']) - # GET record - _, get_record = self.client.get_record(domain['id'], record['id']) - self.assertEqual(update_record['data'], get_record['data']) - self.assertEqual(update_record['name'], get_record['name']) - self.assertEqual(update_record['type'], get_record['type']) - self.assertEqual(update_record['ttl'], get_record['ttl']) - self.assertEqual(update_record['domain_id'], get_record['domain_id']) diff --git a/designate_tempest_plugin/tests/api/v1/test_servers.py b/designate_tempest_plugin/tests/api/v1/test_servers.py deleted file mode 100644 index 9092b582..00000000 --- a/designate_tempest_plugin/tests/api/v1/test_servers.py +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P. -# Copyright 2016 Hewlett Packard Enterprise Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import six -from tempest.lib.common.utils import data_utils -from tempest.lib import exceptions as lib_exc -from tempest import config -from tempest.lib import decorators - -from designate_tempest_plugin.tests import base - - -CONF = config.CONF - - -class ServersAdminTest(base.BaseDnsV1Test): - """ - Tests Servers API Create, Get, List and Delete - that require admin privileges - """ - credentials = ['admin'] - - @classmethod - def setup_credentials(cls): - # Do not create network resources for these test. - cls.set_network_resources() - super(ServersAdminTest, cls).setup_credentials() - - @classmethod - def setup_clients(cls): - super(ServersAdminTest, cls).setup_clients() - - cls.client = cls.os_admin.servers_client - - @classmethod - def skip_checks(cls): - super(ServersAdminTest, cls).skip_checks() - - if not CONF.dns_feature_enabled.api_v1_servers: - skip_msg = ("%s skipped as designate V1 servers API is not " - "available" % cls.__name__) - raise cls.skipException(skip_msg) - - @classmethod - def resource_setup(cls): - super(ServersAdminTest, cls).resource_setup() - - cls.setup_servers = list() - for i in range(2): - name = data_utils.rand_name('dns-server') + '.com.' - _, server = cls.client.create_server(name) - cls.setup_servers.append(server) - - @classmethod - def resource_cleanup(cls): - for server in cls.setup_servers: - cls.client.delete_server(server['id']) - super(ServersAdminTest, cls).resource_cleanup() - - def _delete_server(self, server_id): - self.client.delete_server(server_id) - self.assertRaises(lib_exc.NotFound, - self.client.get_server, server_id) - - @decorators.idempotent_id('0296fb0c-f400-4b52-9be4-a24f37646e3f') - def test_list_servers(self): - # Get a list of servers - _, servers = self.client.list_servers() - # Verify servers created in setup class are in the list - for server in self.setup_servers: - self.assertIn(server['id'], - six.moves.map(lambda x: x['id'], servers)) - - @decorators.idempotent_id('7d18fdfc-3959-4c3f-9855-0bf2f8c9ade2') - def test_create_update_get_delete_server(self): - # Create Dns Server - s_name1 = data_utils.rand_name('dns-server') + '.com.' - _, server = self.client.create_server(s_name1) - self.addCleanup(self._delete_server, server['id']) - self.assertEqual(s_name1, server['name']) - self.assertIsNotNone(server['id']) - # Update Dns Server - s_name2 = data_utils.rand_name('update-dns-server') + '.com.' - _, update_server = self.client.update_server(server['id'], - name=s_name2) - self.assertEqual(s_name2, update_server['name']) - # Get the details of Server - _, get_server = self.client.get_server(server['id']) - self.assertEqual(update_server['name'], get_server['name']) diff --git a/designate_tempest_plugin/tests/base.py b/designate_tempest_plugin/tests/base.py index a9a5e034..083cd096 100644 --- a/designate_tempest_plugin/tests/base.py +++ b/designate_tempest_plugin/tests/base.py @@ -119,22 +119,6 @@ class BaseDnsTest(test.BaseTestCase): zone_id) is None -class BaseDnsV1Test(BaseDnsTest): - """Base class for DNS V1 API tests.""" - - # Use the Designate V1 Client Manager - client_manager = clients.ManagerV1 - - @classmethod - def skip_checks(cls): - super(BaseDnsV1Test, cls).skip_checks() - - if not CONF.dns_feature_enabled.api_v1: - skip_msg = ("%s skipped as designate v1 API is not available" - % cls.__name__) - raise cls.skipException(skip_msg) - - class BaseDnsV2Test(BaseDnsTest): """Base class for DNS V2 API tests.""" diff --git a/releasenotes/notes/Remove-Designate-V1-tests-8537cfebe7c93976.yaml b/releasenotes/notes/Remove-Designate-V1-tests-8537cfebe7c93976.yaml new file mode 100644 index 00000000..47a285ae --- /dev/null +++ b/releasenotes/notes/Remove-Designate-V1-tests-8537cfebe7c93976.yaml @@ -0,0 +1,7 @@ +--- +other: + - | + The Designate API V1 tests have been removed. The V1 API was removed + from Designate in the Queens release. It has now been eight releases + since then, so it is time to remove the tests for it. If these tests are + still needed, please use git tag version 0.11.0 (Wallaby) or older.