resolved: tests for dns_resource_key_is_{address, dnssd_ptr, dnssd_two_label_ptr}

This commit is contained in:
James Coglan
2024-07-23 12:44:35 +01:00
committed by Luca Boccassi
parent d2f786d824
commit f1cc0c3a1d
+106
View File
@@ -160,4 +160,110 @@ TEST(dns_resource_key_new_append_suffix_not_root) {
ASSERT_STREQ(dns_resource_key_name(target), "www.example.com");
}
/* ================================================================
* dns_resource_key_is_*()
* ================================================================ */
TEST(dns_resource_key_is_address) {
DnsResourceKey *key = NULL;
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "www.example.com");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_address(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_AAAA, "www.example.com");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_address(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A6, "www.example.com");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_address(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_CNAME, "www.example.com");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_address(key));
dns_resource_key_unref(key);
}
TEST(dns_resource_key_is_dnssd_ptr) {
DnsResourceKey *key = NULL;
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "_tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "foo._tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "_udp.local");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "bar._udp.local");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "_tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "_abc.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "foo_tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_ptr(key));
dns_resource_key_unref(key);
}
TEST(dns_resource_key_is_dnssd_two_label_ptr) {
DnsResourceKey *key = NULL;
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "_tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "foo._tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "_udp.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "bar._udp.local");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "foo._tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "foo._abc.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_PTR, "foo_tcp.local");
ASSERT_NOT_NULL(key);
ASSERT_FALSE(dns_resource_key_is_dnssd_two_label_ptr(key));
dns_resource_key_unref(key);
}
DEFINE_TEST_MAIN(LOG_DEBUG);