From d2f786d824f24907f44ffa781dbe5f0004b6c914 Mon Sep 17 00:00:00 2001 From: James Coglan Date: Wed, 29 May 2024 10:19:46 +0100 Subject: [PATCH] resolved: tests for dns_resource_key_new_append_suffix() --- src/resolve/test-dns-rr.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/resolve/test-dns-rr.c b/src/resolve/test-dns-rr.c index 0b99b88a6fa..4f476d20b33 100644 --- a/src/resolve/test-dns-rr.c +++ b/src/resolve/test-dns-rr.c @@ -127,4 +127,37 @@ TEST(dns_resource_key_new_redirect_dname_no_match) { ASSERT_STREQ(dns_resource_key_name(redirected), "www.examples.com"); } +/* ================================================================ + * dns_resource_key_new_append_suffix() + * ================================================================ */ + +TEST(dns_resource_key_new_append_suffix_root) { + _cleanup_(dns_resource_key_unrefp) DnsResourceKey *source = NULL, *target = NULL; + + source = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "www.example.com"); + ASSERT_NOT_NULL(source); + + ASSERT_OK(dns_resource_key_new_append_suffix(&target, source, (char *)"")); + ASSERT_NOT_NULL(target); + ASSERT_TRUE(target == source); + + ASSERT_OK(dns_resource_key_new_append_suffix(&target, source, (char *)".")); + ASSERT_NOT_NULL(target); + ASSERT_TRUE(target == source); + + dns_resource_key_unref(source); +} + +TEST(dns_resource_key_new_append_suffix_not_root) { + _cleanup_(dns_resource_key_unrefp) DnsResourceKey *source = NULL, *target = NULL; + + source = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "www.example"); + ASSERT_NOT_NULL(source); + + ASSERT_OK(dns_resource_key_new_append_suffix(&target, source, (char *)"com")); + ASSERT_NOT_NULL(target); + ASSERT_FALSE(target == source); + ASSERT_STREQ(dns_resource_key_name(target), "www.example.com"); +} + DEFINE_TEST_MAIN(LOG_DEBUG); -- 2.47.3