start of mid-level operations (get record, write record, update record, delete record)
This commit is contained in:
@ -49,3 +49,15 @@ class PdnsRestAdapter:
|
|||||||
# if response.status.code >= 200 and response.status.code <= 299:
|
# if response.status.code >= 200 and response.status.code <= 299:
|
||||||
# return
|
# return
|
||||||
# raise Exception(data_out['message']) # TODO: raise custom exception later
|
# raise Exception(data_out['message']) # TODO: raise custom exception later
|
||||||
|
|
||||||
|
def get_record(self, name=None, type=None):
|
||||||
|
domain = '.'.join(name.split('.')[1:])
|
||||||
|
if name[:-1] != '.':
|
||||||
|
name += '.'
|
||||||
|
result = self.get('servers/localhost/zones/' + domain)
|
||||||
|
record = None
|
||||||
|
for r in result["rrsets"]:
|
||||||
|
if r['name'] == name and r['type'] == type:
|
||||||
|
rrset = r
|
||||||
|
print(f"PdnsRestAdapter::get_record(): {rrset=}")
|
||||||
|
return rrset
|
||||||
|
39
tests/unit/test_03_mid.py
Normal file
39
tests/unit/test_03_mid.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#import pytest
|
||||||
|
from pdnsapi import PdnsRestAdapter
|
||||||
|
import dns.resolver
|
||||||
|
import dns.nameserver
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
|
||||||
|
global api
|
||||||
|
global domain
|
||||||
|
global resolv
|
||||||
|
|
||||||
|
|
||||||
|
def setup_api():
|
||||||
|
global api, domain
|
||||||
|
|
||||||
|
server = "localhost:8081"
|
||||||
|
apikey = "pdns-supersecret"
|
||||||
|
api = PdnsRestAdapter(server, apikey)
|
||||||
|
domain = 'test1.nhn.no'
|
||||||
|
assert api is not None
|
||||||
|
|
||||||
|
def setup_resolver():
|
||||||
|
global resolv
|
||||||
|
|
||||||
|
resolv = dns.resolver.Resolver()
|
||||||
|
assert resolv is not None
|
||||||
|
resolv.nameservers = [dns.nameserver.Do53Nameserver('127.0.0.1', 10053)]
|
||||||
|
answer = resolv.resolve(domain, 'SOA')
|
||||||
|
assert answer is not None
|
||||||
|
|
||||||
|
def test_mid_get_record():
|
||||||
|
global api
|
||||||
|
|
||||||
|
setup_api()
|
||||||
|
output = api.get_record('test.test1.nhn.no', 'TXT')
|
||||||
|
print(f"{output=}")
|
||||||
|
assert type(output) is dict
|
||||||
|
assert output['name'] == 'test.test1.nhn.no.'
|
||||||
|
assert output['type'] == 'TXT'
|
Reference in New Issue
Block a user