from dns import flags
-import pytest
-
import isctest
-@pytest.fixture(scope="module", autouse=True)
-def reconfigure(ns5, ns9, templates):
- templates.render("ns5/named.conf", {"broken_key": True})
- ns5.reconfigure(log=False)
-
- templates.render("ns9/named.conf", {"forward_badkey": True})
- ns9.reconfigure(log=False)
+def bootstrap():
+ return {
+ "broken_key": True,
+ "forward_badkey": True,
+ }
def test_broken_forwarding(ns9):
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
-import pytest
-
import isctest
-@pytest.fixture(scope="module", autouse=True)
-def reconfigure(ns5, templates):
- templates.render("ns5/named.conf", {"revoked_key": True})
- ns5.reconfigure(log=False)
+def bootstrap():
+ return {
+ "revoked_key": True,
+ }
def test_revoked_init():
from dns import flags
-import pytest
-
import isctest
-@pytest.fixture(scope="module", autouse=True)
-def reconfigure(ns4, templates):
- templates.render("ns4/named.conf", {"accept_expired": True})
- ns4.reconfigure(log=False)
+def bootstrap():
+ return {
+ "accept_expired": True,
+ }
def test_accept_expired(ns4):
import os
import shutil
-import pytest
-
import isctest
-@pytest.fixture(scope="module", autouse=True)
-def reconfigure(ns4, templates):
- assert os.path.exists("ns4/managed-keys.bind.jnl") is False
+def bootstrap():
+ assert not os.path.exists("ns4/managed-keys.bind.jnl")
shutil.copyfile("ns4/managed-keys.bind.in", "ns4/managed-keys.bind")
- templates.render("ns4/named.conf", {"managed_key": True})
- ns4.reconfigure(log=False)
+ return {
+ "managed_key": True,
+ }
# helper functions
# information regarding copyright ownership.
from dns import edns
+
import pytest
import isctest
-
-
-@pytest.fixture(scope="module", autouse=True)
-def reconfigure(ns5, templates):
- templates.render("ns5/named.conf", {"many_anchors": True})
- with ns5.watch_log_from_here() as watcher:
- ns5.reconfigure(log=False)
- watcher.wait_for_line(
- [
- "ignoring static-key for 'disabled.trusted.': algorithm is disabled",
- "ignoring static-key for 'disabled.managed.': algorithm is disabled",
- "ignoring static-key for 'unsupported.trusted.': algorithm is unsupported",
- "ignoring static-key for 'unsupported.managed.': algorithm is unsupported",
- "ignoring static-key for 'unsupported.managed.': algorithm is unsupported",
- "ignoring static-key for 'revoked.trusted.': bad key type",
- "ignoring static-key for 'revoked.managed.': bad key type",
- ]
- )
+from isctest.util import param
+
+
+def bootstrap():
+ return {
+ "many_anchors": True,
+ }
+
+
+@pytest.mark.parametrize(
+ "zone, keytype, msg",
+ [
+ param("disabled.trusted.", "static-key", "algorithm is disabled"),
+ param("disabled.managed.", "initial-key", "algorithm is disabled"),
+ param("unsupported.trusted.", "static-key", "algorithm is unsupported"),
+ param("unsupported.managed.", "initial-key", "algorithm is unsupported"),
+ param("revoked.trusted.", "static-key", "bad key type"),
+ param("revoked.managed.", "initial-key", "bad key type"),
+ ],
+)
+def test_log_ignoring_key(zone, keytype, msg, ns5):
+ with ns5.watch_log_from_start() as watcher:
+ watcher.wait_for_line(f"ignoring {keytype} for '{zone}': {msg}")
def test_trust_anchors():
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 bootstrap():
+ return {
+ "multi_view": True,
+ }
def getfrom(file):
]
-def reconfigure_servers(ftype, family, servers, templates):
- for server_id in ["ns1", "ns2", "ns3", "ns4"]:
- templates.render(
- f"{server_id}/named.conf", {"family": family, "filtertype": ftype}
- )
- servers[server_id].reconfigure(log=False)
-
-
def check_filtertype_only(dest, source, qname, ftype, expected, adflag):
qname = dns.name.from_text(qname)
check_filter,
check_filter_other_family,
prime_cache,
- reconfigure_servers,
)
pytestmark = pytest.mark.extra_artifacts(ARTIFACTS)
+def bootstrap():
+ return {
+ "family": "v4",
+ "filtertype": "a",
+ }
+
+
@pytest.fixture(scope="module", autouse=True)
-def setup_filters(servers, templates):
- isctest.log.info("configuring server to filter A on V4")
- reconfigure_servers("a", "v4", servers, templates)
+def setup_filters():
prime_cache("10.53.0.2")
prime_cache("10.53.0.3")
check_filter,
check_filter_other_family,
prime_cache,
- reconfigure_servers,
)
pytestmark = pytest.mark.extra_artifacts(ARTIFACTS)
+def bootstrap():
+ return {
+ "family": "v6",
+ "filtertype": "a",
+ }
+
+
@pytest.fixture(scope="module", autouse=True)
-def setup_filters(servers, templates):
- isctest.log.info("configuring server to filter A on V6")
- reconfigure_servers("a", "v6", servers, templates)
+def setup_filters():
prime_cache("fd92:7065:b8e:ffff::2")
prime_cache("fd92:7065:b8e:ffff::3")
check_filter,
check_filter_other_family,
prime_cache,
- reconfigure_servers,
)
pytestmark = pytest.mark.extra_artifacts(ARTIFACTS)
+def bootstrap():
+ return {
+ "family": "v4",
+ "filtertype": "aaaa",
+ }
+
+
@pytest.fixture(scope="module", autouse=True)
-def setup_filters(servers, templates):
- isctest.log.info("configuring server to filter AAAA on V4")
- reconfigure_servers("aaaa", "v4", servers, templates)
+def setup_filters():
prime_cache("10.53.0.2")
prime_cache("10.53.0.3")
check_filter,
check_filter_other_family,
prime_cache,
- reconfigure_servers,
)
pytestmark = pytest.mark.extra_artifacts(ARTIFACTS)
+def bootstrap():
+ return {
+ "family": "v6",
+ "filtertype": "aaaa",
+ }
+
+
@pytest.fixture(scope="module", autouse=True)
-def setup_filters(servers, templates):
- isctest.log.info("configuring server to filter AAAA on V6")
- reconfigure_servers("aaaa", "v6", servers, templates)
+def setup_filters():
prime_cache("fd92:7065:b8e:ffff::2")
prime_cache("fd92:7065:b8e:ffff::3")