From 3ad82a4721f7b3ea7b268f9b81bf5771d22edf5e Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Fri, 11 Oct 2024 20:16:24 -0700 Subject: [PATCH] add a unit test for dns_transport_totext() confirm that the text returned by the dns_transport_totext() function matches the transport type when it was created. --- tests/dns/Makefile.am | 1 + tests/dns/transport_test.c | 61 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 tests/dns/transport_test.c diff --git a/tests/dns/Makefile.am b/tests/dns/Makefile.am index 73e343a2c2..70104151cc 100644 --- a/tests/dns/Makefile.am +++ b/tests/dns/Makefile.am @@ -46,6 +46,7 @@ check_PROGRAMS = \ sigs_test \ skr_test \ time_test \ + transport_test \ tsig_test \ update_test \ zonemgr_test \ diff --git a/tests/dns/transport_test.c b/tests/dns/transport_test.c new file mode 100644 index 0000000000..5bf07a149f --- /dev/null +++ b/tests/dns/transport_test.c @@ -0,0 +1,61 @@ +/* + * 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. + */ + +#include +#include /* IWYU pragma: keep */ +#include +#include +#include +#include +#include +#include +#include + +#define UNIT_TESTING +#include + +#include +#include + +#include + +#include + +ISC_RUN_TEST_IMPL(dns_transport_totext) { + dns_transport_t *udp = NULL, *tcp = NULL; + dns_transport_t *tls = NULL, *http = NULL; + dns_transport_list_t *tlist = NULL; + + tlist = dns_transport_list_new(mctx); + udp = dns_transport_new(dns_rootname, DNS_TRANSPORT_UDP, tlist); + tcp = dns_transport_new(dns_rootname, DNS_TRANSPORT_TCP, tlist); + tls = dns_transport_new(dns_rootname, DNS_TRANSPORT_TLS, tlist); + http = dns_transport_new(dns_rootname, DNS_TRANSPORT_HTTP, tlist); + + assert_string_equal(dns_transport_totext(dns_transport_get_type(udp)), + "udp"); + assert_string_equal(dns_transport_totext(dns_transport_get_type(tcp)), + "tcp"); + assert_string_equal(dns_transport_totext(dns_transport_get_type(tls)), + "tls"); + assert_string_equal(dns_transport_totext(dns_transport_get_type(http)), + "https"); + + dns_transport_list_detach(&tlist); +} + +ISC_TEST_LIST_START +ISC_TEST_ENTRY(dns_transport_totext) +ISC_TEST_LIST_END + +ISC_TEST_MAIN