#!/usr/bin/env python3 '''Test for response to IXFR request with newer serial''' from dnstest.utils import * from dnstest.test import Test t = Test() knot = t.server("knot") zone = t.zone("example.com.") t.link(zone, knot, ixfr=True) t.start() serial_init = knot.zone_wait(zone) resp = knot.dig("example.com", "IXFR", serial=serial_init + 1) resp.check_xfr() compare(resp.msg_count(), 1, "Only one message") compare(resp.count("SOA"), 1, "Only one RR in Answer section") compare(resp.count("ANY"), 1, "Only one RR in the whole message.") t.end()
slave = t.server("bind") zones = t.zone_rnd(5, records=50) + t.zone("wild.") + \ t.zone("cname-loop.") + t.zone("records.") t.link(zones, master, slave, ixfr=True) t.start() # Wait for AXFR to slave server. serials_init = master.zones_wait(zones) slave.zones_wait(zones) serials_prev = serials_init for i in range(4): # Update zone files on master. for zone in zones: master.update_zonefile(zone, random=True) master.reload() t.sleep(5) # Wait for IXFR to slave. serials = master.zones_wait(zones, serials_prev) slave.zones_wait(zones, serials_prev) serials_prev = serials # Compare IXFR between servers. t.xfr_diff(master, slave, zones, serials_init) t.end()