bind9/bin/tests/system/database/tests_database.py
Nicki Křížek 7718baa363 Add nsX fixtures to system tests
Many of our test cases only use a single NamedInstance from the
`servers` fixture. Introduce `nsX` helper fixtures to simplify these
tests and reduce boilterplate code further.

Specifically, the test no longer has to either define its own variable
to extract a single server from the list, or use the longer
servers["nsX"] syntax. While this may seem minor, the amount of times it
is repeated across the tests justifies the change. It also promotes
using more explicit server identification, i.e. `nsX`, rather than
generic `server`. This also improves the clarity of the tests and may be
helpful in traceback during debugging as well.

(cherry picked from commit fe55342916)
2025-07-18 16:20:06 +02:00

43 lines
1.2 KiB
Python

# 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(ns1, 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."})
with ns1.watch_log_from_here() as watcher:
ns1.rndc("reload")
watcher.wait_for_line("all zones loaded")
# 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",
)