diff --git a/bin/tests/system/database/ns1/named1.conf.in b/bin/tests/system/database/ns1/named.conf.j2 similarity index 91% rename from bin/tests/system/database/ns1/named1.conf.in rename to bin/tests/system/database/ns1/named.conf.j2 index 97c087fccd1..059a15563db 100644 --- a/bin/tests/system/database/ns1/named1.conf.in +++ b/bin/tests/system/database/ns1/named.conf.j2 @@ -39,5 +39,5 @@ trust-anchors { }; zone "database" { type primary; - database "_builtin empty localhost. hostmaster.isc.org."; + database "_builtin empty localhost. @rname | default('hostmaster.isc.org.')@"; }; diff --git a/bin/tests/system/database/ns1/named2.conf.in b/bin/tests/system/database/ns1/named2.conf.in deleted file mode 100644 index 8c498a9ae15..00000000000 --- a/bin/tests/system/database/ns1/named2.conf.in +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -// NS1 - -key rndc_key { - secret "1234abcd8765"; - algorithm @DEFAULT_HMAC@; -}; - -controls { - inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; -}; - -options { - query-source address 10.53.0.1; - notify-source 10.53.0.1; - transfer-source 10.53.0.1; - port @PORT@; - pid-file "named.pid"; - listen-on { 10.53.0.1; }; - listen-on-v6 { none; }; - recursion no; - notify yes; - dnssec-validation yes; -}; - -trust-anchors { }; - -zone "database" { - type primary; - database "_builtin empty localhost. marka.isc.org."; -}; diff --git a/bin/tests/system/database/setup.sh b/bin/tests/system/database/setup.sh deleted file mode 100644 index f3f0088a238..00000000000 --- a/bin/tests/system/database/setup.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, you can obtain one at https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -. ../conf.sh - -copy_setports ns1/named1.conf.in ns1/named.conf diff --git a/bin/tests/system/database/tests.sh b/bin/tests/system/database/tests.sh deleted file mode 100644 index efd352c2bb9..00000000000 --- a/bin/tests/system/database/tests.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, you can obtain one at https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -set -e - -. ../conf.sh - -status=0 -n=0 - -rm -f dig.out.* - -DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}" -RNDCCMD="$RNDC -s 10.53.0.1 -p ${CONTROLPORT} -c ../_common/rndc.conf" - -# Check the example. domain - -echo_i "checking pre reload zone ($n)" -ret=0 -$DIG $DIGOPTS soa database. @10.53.0.1 >dig.out.ns1.test$n || ret=1 -grep "hostmaster\.isc\.org" dig.out.ns1.test$n >/dev/null || ret=1 -n=$((n + 1)) -if [ $ret != 0 ]; then echo_i "failed"; fi -status=$((status + ret)) - -copy_setports ns1/named2.conf.in ns1/named.conf -$RNDCCMD reload 2>&1 >/dev/null - -echo_i "checking post reload zone ($n)" -ret=1 -try=0 -while test $try -lt 6; do - sleep 1 - ret=0 - $DIG $DIGOPTS soa database. @10.53.0.1 >dig.out.ns1.test$n || ret=1 - grep "marka\.isc\.org" dig.out.ns1.test$n >/dev/null || ret=1 - try=$((try + 1)) - test $ret -eq 0 && break -done -n=$((n + 1)) -if [ $ret != 0 ]; then echo_i "failed"; fi -status=$((status + ret)) - -echo_i "exit status: $status" -[ $status -eq 0 ] || exit 1 diff --git a/bin/tests/system/database/tests_database.py b/bin/tests/system/database/tests_database.py new file mode 100644 index 00000000000..6793e50b958 --- /dev/null +++ b/bin/tests/system/database/tests_database.py @@ -0,0 +1,41 @@ +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +import isctest + +import dns.message + + +def test_database(servers, templates): + msg = dns.message.make_query("database.", "SOA") + + # checking pre reload zone + res = isctest.query.tcp(msg, "10.53.0.1") + assert res.answer[0] == dns.rrset.from_text( + "database.", + 86400, + "IN", + "SOA", + "localhost. hostmaster.isc.org. 0 28800 7200 604800 86400", + ) + + templates.render("ns1/named.conf", {"rname": "marka.isc.org."}) + servers["ns1"].rndc("reload") + + # checking post reload zone + res = isctest.query.tcp(msg, "10.53.0.1") + assert res.answer[0] == dns.rrset.from_text( + "database.", + 86400, + "IN", + "SOA", + "localhost. marka.isc.org. 0 28800 7200 604800 86400", + ) diff --git a/bin/tests/system/database/tests_sh_database.py b/bin/tests/system/database/tests_sh_database.py deleted file mode 100644 index 62b9105f1e2..00000000000 --- a/bin/tests/system/database/tests_sh_database.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, you can obtain one at https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -import pytest - -pytestmark = pytest.mark.extra_artifacts( - [ - "dig.out.*", - ] -) - - -def test_database(run_tests_sh): - run_tests_sh()