mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
Rewrite the ttl system test to pytest
This commit is contained in:
parent
f52377ec86
commit
0c05c3d97b
@ -11,11 +11,7 @@
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
rm -f ./dig.out.*
|
||||
rm -f ./*/named.conf
|
||||
rm -f ./*/named.memstats
|
||||
rm -f ./*/named.run
|
||||
rm -f ./ns*/named.lock
|
||||
rm -f ./ns*/_default.nzf
|
||||
rm -f ./ns*/_default.nzd*
|
||||
rm -f ./ns*/managed-keys.bind* ns*/*.mkeys*
|
||||
rm -f ./ns*/managed-keys.bind*
|
||||
|
@ -13,6 +13,5 @@
|
||||
|
||||
. ../conf.sh
|
||||
|
||||
$SHELL clean.sh
|
||||
copy_setports ns1/named.conf.in ns1/named.conf
|
||||
copy_setports ns2/named.conf.in ns2/named.conf
|
||||
|
@ -1,46 +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
|
||||
|
||||
dig_with_options() { "$DIG" +noadd +nosea +nostat +noquest +nocomm +nocmd -p "${PORT}" "$@"; }
|
||||
|
||||
status=0
|
||||
t=0
|
||||
|
||||
echo_i "testing min-cache-ttl"
|
||||
t=$((t+1))
|
||||
dig_with_options IN SOA min-example. @10.53.0.2 > dig.out.${t}
|
||||
TTL=$(< dig.out.${t} awk '{ print $2; }')
|
||||
[ "$TTL" -eq 60 ] || status=$((status+1))
|
||||
|
||||
echo_i "testing min-ncache-ttl"
|
||||
t=$((t+1))
|
||||
dig_with_options IN MX min-example. @10.53.0.2 > dig.out.${t}
|
||||
TTL=$(< dig.out.${t} awk '{ print $2; }')
|
||||
[ "$TTL" -eq 30 ] || status=$((status+1))
|
||||
|
||||
echo_i "testing max-cache-ttl"
|
||||
t=$((t+1))
|
||||
dig_with_options IN SOA max-example. @10.53.0.2 > dig.out.${t}
|
||||
TTL=$(< dig.out.${t} awk '{ print $2; }')
|
||||
[ "$TTL" -eq 120 ] || status=$((status+1))
|
||||
|
||||
echo_i "testing max-ncache-ttl"
|
||||
t=$((t+1))
|
||||
dig_with_options IN MX max-example. @10.53.0.2 > dig.out.${t}
|
||||
TTL=$(< dig.out.${t} awk '{ print $2; }')
|
||||
[ "$TTL" -eq 60 ] || status=$((status+1))
|
||||
|
||||
echo_i "exit status: $status"
|
||||
[ $status -eq 0 ] || exit 1
|
32
bin/tests/system/ttl/tests_cache_ttl.py
Normal file
32
bin/tests/system/ttl/tests_cache_ttl.py
Normal file
@ -0,0 +1,32 @@
|
||||
# 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
|
||||
|
||||
pytest.importorskip("dns")
|
||||
import dns.message
|
||||
import dns.query
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"qname,rdtype,expected_ttl",
|
||||
[
|
||||
("min-example.", "SOA", 60),
|
||||
("min-example.", "MX", 30),
|
||||
("max-example.", "SOA", 120),
|
||||
("max-example.", "MX", 60),
|
||||
],
|
||||
)
|
||||
def test_cache_ttl(qname, rdtype, expected_ttl, named_port):
|
||||
msg = dns.message.make_query(qname, rdtype)
|
||||
response = dns.query.udp(msg, "10.53.0.2", timeout=10, port=named_port)
|
||||
for rr in response.answer + response.authority:
|
||||
assert rr.ttl == expected_ttl
|
Loading…
x
Reference in New Issue
Block a user