From: Remi Gacogne Date: Wed, 12 Nov 2025 10:48:53 +0000 (+0100) Subject: dnsdist: Add a test for unknown policy name from Yaml X-Git-Tag: rec-5.4.0-alpha1~91^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=566edbe14fedbd89fb6a0d6b85d3d544c06cde82;p=thirdparty%2Fpdns.git dnsdist: Add a test for unknown policy name from Yaml Signed-off-by: Remi Gacogne --- diff --git a/regression-tests.dnsdist/test_Yaml.py b/regression-tests.dnsdist/test_Yaml.py index 52b3239f56..66ae18fd30 100644 --- a/regression-tests.dnsdist/test_Yaml.py +++ b/regression-tests.dnsdist/test_Yaml.py @@ -576,3 +576,45 @@ query_rules: def tearDownClass(cls): if cls._dnsdist: cls.killProcess(cls._dnsdist) + +class TestYamlUnknownPolicyName(DNSDistTest): + + _yaml_config_template = """--- +binds: + - listen_address: "127.0.0.1:%d" + protocol: Do53 + +backends: + - address: "127.0.0.1:%d" + protocol: Do53 + +pools: + - name: "" + policy: "this-policy-does-not-exist" +""" + _yaml_config_params = ['_dnsDistPort', '_testServerPort'] + _config_params = [] + + def testFailToStart(self): + """ + YAML: Fails to start with unknown policy name + """ + pass + + @classmethod + def setUpClass(cls): + failed = False + try: + cls.startDNSDist() + except AssertionError as err: + failed = True + expected = "dnsdist --check-config failed (1): b'Error while processing YAML configuration from file configs/dnsdist_TestYamlUnknownPolicyName.yml: Unable to find a load-balancing policy named this-policy-does-not-exist\\n'" + if str(err) != expected: + raise AssertionError("DNSdist should not start with an unknown policy name: %s" % (err)) + if not failed: + raise AssertionError("DNSdist should not start with an unknown policy name") + + @classmethod + def tearDownClass(cls): + if cls._dnsdist: + cls.killProcess(cls._dnsdist)