]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
API: actually set SOA-EDIT-API DEFAULT
authorChristian Hofstaedtler <christian.hofstaedtler@deduktiva.com>
Wed, 13 Apr 2016 20:18:50 +0000 (22:18 +0200)
committerChristian Hofstaedtler <christian.hofstaedtler@deduktiva.com>
Wed, 13 Apr 2016 21:20:00 +0000 (23:20 +0200)
pdns/ws-auth.cc
regression-tests.api/test_Zones.py

index b103a6efb50cb68a9bbf40cb550db1786b18db78..3fd11b9673c5e71bec1fe282aab4475aba0ef195 100644 (file)
@@ -737,6 +737,11 @@ static void apiServerZones(HttpRequest* req, HttpResponse* resp) {
     if(!B.getDomainInfo(zonename, di))
       throw ApiException("Creating domain '"+zonename.toString()+"' failed: lookup of domain ID failed");
 
+    // updateDomainSettingsFromDocument does NOT fill out the default we've established above.
+    if (!soa_edit_api_kind.empty()) {
+      di.backend->setDomainMetadataOne(zonename, "SOA-EDIT-API", soa_edit_api_kind);
+    }
+
     di.backend->startTransaction(zonename, di.id);
 
     for(auto rr : new_records) {
index 8e2fbc015742f40865285c5d4fcc82364a4f1751..c34353f730b8106f356d92fceda9f5e3cc0857a3 100644 (file)
@@ -133,6 +133,11 @@ class AuthZones(ApiTestCase, AuthZonesHelperMixin):
             if k in payload:
                 self.assertEquals(data[k], payload[k])
 
+    def test_create_zone_default_soa_edit_api(self):
+        name, payload, data = self.create_zone()
+        print data
+        self.assertEquals(data['soa_edit_api'], 'DEFAULT')
+
     def test_create_zone_with_records(self):
         name = unique_zone_name()
         rrset = {