From: Peter van Dijk Date: Thu, 25 Mar 2021 11:16:31 +0000 (+0100) Subject: auth API: add test for new cryptokeys "cds" property X-Git-Tag: dnsdist-1.6.0-rc1~39^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F10217%2Fhead;p=thirdparty%2Fpdns.git auth API: add test for new cryptokeys "cds" property --- diff --git a/regression-tests.api/test_Zones.py b/regression-tests.api/test_Zones.py index 33562ad4a7..30087627d2 100644 --- a/regression-tests.api/test_Zones.py +++ b/regression-tests.api/test_Zones.py @@ -2211,3 +2211,41 @@ class AuthZoneKeys(ApiTestCase, AuthZonesHelperMixin): keydata = keys[0]['dnskey'].split() self.assertEqual(len(keydata), 4) + + def test_get_keys_with_cds(self): + payload_metadata = {"type": "Metadata", "kind": "PUBLISH-CDS", "metadata": ["4"]} + r = self.session.post(self.url("/api/v1/servers/localhost/zones/powerdnssec.org./metadata"), + data=json.dumps(payload_metadata)) + rdata = r.json() + self.assertEquals(r.status_code, 201) + self.assertEquals(rdata["metadata"], payload_metadata["metadata"]) + + r = self.session.get( + self.url("/api/v1/servers/localhost/zones/powerdnssec.org./cryptokeys")) + self.assert_success_json(r) + keys = r.json() + self.assertGreater(len(keys), 0) + + key0 = deepcopy(keys[0]) + self.assertEquals(len(key0['cds']), 1) + self.assertIn(key0['cds'][0], key0['ds']) + self.assertEquals(key0['cds'][0].split()[2], '4') + del key0['dnskey'] + del key0['ds'] + del key0['cds'] + expected = { + u'algorithm': u'ECDSAP256SHA256', + u'bits': 256, + u'active': True, + u'type': u'Cryptokey', + u'keytype': u'csk', + u'flags': 257, + u'published': True, + u'id': 1} + self.assertEquals(key0, expected) + + keydata = keys[0]['dnskey'].split() + self.assertEqual(len(keydata), 4) + + r = self.session.delete(self.url("/api/v1/servers/localhost/zones/powerdnssec.org./metadata/PUBLISH-CDS")) + self.assertEquals(r.status_code, 200)