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:
|
||||
# return
|
||||
# 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