Tests: Enable DNSSEC for query validation during the CI tests

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2021-09-02 20:23:28 +02:00
parent 531bea9162
commit f8ba1e0094
4 changed files with 155 additions and 89 deletions
-1
View File
@@ -28,4 +28,3 @@ set(sources
add_library(tre-regex OBJECT ${sources})
target_compile_options(tre-regex PRIVATE -Wno-maybe-uninitialized -Wno-unused-value)
target_include_directories(tre-regex PRIVATE ${PROJECT_SOURCE_DIR}/src)
+5
View File
@@ -1,6 +1,11 @@
# Enable logging
log-queries=extra
log-facility=/var/log/pihole.log
# Enable DNSSEC validation
dnssec
trust-anchor=.,20326,8,2,E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D
# We hard-code OpenDNS as resolver for our dig tests as
# - 8.8.8.8 turned out to not want to resolve HTTPS/SVCB,
# - 1.1.1.1 doesn't implement ANY, and
+1 -1
View File
@@ -83,7 +83,7 @@ sleep 2
echo -n "FTL version (DNS): "
dig TXT CHAOS version.FTL @127.0.0.1 +short
echo "FTL verbose version (CLI): "
pihole-FTL -vv
/home/pihole/pihole-FTL -vv
echo -n "Contained dnsmasq version (DNS): "
dig TXT CHAOS version.bind @127.0.0.1 +short
+149 -87
View File
@@ -266,29 +266,25 @@
@test "DNS reply analysis test (using netmeister.org records)" {
run bash -c "bash test/dig.sh | tee dig.log"
printf "%s\n" "${lines[@]}"
# Count number of non-empty lines in the test results file
run bash -c "grep -vc ^$ dig.log"
printf "%s\n" "${lines[@]}"
[[ ${lines[0]} == "41" ]]
}
@test "Statistics as expected" {
run bash -c 'echo ">stats >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ ${lines[1]} == "domains_being_blocked 3" ]]
[[ ${lines[2]} == "dns_queries_today 43" ]]
[[ ${lines[2]} == "dns_queries_today 77" ]]
[[ ${lines[3]} == "ads_blocked_today 6" ]]
#[[ ${lines[4]} == "ads_percentage_today 13.953488" ]]
[[ ${lines[5]} == "unique_domains 30" ]]
[[ ${lines[6]} == "queries_forwarded 27" ]]
#[[ ${lines[4]} == "ads_percentage_today 7.792208" ]]
[[ ${lines[5]} == "unique_domains 50" ]]
[[ ${lines[6]} == "queries_forwarded 61" ]]
[[ ${lines[7]} == "queries_cached 10" ]]
# Clients ever seen is commented out as CircleCI may have
# more devices in its ARP cache so testing against a fixed
# number of clients may not work in all cases
#[[ ${lines[8]} == "clients_ever_seen 3" ]]
#[[ ${lines[9]} == "unique_clients 3" ]]
[[ ${lines[10]} == "dns_queries_all_types 43" ]]
[[ ${lines[11]} == "reply_NODATA 0" ]]
#[[ ${lines[8]} == "clients_ever_seen 8" ]]
#[[ ${lines[9]} == "unique_clients 8" ]]
[[ ${lines[10]} == "dns_queries_all_types 77" ]]
[[ ${lines[11]} == "reply_NODATA 9" ]]
[[ ${lines[12]} == "reply_NXDOMAIN 0" ]]
[[ ${lines[13]} == "reply_CNAME 1" ]]
[[ ${lines[14]} == "reply_IP 22" ]]
@@ -306,28 +302,60 @@
@test "Top Clients" {
run bash -c 'echo ">top-clients >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ ${lines[1]} == "0 33 127.0.0.1 "* ]]
[[ ${lines[2]} == "1 4 127.0.0.3 "* ]]
[[ ${lines[3]} == "2 3 127.0.0.2 "* ]]
[[ ${lines[4]} == "3 1 aliasclient-0 some-aliasclient" ]]
[[ ${lines[5]} == "4 1 127.0.0.4 "* ]]
[[ ${lines[6]} == "5 1 127.0.0.5 "* ]]
[[ ${lines[7]} == "" ]]
[[ ${lines[1]} == "0 34 :: "* ]]
[[ ${lines[2]} == "1 33 127.0.0.1 "* ]]
[[ ${lines[3]} == "2 4 127.0.0.3 "* ]]
[[ ${lines[4]} == "3 3 127.0.0.2 "* ]]
[[ "${lines[@]}" == *"1 aliasclient-0 some-aliasclient"* ]]
[[ "${lines[@]}" == *"1 127.0.0.4 "* ]]
[[ "${lines[@]}" == *"1 127.0.0.5 "* ]]
}
@test "Top Domains" {
run bash -c 'echo ">top-domains (20) >quit" | nc -v 127.0.0.1 4711'
run bash -c 'echo ">top-domains (60) >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ "${lines[@]}" == *" 4 version.bind"* ]]
[[ "${lines[@]}" == *" 4 regex1.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 2 google.com"* ]]
[[ "${lines[@]}" == *" 3 google.com"* ]]
[[ "${lines[@]}" == *" 3 dnskey.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 2 blacklist-blocked.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 2 net"* ]]
[[ "${lines[@]}" == *" 2 pi-hole.net"* ]]
[[ "${lines[@]}" == *" 2 discourse.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 2 com"* ]]
[[ "${lines[@]}" == *" 2 arpa"* ]]
[[ "${lines[@]}" == *" 2 in-addr.arpa"* ]]
[[ "${lines[@]}" == *" 2 166.in-addr.arpa"* ]]
[[ "${lines[@]}" == *" 2 ip6.arpa"* ]]
[[ "${lines[@]}" == *" 2 4.0.1.0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 2 org"* ]]
[[ "${lines[@]}" == *" 2 netmeister.org"* ]]
[[ "${lines[@]}" == *" 2 dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 version.ftl"* ]]
[[ "${lines[@]}" == *" 1 whitelisted.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 1 regexa.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 1 regex2.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 1 a.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 any.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 ftl.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 1 srv.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 soa.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 99.7.84.166.in-addr.arpa"* ]]
[[ "${lines[@]}" == *" 1 aaaa.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 cname.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 regex2.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 1 regexa.test.pi-hole.net"* ]]
[[ "${lines[@]}" == *" 1 "* ]]
[[ "${lines[@]}" == *" 1 84.166.in-addr.arpa"* ]]
[[ "${lines[@]}" == *" 1 0.0.9.3.2.7.e.f.f.f.3.6.6.7.2.e.4.8.0.0.0.3.0.0.0.7.4.0.1.0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 1.0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 0.1.0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 7.4.0.1.0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 0.7.4.0.1.0.0.2.ip6.arpa"* ]]
[[ "${lines[@]}" == *" 1 ptr.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 txt.dns.netmeister.org"* ]]
[[ "${lines[@]}" == *" 1 naptr.dns.netmeister.org"* ]]
}
@test "Top Ads" {
@@ -350,31 +378,31 @@
@test "Upstream Destinations reported correctly" {
run bash -c 'echo ">forward-dest >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ ${lines[1]} == "-2 13.95 blocklist blocklist" ]]
[[ ${lines[2]} == "-1 23.26 cache cache" ]]
[[ ${lines[3]} == "0 37.21 84.200.69.80#53 84.200.69.80#53 " ]]
[[ ${lines[4]} == "1 25.58 8.8.8.8#53 8.8.8.8#53" ]]
[[ ${lines[1]} == "-2 7.79 blocklist blocklist" ]]
[[ ${lines[2]} == "-1 12.99 cache cache" ]]
[[ ${lines[3]} == "0 61.04 8.8.8.8#53 8.8.8.8#53" ]]
[[ ${lines[4]} == "1 18.18 84.200.69.80#53 84.200.69.80#53" ]]
}
@test "Query Types reported correctly" {
run bash -c 'echo ">querytypes >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ ${lines[1]} == "A (IPv4): 46.51" ]]
[[ ${lines[2]} == "AAAA (IPv6): 4.65" ]]
[[ ${lines[3]} == "ANY: 2.33" ]]
[[ ${lines[4]} == "SRV: 2.33" ]]
[[ ${lines[5]} == "SOA: 2.33" ]]
[[ ${lines[6]} == "PTR: 6.98" ]]
[[ ${lines[7]} == "TXT: 13.95" ]]
[[ ${lines[8]} == "NAPTR: 2.33" ]]
[[ ${lines[9]} == "MX: 2.33" ]]
[[ ${lines[10]} == "DS: 2.33" ]]
[[ ${lines[11]} == "RRSIG: 2.33" ]]
[[ ${lines[12]} == "DNSKEY: 2.33" ]]
[[ ${lines[13]} == "NS: 2.33" ]]
[[ ${lines[14]} == "OTHER: 2.33" ]]
[[ ${lines[15]} == "SVCB: 2.33" ]]
[[ ${lines[16]} == "HTTPS: 2.33" ]]
[[ ${lines[1]} == "A (IPv4): 25.97" ]]
[[ ${lines[2]} == "AAAA (IPv6): 2.60" ]]
[[ ${lines[3]} == "ANY: 1.30" ]]
[[ ${lines[4]} == "SRV: 1.30" ]]
[[ ${lines[5]} == "SOA: 1.30" ]]
[[ ${lines[6]} == "PTR: 3.90" ]]
[[ ${lines[7]} == "TXT: 7.79" ]]
[[ ${lines[8]} == "NAPTR: 1.30" ]]
[[ ${lines[9]} == "MX: 1.30" ]]
[[ ${lines[10]} == "DS: 28.57" ]]
[[ ${lines[11]} == "RRSIG: 1.30" ]]
[[ ${lines[12]} == "DNSKEY: 18.18" ]]
[[ ${lines[13]} == "NS: 1.30" ]]
[[ ${lines[14]} == "OTHER: 1.30" ]]
[[ ${lines[15]} == "SVCB: 1.30" ]]
[[ ${lines[16]} == "HTTPS: 1.30" ]]
[[ ${lines[17]} == "" ]]
}
@@ -384,56 +412,90 @@
@test "Get all queries shows expected content" {
run bash -c 'echo ">getallqueries >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ ${lines[1]} == *"TXT version.ftl 127.0.0.1 3 2 6"* ]]
[[ ${lines[2]} == *"TXT version.bind 127.0.0.1 3 2 6"* ]]
[[ ${lines[3]} == *"A blacklist-blocked.test.pi-hole.net 127.0.0.1 5 2 4"* ]]
[[ ${lines[4]} == *"A gravity-blocked.test.pi-hole.net 127.0.0.1 1 2 4"* ]]
[[ ${lines[1]} == *"TXT version.ftl 127.0.0.1 3 2 6 "* ]]
[[ ${lines[2]} == *"TXT version.bind 127.0.0.1 3 2 6 "* ]]
[[ ${lines[3]} == *"A blacklist-blocked.test.pi-hole.net 127.0.0.1 5 2 4 "* ]]
[[ ${lines[4]} == *"A gravity-blocked.test.pi-hole.net 127.0.0.1 1 2 4 "* ]]
[[ ${lines[5]} == *"A gravity-blocked.test.pi-hole.net 127.0.0.1 1 2 4"* ]]
[[ ${lines[6]} == *"A whitelisted.test.pi-hole.net 127.0.0.1 2 0 4"* ]]
[[ ${lines[7]} == *"A discourse.pi-hole.net 127.0.0.1 2 0 4"* ]]
[[ ${lines[8]} == *"A regex5.test.pi-hole.net 127.0.0.1 4 2 4"* ]]
[[ ${lines[9]} == *"A regexa.test.pi-hole.net 127.0.0.1 2 0 4"* ]]
[[ ${lines[10]} == *"A regex1.test.pi-hole.net 127.0.0.1 2 0 4"* ]]
[[ ${lines[11]} == *"A regex2.test.pi-hole.net 127.0.0.1 2 0 4"* ]]
[[ ${lines[12]} == *"A whitelisted.test.pi-hole.net 127.0.0.2 1 2 4"* ]]
[[ ${lines[13]} == *"A regex1.test.pi-hole.net 127.0.0.2 4 2 4"* ]]
[[ ${lines[14]} == *"A regex1.test.pi-hole.net 127.0.0.1 3 2 4"* ]]
[[ ${lines[15]} == *"A regex1.test.pi-hole.net 127.0.0.3 3 2 4"* ]]
[[ ${lines[16]} == *"A blacklist-blocked.test.pi-hole.net 127.0.0.2 2 0 4"* ]]
[[ ${lines[17]} == *"A blacklist-blocked.test.pi-hole.net 127.0.0.3 3 2 4"* ]]
[[ ${lines[18]} == *"A regex1.test.pi-hole.net 127.0.0.3 3 2 4"* ]]
[[ ${lines[19]} == *"A discourse.pi-hole.net 127.0.0.3 3 2 4"* ]]
[[ ${lines[20]} == *"TXT version.bind 127.0.0.4 3 2 6"* ]]
[[ ${lines[21]} == *"TXT version.bind 127.0.0.5 3 2 6"* ]]
[[ ${lines[22]} == *"TXT version.bind 127.0.0.6 3 2 6"* ]]
[[ ${lines[23]} == *"A google.com 127.0.0.1 2 0 4"* ]]
[[ ${lines[24]} == *"AAAA google.com 127.0.0.1 2 0 4"* ]]
[[ ${lines[25]} == *"A ftl.pi-hole.net 127.0.0.1 2 0 4"* ]]
[[ ${lines[26]} == *"A a.dns.netmeister.org 127.0.0.1 2 0 4"* ]]
[[ ${lines[27]} == *"AAAA aaaa.dns.netmeister.org 127.0.0.1 2 0 4"* ]]
[[ ${lines[28]} == *"ANY any.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[29]} == *"TYPE5 cname.dns.netmeister.org 127.0.0.1 2 0 3"* ]]
[[ ${lines[30]} == *"SRV srv.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[31]} == *"SOA soa.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[32]} == *"PTR 99.7.84.166.in-addr.arpa 127.0.0.1 2 0 5"* ]]
[[ ${lines[33]} == *"PTR 0.0.9.3.2.7.e.f.f.f.3.6.6.7.2.e.4.8.0.0.0.3.0.0.0.7.4.0.1.0.0.2.ip6.arpa 127.0.0.1 2 0 5"* ]]
[[ ${lines[34]} == *"PTR ptr.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[35]} == *"TXT txt.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[36]} == *"NAPTR naptr.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[37]} == *"MX mx.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[38]} == *"DS ds.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[39]} == *"RRSIG rrsig.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[40]} == *"DNSKEY dnskey.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[41]} == *"NS ns.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[42]} == *"SVCB svcb.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[43]} == *"HTTPS https.dns.netmeister.org 127.0.0.1 2 0 13"* ]]
[[ ${lines[44]} == "" ]]
[[ ${lines[6]} == *"A whitelisted.test.pi-hole.net 127.0.0.1 2 1 4 "* ]]
[[ ${lines[7]} == *"DS net :: 2 1 11 "* ]]
[[ ${lines[8]} == *"DNSKEY :: 2 1 11 "* ]]
[[ ${lines[9]} == *"DS pi-hole.net :: 2 1 11 "* ]]
[[ ${lines[10]} == *"DNSKEY net :: 2 1 11 "* ]]
[[ ${lines[11]} == *"DNSKEY pi-hole.net :: 2 1 11 "* ]]
[[ ${lines[12]} == *"A discourse.pi-hole.net 127.0.0.1 2 1 4 "* ]]
[[ ${lines[13]} == *"A regex5.test.pi-hole.net 127.0.0.1 4 2 4 "* ]]
[[ ${lines[14]} == *"A regexa.test.pi-hole.net 127.0.0.1 2 1 4 "* ]]
[[ ${lines[15]} == *"A regex1.test.pi-hole.net 127.0.0.1 2 1 4 "* ]]
[[ ${lines[16]} == *"A regex2.test.pi-hole.net 127.0.0.1 2 1 4 "* ]]
[[ ${lines[17]} == *"A whitelisted.test.pi-hole.net 127.0.0.2 1 2 4 "* ]]
[[ ${lines[18]} == *"A regex1.test.pi-hole.net 127.0.0.2 4 2 4 "* ]]
[[ ${lines[19]} == *"A regex1.test.pi-hole.net 127.0.0.1 3 1 4"* ]]
[[ ${lines[20]} == *"A regex1.test.pi-hole.net 127.0.0.3 3 1 4 "* ]]
[[ ${lines[21]} == *"A blacklist-blocked.test.pi-hole.net 127.0.0.2 2 1 4 "* ]]
[[ ${lines[22]} == *"A blacklist-blocked.test.pi-hole.net 127.0.0.3 3 1 4 "* ]]
[[ ${lines[23]} == *"A regex1.test.pi-hole.net 127.0.0.3 3 1 4 "* ]]
[[ ${lines[24]} == *"A discourse.pi-hole.net 127.0.0.3 3 1 4 "* ]]
[[ ${lines[25]} == *"TXT version.bind 127.0.0.4 3 2 6 "* ]]
[[ ${lines[26]} == *"TXT version.bind 127.0.0.5 3 2 6 "* ]]
[[ ${lines[27]} == *"TXT version.bind 127.0.0.6 3 2 6 "* ]]
[[ ${lines[28]} == *"A google.com 127.0.0.1 2 2 4 "* ]]
[[ ${lines[29]} == *"DS com :: 2 1 11 "* ]]
[[ ${lines[30]} == *"DS google.com :: 2 2 1 "* ]]
[[ ${lines[31]} == *"DNSKEY com :: 2 1 11 "* ]]
[[ ${lines[32]} == *"AAAA google.com 127.0.0.1 2 2 4 "* ]]
[[ ${lines[33]} == *"A ftl.pi-hole.net 127.0.0.1 2 1 4 "* ]]
[[ ${lines[34]} == *"A a.dns.netmeister.org 127.0.0.1 2 2 4 "* ]]
[[ ${lines[35]} == *"AAAA aaaa.dns.netmeister.org 127.0.0.1 2 2 4 "* ]]
[[ ${lines[36]} == *"ANY any.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[37]} == *"TYPE5 cname.dns.netmeister.org 127.0.0.1 2 2 3 "* ]]
[[ ${lines[38]} == *"SRV srv.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[39]} == *"SOA soa.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[40]} == *"PTR 99.7.84.166.in-addr.arpa 127.0.0.1 2 2 5 "* ]]
[[ ${lines[41]} == *"DS arpa :: 2 1 11 "* ]]
[[ ${lines[42]} == *"DS in-addr.arpa :: 2 1 11 "* ]]
[[ ${lines[43]} == *"DNSKEY arpa :: 2 1 11 "* ]]
[[ ${lines[44]} == *"DS 166.in-addr.arpa :: 2 1 11 "* ]]
[[ ${lines[45]} == *"DNSKEY in-addr.arpa :: 2 1 11 "* ]]
[[ ${lines[46]} == *"DS 84.166.in-addr.arpa :: 2 2 1 "* ]]
[[ ${lines[47]} == *"DNSKEY 166.in-addr.arpa :: 2 1 11 "* ]]
[[ ${lines[48]} == *"PTR 0.0.9.3.2.7.e.f.f.f.3.6.6.7.2.e.4.8.0.0.0.3.0.0.0.7.4.0.1.0.0.2.ip6.arpa 127.0.0.1 2 2 5 "* ]]
[[ ${lines[49]} == *"DS ip6.arpa :: 2 1 11 "* ]]
[[ ${lines[50]} == *"DS 2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[51]} == *"DNSKEY ip6.arpa :: 2 1 11 "* ]]
[[ ${lines[52]} == *"DS 0.2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[53]} == *"DS 0.0.2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[54]} == *"DS 1.0.0.2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[55]} == *"DS 0.1.0.0.2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[56]} == *"DS 4.0.1.0.0.2.ip6.arpa :: 2 1 11 "* ]]
[[ ${lines[57]} == *"DS 7.4.0.1.0.0.2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[58]} == *"DNSKEY 4.0.1.0.0.2.ip6.arpa :: 2 1 11 "* ]]
[[ ${lines[59]} == *"DS 0.7.4.0.1.0.0.2.ip6.arpa :: 2 2 1 "* ]]
[[ ${lines[60]} == *"PTR ptr.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[61]} == *"TXT txt.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[62]} == *"NAPTR naptr.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[63]} == *"MX mx.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[64]} == *"DS ds.dns.netmeister.org 127.0.0.1 2 1 13 "* ]]
[[ ${lines[65]} == *"DS org :: 2 1 11 "* ]]
[[ ${lines[66]} == *"DS netmeister.org :: 2 1 11 "* ]]
[[ ${lines[67]} == *"DNSKEY org :: 2 1 11 "* ]]
[[ ${lines[68]} == *"DS dns.netmeister.org :: 2 1 11 "* ]]
[[ ${lines[69]} == *"DNSKEY netmeister.org :: 2 1 11 "* ]]
[[ ${lines[70]} == *"DNSKEY dns.netmeister.org :: 2 1 11 "* ]]
[[ ${lines[71]} == *"RRSIG rrsig.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[72]} == *"DNSKEY dnskey.dns.netmeister.org 127.0.0.1 2 1 13 "* ]]
[[ ${lines[73]} == *"DS dnskey.dns.netmeister.org :: 2 1 11 "* ]]
[[ ${lines[74]} == *"DNSKEY dnskey.dns.netmeister.org :: 2 1 11 "* ]]
[[ ${lines[75]} == *"NS ns.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[76]} == *"SVCB svcb.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[77]} == *"HTTPS https.dns.netmeister.org 127.0.0.1 2 2 13 "* ]]
[[ ${lines[78]} == "" ]]
}
@test "Get all queries (domain filtered) shows expected content" {
run bash -c 'echo ">getallqueries-domain regexa.test.pi-hole.net >quit" | nc -v 127.0.0.1 4711'
printf "%s\n" "${lines[@]}"
[[ ${lines[1]} == *"A regexa.test.pi-hole.net "?*" 2 0 4"* ]]
[[ ${lines[1]} == *"A regexa.test.pi-hole.net "?*" 2 1 4"* ]]
[[ ${lines[2]} == "" ]]
}