From 387757843413ed185c8da192a69cbb0f596c816b Mon Sep 17 00:00:00 2001 From: Libor Peltan Date: Mon, 8 Jul 2019 17:47:08 +0200 Subject: [PATCH] test: rrset and node removal via ctl --- tests-extra/tests/ctl/basic/test.py | 68 +++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/tests-extra/tests/ctl/basic/test.py b/tests-extra/tests/ctl/basic/test.py index 2f2a78af8..505c0eabe 100644 --- a/tests-extra/tests/ctl/basic/test.py +++ b/tests-extra/tests/ctl/basic/test.py @@ -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()