bind9/bin/tests/system/doth
Tom Krizek 3b6ca76f46
Add pytest functions for shell system tests
In order to run the shell system tests, the pytest runner has to pick
them up somehow. Adding an extra python file with a single function
for the shell tests for each system test proved to be the most
compatible way of running the shell tests across older pytest/xdist
versions.

Modify the legacy run.sh script to ignore these pytest-runner specific
glue files when executing tests written in pytest.

(cherry picked from commit 2f5bf6d971)

(manually added host/tests_sh_host.py, tkey/tests_sh_tkey.py on top)
2023-05-23 16:55:26 +02:00
..
CA Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
ns1 doth system test: increase transfers-in/out limits 2022-10-13 07:39:07 +02:00
ns2 doth system test: increase transfers-in/out limits 2022-10-13 07:39:07 +02:00
ns3 Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
ns4 Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
.gitignore Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
clean.sh Add regression test for CVE-2022-1183 2022-06-27 23:10:00 +02:00
conftest.py Add regression test for CVE-2022-1183 2022-06-27 23:10:00 +02:00
dhparam3072.pem Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
example.axfr.good Parse and print HTTPS and SVCB records 2021-08-18 13:49:48 +10:00
example8.axfr.good Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
get_openssl_version.py Auto-format Python files with black 2022-06-08 13:18:27 +02:00
prereq.sh Add libnghttp2 prerequisite for doth system test 2022-12-02 10:45:21 +01:00
README.curl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
setup.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stress_http_quota.py Auto-format Python files with black 2022-06-08 13:18:27 +02:00
tests.sh Retry multiple times in doth test when checking if the zone file exists 2023-03-09 10:40:43 +00:00
tests_gnutls.py Auto-format Python files with black 2022-06-08 13:18:27 +02:00
tests_sh_doth.py Add pytest functions for shell system tests 2023-05-23 16:55:26 +02:00
tests_sslyze.py Also test DNS-over-TLS code using sslyze 2022-06-27 23:10:00 +02:00

<!--
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.
-->

DoH query values that can be passed on the command line for testing
with curl can be obtained by encoding binary DNS messages into
base64url, with trailing '='s removed.

For example:

$ perl bin/tests/system/fromhex.pl << EOF | base64url
    # Transaction ID
    0001
    # Standard query
    0000
    # Questions: 1, Additional: 0
    0001 0000 0000 0000
    # QNAME: example
    07 6578616d706c65 00
    # Type: SOA
    0006
    Class: IN
    0001
EOF

This produces the string "AAEAAAABAAAAAAAAB2V4YW1wbGUAAAbFrMonAAE=". With
the trailing '=' removed, this can then be passed to curl:

curl "https://<server>/dns-query?dns=AAEAAAABAAAAAAAAB2V4YW1wbGUAAAbFrMonAAE"