bind9/bin/tests/system/dnssec/tests_validation_multiview.py
Nicki Křížek 53be3af05c Use nsX fixtures rather than servers
Rather than using servers["nsX"] syntax, utilize the nsX fixtures to
make the test code a bit more concise.

See fe55342916
2025-07-31 12:55:40 -07:00

61 lines
1.9 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 os
import re
import pytest
import isctest
@pytest.fixture(scope="module", autouse=True)
def reconfigure(ns4, templates):
templates.render("ns4/named.conf", {"multi_view": True})
ns4.reconfigure(log=False)
def getfrom(file):
with open(file, encoding="utf-8") as f:
return f.read().strip()
def test_staticstub_delegations():
# check insecure delegation between static-stub zones
def docheck():
msg = isctest.query.create("insecure.secure.example", "NS")
res = isctest.query.tcp(msg, "10.53.0.4")
isctest.check.noerror(res)
msg = isctest.query.create("secure.example", "NS")
res = isctest.query.tcp(msg, "10.53.0.4")
isctest.check.noerror(res)
return True
isctest.run.retry_with_timeout(docheck, 5)
def test_validator_logging(ns4):
# check that validator logging includes the view name with multiple views
pattern = re.compile("view rec: *validat")
with ns4.watch_log_from_start() as watcher:
msg = isctest.query.create("secure.example", "NS")
isctest.query.tcp(msg, "10.53.0.4")
watcher.wait_for_line(pattern)
def test_secure_roots(ns4):
# check that "rndc secroots" dumps the trusted keys with multiple views
key = int(getfrom("ns1/managed.key.id"))
alg = os.environ["DEFAULT_ALGORITHM"]
expected = f"./{alg}/{key} ; static"
response = ns4.rndc("secroots -", log=False).splitlines()
assert expected in response, response
assert len(response) == 17