Nuwan Goonasekera 6 лет назад
Родитель
Сommit
5c3689f69c
2 измененных файлов с 70 добавлено и 1 удалено
  1. 1 1
      tests/helpers/standard_interface_tests.py
  2. 69 0
      tests/test_dns_service.py

+ 1 - 1
tests/helpers/standard_interface_tests.py

@@ -119,7 +119,7 @@ def check_get(test, service, obj):
 
 def check_get_non_existent(test, service):
     # check get
-    get_objs = service.get('tmp-' + str(uuid.uuid4()))
+    get_objs = service.get('tmp-' + str(uuid.uuid4())[:28])
     test.assertIsNone(
         get_objs,
         "Get non-existent object for %s returned unexpected objects: %s"

+ 69 - 0
tests/test_dns_service.py

@@ -0,0 +1,69 @@
+from cloudbridge.base import helpers as cb_helpers
+from cloudbridge.interfaces.resources import DnsRecord
+from cloudbridge.interfaces.resources import DnsZone
+
+from tests import helpers
+from tests.helpers import ProviderTestBase
+from tests.helpers import standard_interface_tests as sit
+
+
+class CloudDnsServiceTestCase(ProviderTestBase):
+
+    _multiprocess_can_split_ = True
+
+    @helpers.skipIfNoService(['dns.host_zones'])
+    def test_crud_dns_zones(self):
+
+        def create_dns_zone(name):
+            if name:
+                name = name + ".com"
+            return self.provider.dns.host_zones.create(name)
+
+        def cleanup_dns_zone(dns_zone):
+            if dns_zone:
+                dns_zone.delete()
+
+        sit.check_crud(self, self.provider.dns.host_zones, DnsZone,
+                       "cb-crudzone", create_dns_zone, cleanup_dns_zone,
+                       skip_name_check=True)
+
+    @helpers.skipIfNoService(['dns.host_zones'])
+    def test_crud_dns_record(self):
+        test_zone = None
+        zone_name = "cb-dnsrec-{0}.com".format(helpers.get_uuid())
+
+        def create_dns_rec(name):
+            if name:
+                name = name + "." + zone_name
+            else:
+                name = zone_name
+            return test_zone.records.create(
+                name, 'A', data='10.1.1.1')
+
+        def cleanup_dns_rec(dns_rec):
+            if dns_rec:
+                dns_rec.delete()
+
+        with cb_helpers.cleanup_action(lambda: test_zone.delete()):
+            test_zone = self.provider.dns.host_zones.create(zone_name)
+            sit.check_crud(self, test_zone.records, DnsRecord,
+                           "cb-dnsrec", create_dns_rec,
+                           cleanup_dns_rec, skip_name_check=True)
+
+    @helpers.skipIfNoService(['dns.host_zones'])
+    def test_dns_record_properties(self):
+        test_zone = None
+        zone_name = "cb-recprop-{0}.com".format(helpers.get_uuid())
+
+        with cb_helpers.cleanup_action(lambda: test_zone.delete()):
+            test_zone = self.provider.dns.host_zones.create(zone_name)
+            test_rec = None
+
+            with cb_helpers.cleanup_action(lambda: test_rec.delete()):
+                zone_name = "subdomain." + zone_name
+                test_rec = test_zone.records.create(
+                    zone_name, 'CNAME', data='hello.com', ttl=500)
+                self.assertEqual(test_rec.zone_id, test_zone.id)
+                self.assertEqual(test_rec.type, 'CNAME')
+                self.assertEqual(test_rec.data, 'hello.com')
+                self.assertEqual(test_rec.ttl, 500)