Add zones_import_client's methods and tests to Designate tempest plugin
Partially-Implements: blueprint designate-tempest-plugin
Change-Id: If01461617020f39b4da554b127e7b5e5fd704645
diff --git a/designate_tempest_plugin/data_utils.py b/designate_tempest_plugin/data_utils.py
index 73207d5..8b18785 100644
--- a/designate_tempest_plugin/data_utils.py
+++ b/designate_tempest_plugin/data_utils.py
@@ -11,15 +11,20 @@
# 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.lib.common.utils import data_utils
-def rand_zone_name():
+def rand_zone_name(name='', prefix=None, suffix='.com.'):
"""Generate a random zone name
+ :param str name: The name that you want to include
+ :param prefix: the exact text to start the string. Defaults to "rand"
+ :param suffix: the exact text to end the string
:return: a random zone name e.g. example.org.
:rtype: string
"""
- return '%s.com.' % data_utils.rand_name()
+ name = data_utils.rand_name(name=name, prefix=prefix)
+ return name + suffix
def rand_email(domain=None):
@@ -37,3 +42,18 @@
:rtype: string
"""
return data_utils.rand_int_id(start, end)
+
+
+def rand_zonefile_data(name=None, ttl=None):
+ """Generate random zone data, with optional overrides
+
+ :return: A ZoneModel
+ """
+ zone_base = ('$ORIGIN &\n& # IN SOA ns.& nsadmin.& # # # # #\n'
+ '& # IN NS ns.&\n& # IN MX 10 mail.&\nns.& 360 IN A 1.0.0.1')
+ if name is None:
+ name = rand_zone_name()
+ if ttl is None:
+ ttl = str(rand_ttl(1200, 8400))
+
+ return zone_base.replace('&', name).replace('#', ttl)