Adds boundary scenario tests for "Project limits" values
1) test_max_zone_name_length
Get project's "max_zone_name" value and try to create
a zones with the name lengths of:
1. "max_zone_name" --> Expected: PASS
2. "max_zone_name +1" --> Expected: FAILED
2) test_max_recordset_name_length
Get project's "max_recordset_name_length" value and
try to create a recordsets with the name lengths of:
1. "max_zone_name_length" --> Expected: PASS
2. "max_zone_name_length +1" --> Expected: FAILED
Change-Id: I7e54759c50551fc09f468f874a16054c15316560
Signed-off-by: Arkady Shtempler <ashtempl@redhat.com>
diff --git a/designate_tempest_plugin/data_utils.py b/designate_tempest_plugin/data_utils.py
index 4b5d24d..8389cfd 100644
--- a/designate_tempest_plugin/data_utils.py
+++ b/designate_tempest_plugin/data_utils.py
@@ -47,6 +47,27 @@
return name + suffix
+def rand_dns_name_by_size(name_size, label_size=63):
+ """Generates label based DNS name, by given characters size
+ :param name_size: size in characters
+ :param label_size: the max number of characters to be used
+ for label. Max value according the RFC is 63
+ https://datatracker.ietf.org/doc/html/rfc1035#
+ section-2.3.4in
+ :return: DNS name
+ """
+ template = ''
+ while len(template) < name_size:
+ remaining_length = name_size - len(template)
+ template += '{}.'.format(rand_string(
+ min(remaining_length - 1, label_size)))
+ if template.endswith('..'):
+ raise Exception("There is no way to generate a valid DNS name "
+ "using provided set of values:{},{}, consider "
+ "changing those values".format(name_size, label_size))
+ return template
+
+
def rand_email(domain=None):
"""Generate a random zone name
:return: a random zone name e.g. example.org.