From 74e479706138ae9fd66c57e3cd9cd17ca5ec82f4 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Mon, 11 Mar 2024 16:04:35 +0100 Subject: [PATCH] add a DNSSEC-disabled NameServer scenario test to ensure that hickory-dns is correctly configured to work in NameServer mode --- packages/conformance-tests/src/name_server.rs | 1 + .../src/name_server/scenarios.rs | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 packages/conformance-tests/src/name_server/scenarios.rs diff --git a/packages/conformance-tests/src/name_server.rs b/packages/conformance-tests/src/name_server.rs index c7c01a74..a2e4ef2b 100644 --- a/packages/conformance-tests/src/name_server.rs +++ b/packages/conformance-tests/src/name_server.rs @@ -1 +1,2 @@ mod rfc4035; +mod scenarios; diff --git a/packages/conformance-tests/src/name_server/scenarios.rs b/packages/conformance-tests/src/name_server/scenarios.rs new file mode 100644 index 00000000..17578ad7 --- /dev/null +++ b/packages/conformance-tests/src/name_server/scenarios.rs @@ -0,0 +1,23 @@ +use dns_test::client::{Client, DigSettings}; +use dns_test::name_server::NameServer; +use dns_test::record::RecordType; +use dns_test::{Network, Result, FQDN}; + +#[test] +fn authoritative_answer() -> Result<()> { + let network = &Network::new()?; + let ns = NameServer::new(&dns_test::subject(), FQDN::ROOT, network)?.start()?; + + let client = Client::new(network)?; + let ans = client.dig( + DigSettings::default(), + ns.ipv4_addr(), + RecordType::SOA, + &FQDN::ROOT, + )?; + + assert!(ans.status.is_noerror()); + assert!(ans.flags.authoritative_answer); + + Ok(()) +}