Removes "DDT" module from Designate-Tempest-Plugin

This patch removes DDT module from the code as well as
all *.json files related to it.

Change-Id: I2203d52c4a816dee0960339a8ea3e0ea023b131d
This commit is contained in:
Arkady Shtempler 2023-06-14 17:06:53 +03:00
parent 25c93a50ec
commit 462e39d73f
11 changed files with 252 additions and 253 deletions

View File

@ -1,5 +0,0 @@
{
"empty_preference": {"pref": ""},
"minus_zero_preference": {"pref": "-0"},
"minus_one_preference": {"pref": "-1"}
}

View File

@ -1,6 +0,0 @@
{
"minus_zero_algorithm": {"algo": "-0", "finger": null},
"minus_zero_fingerprint": {"algo": null, "finger": "-0"},
"minus_one_algorithm": {"algo": "-1", "finger": null},
"minus_one_fingerprint": {"algo": null, "finger": "-1"}
}

View File

@ -1,5 +0,0 @@
{
"trailing_slash": {"data": "\\"},
"trailing_double_slash": {"data": "\\\\"},
"trailing_slash_after_text": {"data": "testtext\\"}
}

View File

@ -1,12 +0,0 @@
{
"CNAME multiple": {
"name": "www",
"type": "CNAME",
"records": ["target1.example.org.", "target2.example.org."]
},
"CNAME at Apex": {
"name": null,
"type": "CNAME",
"records": ["target1.example.org."]
}
}

View File

@ -1,53 +0,0 @@
{
"A at APEX": {
"name": "*",
"type": "A",
"records": ["192.0.2.1", "192.0.2.2", "192.0.2.3"]
},
"A under APEX": {
"name": "*.sub",
"type": "A",
"records": ["192.0.2.1", "192.0.2.2", "192.0.2.3"]
},
"AAAA at APEX": {
"name": "*",
"type": "AAAA",
"records": ["2001:db8::1", "2001:db8::1", "2001:db8::"]
},
"AAAA under APEX": {
"name": "*.sub",
"type": "AAAA",
"records": ["2001:db8::1", "2001:db8::1", "2001:db8::"]
},
"MX at APEX": {
"name": "*",
"type": "MX",
"records": ["10 mail1.example.org.",
"20 mail2.example.org."]
},
"MX under APEX": {
"name": "*.sub",
"type": "MX",
"records": ["10 mail.example.org."]
},
"SPF at APEX": {
"name": "*",
"type": "SPF",
"records": ["\"v=spf1; a -all\""]
},
"SPF under APEX": {
"name": "*.sub",
"type": "SPF",
"records": ["\"v=spf1; a -all\""]
},
"TXT at APEX": {
"name": "*",
"type": "TXT",
"records": ["\"Can you read me?\""]
},
"TXT under APEX": {
"name": "*.sub",
"type": "TXT",
"records": ["\"Can you read me?\""]
}
}

View File

@ -16,7 +16,6 @@ from tempest import config
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest.lib.common.utils import data_utils
import ddt
from designate_tempest_plugin.tests import base
from designate_tempest_plugin.common import constants as const
@ -63,7 +62,6 @@ class BaseRecordsetsTest(base.BaseDnsV2Test):
super(BaseRecordsetsTest, cls).resource_cleanup()
@ddt.ddt
class RecordsetsTest(BaseRecordsetsTest):
credentials = ["admin", "system_admin", "system_reader", "primary", "alt",
@ -190,9 +188,7 @@ class RecordsetsTest(BaseRecordsetsTest):
self._test_create_recordset_type(
"www", "TXT", ["\"Any Old Text Goes Here\""])
@decorators.idempotent_id('69f002e5-6511-43d3-abae-7abdd45ae03e')
@ddt.file_data("recordset_wildcard_data.json")
def test_create_wildcard_recordset(self, name, type, records):
def _test_create_wildcard_recordset(self, name, type, records):
if name is not None:
recordset_name = name + "." + self.zone['name']
@ -215,6 +211,56 @@ class RecordsetsTest(BaseRecordsetsTest):
LOG.info('Ensure we respond with PENDING')
self.assertEqual(const.PENDING, body['status'])
@decorators.idempotent_id('69f002e5-6511-43d3-abae-7abdd45ae03e')
def test_create_wildcard_recordset_A_at_APEX(self):
self._test_create_wildcard_recordset(
"*", "A", ["192.0.2.1", "192.0.2.2", "192.0.2.3"])
@decorators.idempotent_id('d97ee452-0dc3-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_A_under_APEX(self):
self._test_create_wildcard_recordset(
"*.sub", "A", ["192.0.2.1", "192.0.2.2", "192.0.2.3"])
@decorators.idempotent_id('1b3c1cc0-0dc4-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_AAAA_at_APEX(self):
self._test_create_wildcard_recordset(
"*", "AAAA", ["2001:db8::1", "2001:db8::1", "2001:db8::"])
@decorators.idempotent_id('928e735e-0dc4-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_AAAA_under_APEX(self):
self._test_create_wildcard_recordset(
"*.sub", "AAAA", ["2001:db8::1", "2001:db8::1", "2001:db8::"])
@decorators.idempotent_id('d96138f2-0dc4-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_MX_at_APEX(self):
self._test_create_wildcard_recordset(
"*", "MX", ["10 mail1.example.org.", "20 mail2.example.org."])
@decorators.idempotent_id('ff273c94-0dc4-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_MX_under_APEX(self):
self._test_create_wildcard_recordset(
"*.sub", "MX", ["10 mail.example.org."])
@decorators.idempotent_id('3097f16a-0dc5-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_SPF_at_APEX(self):
self._test_create_wildcard_recordset(
"*", "SPF", ["\"v=spf1; a -all\""])
@decorators.idempotent_id('50b3f390-0dc5-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_SPF_under_APEX(self):
self._test_create_wildcard_recordset(
"*.sub", "SPF", ["\"v=spf1; a -all\""])
@decorators.idempotent_id('5b73981c-0dc5-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_TXT_at_APEX(self):
self._test_create_wildcard_recordset(
"*", "TXT", ["\"Can you read me?\""])
@decorators.idempotent_id('5b73981c-0dc5-11ee-8b75-201e8823901f')
def test_create_wildcard_recordset_TXT_under_APEX(self):
self._test_create_wildcard_recordset(
"*.sub", "TXT", ["\"Can you read me?\""])
@decorators.idempotent_id('5964f730-5546-46e6-9105-5030e9c492b2')
def test_list_recordsets(self):
recordset_data = dns_data_utils.rand_recordset_data(
@ -565,7 +611,6 @@ class RecordsetsTest(BaseRecordsetsTest):
lambda: self.client.show_recordset(zone['id'], record['id']))
@ddt.ddt
class RecordsetsNegativeTest(BaseRecordsetsTest):
credentials = ["admin", "system_admin", "primary", "alt"]
@ -582,9 +627,7 @@ class RecordsetsNegativeTest(BaseRecordsetsTest):
cls.client = cls.os_primary.dns_v2.RecordsetClient()
cls.alt_client = cls.os_alt.dns_v2.RecordsetClient()
@decorators.idempotent_id('98c94f8c-217a-4056-b996-b1f856d0753e')
@ddt.file_data("recordset_data_invalid.json")
def test_create_recordset_invalid(self, name, type, records):
def _test_create_recordset_invalid(self, name, type, records):
if name is not None:
recordset_name = name + "." + self.zone['name']
@ -602,6 +645,16 @@ class RecordsetsNegativeTest(BaseRecordsetsTest):
lambda: self.client.create_recordset(
self.zone['id'], recordset_data))
@decorators.idempotent_id('98c94f8c-217a-4056-b996-b1f856d0753e')
def test_create_recordset_invalid_CNAME_multiple(self):
self._test_create_recordset_invalid(
'www', 'CNAME', ["target1.example.org.", "target2.example.org."])
@decorators.idempotent_id('43385ce8-0dd3-11ee-8b75-201e8823901f')
def test_create_recordset_invalid_CNAME_at_Apex(self):
self._test_create_recordset_invalid(
None, 'CNAME', ["target1.example.org."])
@decorators.idempotent_id('b6dad57e-5ce9-4fa5-8d66-aebbcd23b4ad')
def test_get_nonexistent_recordset(self):
LOG.info('Attempt to get an invalid Recordset')

View File

@ -13,7 +13,7 @@ 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 ddt
from oslo_log import log as logging
from tempest import config
from tempest.lib import decorators
@ -25,6 +25,7 @@ from designate_tempest_plugin import data_utils as dns_data_utils
CONF = config.CONF
LOG = logging.getLogger(__name__)
RECORDSETS_DATASET = [
'A',
'AAAA',
@ -35,9 +36,25 @@ RECORDSETS_DATASET = [
'SSHFP',
'TXT',
]
INVALID_TXT_DATASET = {
"trailing_slash": {"data": "\\"},
"trailing_double_slash": {"data": "\\\\"},
"trailing_slash_after_text": {"data": "testtext\\"}}
VALID_TXT_DATASET = {
"slash_with_one_trailing_space": {"data": "\"\\ \""},
"slash_with_many_trailing_space": {"data": "\"\\ \""},
"text_with_slash_and_trailing_space": {"data": "\"the txts \""}}
INVALID_MX_DATASET = {
"empty_preference": {"pref": ""},
"minus_zero_preference": {"pref": "-0"},
"minus_one_preference": {"pref": "-1"}}
INVALID_SSHFP_DATASET = {
"minus_zero_algorithm": {"algo": "-0", "finger": None},
"minus_zero_fingerprint": {"algo": None, "finger": "-0"},
"minus_one_algorithm": {"algo": "-1", "finger": None},
"minus_one_fingerprint": {"algo": None, "finger": "-1"}}
@ddt.ddt
class RecordsetValidationTest(base.BaseDnsV2Test):
credentials = ["admin", "primary", "system_admin"]
@ -88,39 +105,35 @@ class RecordsetValidationTest(base.BaseDnsV2Test):
return body
@decorators.idempotent_id('c5ef87e2-cb79-4758-b968-18eef2c251df')
@ddt.data(*RECORDSETS_DATASET)
def test_create_invalid(self, rtype):
data = ["b0rk"]
for i in data:
model = dns_data_utils.make_rand_recordset(
self.zone['name'], rtype)
model['data'] = i
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], model
)
def test_create_invalid(self):
for rtype in RECORDSETS_DATASET:
data = ["b0rk"]
for i in data:
model = dns_data_utils.make_rand_recordset(
self.zone['name'], rtype)
model['data'] = i
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], model
)
@decorators.idempotent_id('1164c826-dceb-4557-9a22-7d65c4a4f5f4')
@ddt.data(*RECORDSETS_DATASET)
def test_update_invalid(self, rtype):
data = ["b0rk"]
post_model = dns_data_utils.make_rand_recordset(
self.zone['name'], rtype)
recordset = self.create_recordset(post_model)
for i in data:
model = dns_data_utils.make_rand_recordset(
def test_update_invalid(self):
for rtype in RECORDSETS_DATASET:
data = ["b0rk"]
post_model = dns_data_utils.make_rand_recordset(
self.zone['name'], rtype)
model['data'] = i
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.update_recordset,
self.zone['id'], recordset['id'], model
)
recordset = self.create_recordset(post_model)
for i in data:
model = dns_data_utils.make_rand_recordset(
self.zone['name'], rtype)
model['data'] = i
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.update_recordset,
self.zone['id'], recordset['id'], model
)
@decorators.idempotent_id('61da1015-291f-43d1-a1a8-345cff12d201')
def test_cannot_create_wildcard_NS_recordset(self):
@ -147,57 +160,68 @@ class RecordsetValidationTest(base.BaseDnsV2Test):
)
@decorators.idempotent_id('22a9544b-2382-4ed2-ba12-4dbaedb8e880')
@ddt.file_data("invalid_txt_dataset.json")
def test_cannot_create_TXT_with(self, data):
post_model = dns_data_utils.rand_txt_recordset(self.zone['name'], data)
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], post_model
)
def test_cannot_create_TXT_with(self):
for key, data in INVALID_TXT_DATASET.items():
LOG.info('Tested INVALID_TXT_DATASET: {}'.format(key))
post_model = dns_data_utils.rand_txt_recordset(
self.zone['name'], data['data'])
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], post_model
)
@decorators.idempotent_id('03e4f811-0c37-4ce2-8b16-662c824f8f18')
@ddt.file_data("valid_txt_dataset.json")
def test_create_TXT_with(self, data):
post_model = dns_data_utils.rand_txt_recordset(self.zone['name'], data)
def test_create_TXT_with(self):
for key, data in VALID_TXT_DATASET.items():
LOG.info('Tested VALID_TXT_DATASET: {}'.format(key))
post_model = dns_data_utils.rand_txt_recordset(
self.zone['name'], data['data'])
recordset = self.create_recordset(post_model)
waiters.wait_for_recordset_status(
self.recordset_client, self.zone['id'], recordset['id'], 'ACTIVE')
@decorators.idempotent_id('775b3db5-ec60-4dd7-85d2-f05a9c544978')
@ddt.file_data("valid_txt_dataset.json")
def test_create_SPF_with(self, data):
post_model = dns_data_utils.rand_spf_recordset(self.zone['name'], data)
recordset = self.create_recordset(post_model)
def test_create_SPF_with(self):
for key, data in VALID_TXT_DATASET.items():
LOG.info('Tested VALID_TXT_DATASET: {}'.format(key))
post_model = dns_data_utils.rand_spf_recordset(
self.zone['name'], data['data'])
recordset = self.create_recordset(post_model)
waiters.wait_for_recordset_status(
self.recordset_client, self.zone['id'], recordset['id'], 'ACTIVE')
waiters.wait_for_recordset_status(
self.recordset_client, self.zone['id'],
recordset['id'], 'ACTIVE')
@decorators.idempotent_id('7fa7783f-1624-4122-bfb2-6cfbf7a5b49b')
@ddt.file_data("invalid_mx_dataset.json")
def test_cannot_create_MX_with(self, pref):
post_model = dns_data_utils.rand_mx_recordset(
self.zone['name'], pref=pref
)
def test_cannot_create_MX_with(self):
for key, pref in INVALID_MX_DATASET.items():
LOG.info('Tested INVALID_MX_DATASET: {}'.format(key))
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], post_model,
)
post_model = dns_data_utils.rand_mx_recordset(
self.zone['name'], pref=pref['pref']
)
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], post_model,
)
@decorators.idempotent_id('3016f998-4e4a-4712-b15a-4e8dfbc5a60b')
@ddt.data("invalid_sshfp_dataset.json")
def test_cannot_create_SSHFP_with(self, algo=None, finger=None):
post_model = dns_data_utils.rand_sshfp_recordset(
zone_name=self.zone['name'],
algorithm_number=algo,
fingerprint_type=finger,
)
def test_cannot_create_SSHFP_with(self):
for key, data in INVALID_SSHFP_DATASET.items():
LOG.info('Tested INVALID_SSHFP_DATASET: {}'.format(key))
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], post_model,
)
post_model = dns_data_utils.rand_sshfp_recordset(
zone_name=self.zone['name'],
algorithm_number=data['algo'],
fingerprint_type=data['finger'],
)
self.assertRaisesDns(
exceptions.BadRequest, 'invalid_object', 400,
self.recordset_client.create_recordset,
self.zone['id'], post_model,
)

View File

@ -1,5 +0,0 @@
{
"slash_with_one_trailing_space": {"data": "\"\\ \""},
"slash_with_many_trailing_space": {"data": "\"\\ \""},
"text_with_slash_and_trailing_space": {"data": "\"the txts \""}
}

View File

@ -1,79 +0,0 @@
{
"A": {
"name": "www",
"type": "A",
"records": ["192.0.2.1", "192.0.2.2", "192.0.2.3"]
},
"AAAA": {
"name": "www",
"type": "AAAA",
"records": ["2001:db8::1", "2001:db8::1", "2001:db8::"]
},
"SRV TCP": {
"name": "_sip._tcp",
"type": "SRV",
"records": ["10 60 5060 server1.example.com.",
"20 60 5060 server2.example.com.",
"20 30 5060 server3.example.com."]
},
"SRV UDP": {
"name": "_sip._udp",
"type": "SRV",
"records": ["10 60 5060 server1.example.com.",
"10 60 5060 server2.example.com.",
"20 30 5060 server3.example.com."]
},
"CNAME": {
"name": "alias-of-target",
"type": "CNAME",
"records": ["target.example.org."]
},
"MX at APEX": {
"name": null,
"type": "MX",
"records": ["10 mail1.example.org.",
"20 mail2.example.org."]
},
"MX under APEX": {
"name": "under",
"type": "MX",
"records": ["10 mail.example.org."]
},
"SSHFP": {
"name": "www",
"type": "SSHFP",
"records": ["2 1 123456789abcdef67890123456789abcdef67890"]
},
"TXT": {
"name": "www",
"type": "TXT",
"records": ["\"Any Old Text Goes Here\""]
},
"SPF": {
"name": "*.sub",
"type": "SPF",
"records": ["\"v=spf1; a -all\""]
},
"PTR_IPV4": {
"name": "PTR_Record_IPV4",
"type": "PTR",
"records": ["34.216.184.93.in-addr.arpa."]
},
"PTR_IPV6":{
"name":"PTR_Record_IPV6",
"type":"PTR",
"records":[
"6.4.9.1.8.c.5.2.3.9.8.1.8.4.2.0.1.0.0.0.0.2.2.0.0.0.8.2.6.0.6.2.ip6.arpa."
]
},
"CAA_Record": {
"name": "CAA_Record",
"type": "CAA",
"records": ["0 issue letsencrypt.org"]
},
"NAPTR_Record": {
"name": "NAPTR_Record",
"type": "NAPTR",
"records": ["0 0 S SIP+D2U !^.*$!sip:customer-service@example.com! _sip._udp.example.com."]
}
}

View File

@ -12,7 +12,6 @@
import time
import ddt
from oslo_log import log as logging
from tempest import config
from tempest.lib.common.utils import test_utils
@ -32,7 +31,6 @@ LOG = logging.getLogger(__name__)
CONF = config.CONF
@ddt.ddt
class RecordsetsTest(base.BaseDnsV2Test):
credentials = ["admin", "system_admin", "primary"]
@ -80,11 +78,8 @@ class RecordsetsTest(base.BaseDnsV2Test):
cls.admin_tld_client.delete_tld(cls.class_tld[1]['id'])
super(RecordsetsTest, cls).resource_cleanup()
@decorators.attr(type='slow')
@decorators.idempotent_id('4664ed66-9ff1-45f2-9e60-d4913195c505')
@ddt.file_data("recordset_data.json")
def test_create_and_delete_records_on_existing_zone(self, name,
type, records):
def _test_create_and_delete_records_on_existing_zone(
self, name, type, records):
if name is not None:
recordset_name = name + "." + self.zone['name']
@ -125,6 +120,99 @@ class RecordsetsTest(base.BaseDnsV2Test):
lambda: self.recordset_client.show_recordset(
self.zone['id'], recordset['id']))
@decorators.attr(type='slow')
@decorators.idempotent_id('4664ed66-9ff1-45f2-9e60-d4913195c505')
def test_create_and_delete_records_on_existing_zone_01_A(self):
self._test_create_and_delete_records_on_existing_zone(
"www", "A", ["192.0.2.1", "192.0.2.2", "192.0.2.3"])
@decorators.attr(type='slow')
@decorators.idempotent_id('cecd9f20-0b62-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_02_AAAA(self):
self._test_create_and_delete_records_on_existing_zone(
"www", "AAAA", ["2001:db8::1", "2001:db8::1", "2001:db8::"])
@decorators.attr(type='slow')
@decorators.idempotent_id('f5368d7a-0b62-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_03_SRV(self):
self._test_create_and_delete_records_on_existing_zone(
"_sip._tcp", "SRV", ["10 60 5060 server1.example.com.",
"20 60 5060 server2.example.com.",
"20 30 5060 server3.example.com."])
@decorators.attr(type='slow')
@decorators.idempotent_id('74ff9efc-0b63-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_04_SRV(self):
self._test_create_and_delete_records_on_existing_zone(
"_sip._udp", "SRV", ["10 60 5060 server1.example.com.",
"10 60 5060 server2.example.com.",
"20 30 5060 server3.example.com."])
@decorators.attr(type='slow')
@decorators.idempotent_id('82a14a2e-0b63-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_05_CNAME(self):
self._test_create_and_delete_records_on_existing_zone(
"alias-of-target", "CNAME", ["target.example.org."])
@decorators.attr(type='slow')
@decorators.idempotent_id('ae7a295e-0b63-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_06_MX(self):
self._test_create_and_delete_records_on_existing_zone(
None, "MX", ["10 mail1.example.org.",
"20 mail2.example.org."])
@decorators.attr(type='slow')
@decorators.idempotent_id('f9aa8512-0b64-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_07_MX(self):
self._test_create_and_delete_records_on_existing_zone(
"under", "MX", ["10 mail.example.org."])
@decorators.attr(type='slow')
@decorators.idempotent_id('fa6cbd12-0b64-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_08_SSHFP(self):
self._test_create_and_delete_records_on_existing_zone(
"www", "SSHFP", ["2 1 123456789abcdef67890123456789abcdef67890"])
@decorators.attr(type='slow')
@decorators.idempotent_id('fa124a1c-0b64-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_09_TXT(self):
self._test_create_and_delete_records_on_existing_zone(
"www", "TXT", ["\"Any Old Text Goes Here\""])
@decorators.attr(type='slow')
@decorators.idempotent_id('3e347c28-0b66-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_10_SPF(self):
self._test_create_and_delete_records_on_existing_zone(
"*.sub", "SPF", ["\"v=spf1; a -all\""])
@decorators.attr(type='slow')
@decorators.idempotent_id('88f6c2ac-0b66-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_11_PTR(self):
self._test_create_and_delete_records_on_existing_zone(
"PTR_Record_IPV4", "PTR", ["34.216.184.93.in-addr.arpa."])
@decorators.attr(type='slow')
@decorators.idempotent_id('b9591eea-0b66-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_12_PTR(self):
self._test_create_and_delete_records_on_existing_zone(
"PTR_Record_IPV6", "PTR",
["6.4.9.1.8.c.5.2.3.9.8.1.8.4.2.0.1.0.0.0.0.2.2.0.0.0.8"
".2.6.0.6.2.ip6.arpa."])
@decorators.attr(type='slow')
@decorators.idempotent_id('c98cd9b4-0b66-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_13_CAA(self):
self._test_create_and_delete_records_on_existing_zone(
"CAA_Record", "CAA", ["0 issue letsencrypt.org"])
@decorators.attr(type='slow')
@decorators.idempotent_id('f78d6e8c-0b66-11ee-bbcc-201e8823901f')
def test_create_and_delete_records_on_existing_zone_14_NAPTR(self):
self._test_create_and_delete_records_on_existing_zone(
"NAPTR_Record", "NAPTR",
["0 0 S SIP+D2U !^.*$!sip:customer-service@example"
".com! _sip._udp.example.com."])
@testtools.skipUnless(
config.CONF.dns.nameservers,
"Config option dns.nameservers is missing or empty")

View File

@ -3,7 +3,6 @@
# process, which may cause wedges in the gate later.
dnspython>=1.16.0 # http://www.dnspython.org/LICENSE
ddt>=1.0.1 # MIT
oslo.serialization>=2.25.0 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
testtools>=2.2.0 # MIT