diff options
Diffstat (limited to 'tests/database.c')
-rw-r--r-- | tests/database.c | 42 |
1 files changed, 42 insertions, 0 deletions
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 <himself@jonasgunz.de> + * 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; +} |