test: rrset and node removal via ctl

This commit is contained in:
Libor Peltan 2019-07-08 17:47:08 +02:00 committed by Daniel Salzman
parent 88c52a7570
commit 3877578434

View file

@ -111,6 +111,74 @@ resp = ctl.receive_block()
isset(ZONE_NAME in resp, "zone content")
isset("A" not in resp[ZONE_NAME][ZONE_NAME], "zone A presence")
# Test removing whole rrset and whole node.
ctl.send_block(cmd="zone-begin")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-set", zone=ZONE_NAME, owner=ZONE_NAME, ttl="3600", rtype="TXT",
data="text")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-set", zone=ZONE_NAME, owner="rrset", ttl="3600", rtype="A",
data="192.168.0.2")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-set", zone=ZONE_NAME, owner="rrset", ttl="3600", rtype="A",
data="192.168.0.3")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-set", zone=ZONE_NAME, owner="rrset", ttl="3600", rtype="AAAA",
data="3::4")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-set", zone=ZONE_NAME, owner="node", ttl="3600", rtype="A",
data="192.168.0.2")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-set", zone=ZONE_NAME, owner="node", ttl="3600", rtype="AAAA",
data="1::2")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-commit")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-read", zone=ZONE_NAME)
resp = ctl.receive_block()
isset("\"text\"" in resp[ZONE_NAME][ZONE_NAME]["TXT"]["data"], "rrset TXT presence")
isset("A" in resp[ZONE_NAME]["rrset." + ZONE_NAME], "rrset A presence")
isset("192.168.0.2" in resp[ZONE_NAME]["rrset." + ZONE_NAME]["A"]["data"], "rrset A rdata 1")
isset("192.168.0.3" in resp[ZONE_NAME]["rrset." + ZONE_NAME]["A"]["data"], "rrset A rdata 2")
isset("A" in resp[ZONE_NAME]["node." + ZONE_NAME], "node A presence")
isset("AAAA" in resp[ZONE_NAME]["node." + ZONE_NAME], "node AAAA presence")
ctl.send_block(cmd="zone-begin")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-unset", zone=ZONE_NAME, owner=ZONE_NAME, rtype="SOA")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-unset", zone=ZONE_NAME, owner=ZONE_NAME)
resp = ctl.receive_block()
ctl.send_block(cmd="zone-unset", zone=ZONE_NAME, owner="rrset", rtype="A")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-unset", zone=ZONE_NAME, owner="node")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-commit")
resp = ctl.receive_block()
ctl.send_block(cmd="zone-read", zone=ZONE_NAME)
resp = ctl.receive_block()
isset("SOA" in resp[ZONE_NAME][ZONE_NAME], "rrset SOA presence in apex") # SOA must be preserved
isset("TXT" not in resp[ZONE_NAME][ZONE_NAME], "rrset TXT absence in apex")
isset("A" not in resp[ZONE_NAME]["rrset." + ZONE_NAME], "rrset A absence")
isset(("node." + ZONE_NAME) not in resp[ZONE_NAME], "node absence")
# Purge the zone data.
ctl.send_block(cmd="zone-purge")
resp = ctl.receive_block()