From f8ba1e009420191ef318dfac844932d27f90f232 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Thu, 2 Sep 2021 20:23:28 +0200 Subject: [PATCH] Tests: Enable DNSSEC for query validation during the CI tests Signed-off-by: DL6ER --- src/tre-regex/CMakeLists.txt | 1 - test/dnsmasq.conf | 5 + test/run.sh | 2 +- test/test_suite.bats | 236 ++++++++++++++++++++++------------- 4 files changed, 155 insertions(+), 89 deletions(-) diff --git a/src/tre-regex/CMakeLists.txt b/src/tre-regex/CMakeLists.txt index ab99974e..01d866d8 100644 --- a/src/tre-regex/CMakeLists.txt +++ b/src/tre-regex/CMakeLists.txt @@ -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) diff --git a/test/dnsmasq.conf b/test/dnsmasq.conf index f524b406..e7204914 100644 --- a/test/dnsmasq.conf +++ b/test/dnsmasq.conf @@ -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 diff --git a/test/run.sh b/test/run.sh index b33906be..7385eed0 100755 --- a/test/run.sh +++ b/test/run.sh @@ -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 diff --git a/test/test_suite.bats b/test/test_suite.bats index 9fe5d4a0..99be43a0 100644 --- a/test/test_suite.bats +++ b/test/test_suite.bats @@ -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]} == "" ]] }