From 1ee4fe72a51be8a71b275cf33514eab7b2a28268 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Tue, 21 Sep 2021 17:25:57 +0200 Subject: tests: database.c --- tests/database.c | 42 ++++++++++++++++++++++++++++++++++++++++++ tests/zone.file | 4 ++++ 2 files changed, 46 insertions(+) create mode 100644 tests/database.c create mode 100644 tests/zone.file diff --git a/tests/database.c b/tests/database.c new file mode 100644 index 0000000..18c7ec4 --- /dev/null +++ b/tests/database.c @@ -0,0 +1,42 @@ +/* + * tests/database.c + * (c) 2021 Jonas Gunz + * License: MIT + */ + +#include "tests.h" + +#include "../src/database.h" +#include "../src/zonefile.h" + +START_TEST ( test_database_parse_zonefile ) { + int ret; + char qname[128]; + int qname_len; + database_t db; + database_rdata_t data; + + qname_len = fqdn_to_qname("test.example.com.", 18, qname, 128); + ck_assert_int_gt(qname_len, 0); + + database_init( &db ); + ck_assert_ptr_nonnull( db.zone ); + + ret = zonefile_to_database( &db, "tests/zone.file" ); + ck_assert_int_eq(ret,0); + + ret = database_query( &data, &db, qname, qname_len, 1, 1 ); + ck_assert_int_eq(ret, 0); + + database_destroy(&db); + ck_assert_ptr_null( db.zone ); +} END_TEST + + +TCase* test_database(void) { + TCase *tc = tcase_create("Database"); + + tcase_add_test(tc, test_database_parse_zonefile); + + return tc; +} diff --git a/tests/zone.file b/tests/zone.file new file mode 100644 index 0000000..12ca15b --- /dev/null +++ b/tests/zone.file @@ -0,0 +1,4 @@ +test.example.com. 3600 IN A 69.69.69.69 +test1.example.com. 3600 IN CNAME test.example.com. +ns.example.com. 3600 IN A 69.69.69.70 +example.com. 3600 IN NS ns.example.com. -- cgit v1.2.3