bind9/bin/tests/system/doth
Michał Kępień 53ef8835c1 Reuse common port-related test fixtures
Most Python-based system tests need to know which ports were assigned to
a given test by bin/tests/system/get_ports.sh.  This is currently
handled by inspecting the values of various environment variables (set
by bin/tests/system/run.sh) and passing the port numbers to Python
scripts via pytest fixtures.  However, this glue code has so far been
copy-pasted into each system test using it, rather than reused.

Since pytest also looks for conftest.py files in parent directories,
move commonly used fixtures to bin/tests/system/conftest.py.  Set the
scope of all the moved fixtures to "session" as their return values are
only based on environment variables, so there is no point in recreating
them for every test requesting them.  Adjust test code accordingly.
2022-03-14 08:59:32 +01:00
..
ns1 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns2 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns3 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns4 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
.gitignore Reimplement the gnutls-cli check in Python 2022-01-18 11:00:46 +01:00
clean.sh Reimplement the gnutls-cli check in Python 2022-01-18 11:00:46 +01:00
conftest.py Reuse common port-related test fixtures 2022-03-14 08:59:32 +01:00
example.axfr.good Parse and print HTTPS and SVCB records 2021-08-18 13:49:48 +10: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 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests.sh doth test: fix failure after reconfig 2022-01-18 14:25:43 +02:00
tests_gnutls.py Reimplement the gnutls-cli check in Python 2022-01-18 11:00:46 +01: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"