bind9/tests/dns/transport_test.c
Evan Hunt 3ad82a4721 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.
2024-10-14 12:59:52 -07:00

61 lines
1.7 KiB
C

/*
* 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 <inttypes.h>
#include <sched.h> /* IWYU pragma: keep */
#include <setjmp.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define UNIT_TESTING
#include <cmocka.h>
#include <isc/string.h>
#include <isc/util.h>
#include <dns/transport.h>
#include <tests/dns.h>
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