From 478a7402d5db7dd4b8303c1b29e1f5118557e8dc Mon Sep 17 00:00:00 2001 From: Pieter Lexis Date: Mon, 22 Mar 2021 18:31:31 +0100 Subject: [PATCH] API: return RRType when finding a comment --- pdns/ws-auth.cc | 1 + regression-tests.api/test_Zones.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index a17e05814f..2c904713b7 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -2205,6 +2205,7 @@ static void apiServerSearchData(HttpRequest* req, HttpResponse* resp) { auto object = Json::object { { "object_type", "comment" }, { "name", c.qname.toString() }, + { "type", c.qtype.getName() }, { "content", c.content } }; if ((val = zoneIdZone.find(c.domain_id)) != zoneIdZone.end()) { diff --git a/regression-tests.api/test_Zones.py b/regression-tests.api/test_Zones.py index 33562ad4a7..92d4dc4c1a 100644 --- a/regression-tests.api/test_Zones.py +++ b/regression-tests.api/test_Zones.py @@ -1809,6 +1809,34 @@ $ORIGIN %NAME% # should return zone, SOA, ns1, ns2 self.assertEquals(len(r.json()), 4) + @unittest.skipIf(is_auth_lmdb(), "No search or comments in LMDB") + def test_search_rr_comment(self): + name = unique_zone_name() + rrsets = [{ + "name": name, + "type": "AAAA", + "ttl": 3600, + "records": [{ + "content": "2001:DB8::1", + "disabled": False, + }], + "comments": [{ + "account": "test AAAA", + "content": "blah", + "modified_at": 11112, + }], + }] + name, payload, data = self.create_zone(name=name, rrsets=rrsets) + r = self.session.get(self.url("/api/v1/servers/localhost/search-data?q=blah")) + self.assert_success_json(r) + data = r.json() + # should return the AAAA record + self.assertEquals(len(data), 1) + self.assertEqual(data[0]['object_type'], 'comment') + self.assertEqual(data[0]['type'], 'AAAA') + self.assertEqual(data[0]['name'], name) + self.assertEqual(data[0]['content'], rrsets[0]['comments'][0]['content']) + @unittest.skipIf(is_auth_lmdb(), "No search in LMDB") def test_search_after_rectify_with_ent(self): name = unique_zone_name() -- 2.47.2