]> granicus.if.org Git - pdns/commitdiff
auth: Add an API test for multiple CNAME records in the same RRset
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 12 Dec 2018 13:35:32 +0000 (14:35 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 12 Dec 2018 13:35:32 +0000 (14:35 +0100)
regression-tests.api/test_Zones.py

index 72a7331f5bb745e7827f2eb445345fd54d4aa6b6..a0e08f9b839cf73dd249c35286e485690286c0fc 100644 (file)
@@ -1314,6 +1314,30 @@ fred   IN  A      192.168.0.4
         self.assertEquals(r.status_code, 422)
         self.assertIn('Conflicts with pre-existing CNAME RRset', r.json()['error'])
 
+    def test_rrset_multiple_cnames(self):
+        name, payload, zone = self.create_zone()
+        rrset = {
+            'changetype': 'replace',
+            'name': 'sub.'+name,
+            'type': 'CNAME',
+            'ttl': 3600,
+            'records': [
+                {
+                    "content": "01.example.org.",
+                    "disabled": False
+                },
+                {
+                    "content": "02.example.org.",
+                    "disabled": False
+                }
+            ]
+        }
+        payload = {'rrsets': [rrset]}
+        r = self.session.patch(self.url("/api/v1/servers/localhost/zones/" + name), data=json.dumps(payload),
+                               headers={'content-type': 'application/json'})
+        self.assertEquals(r.status_code, 422)
+        self.assertIn('/CNAME has more than one record', r.json()['error'])
+
     def test_create_zone_with_leading_space(self):
         # Actual regression.
         name, payload, zone = self.create_zone()