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)