Define basic test cases for dns__zone_updatesigs()
Add some basic test cases ensuring dns__zone_updatesigs() behaves as expected.
This commit is contained in:
@@ -317,8 +317,104 @@ ATF_TC_BODY(updatesigs, tc) {
|
||||
* contents introduced by each test are preserved between tests.
|
||||
*/
|
||||
|
||||
const zonechange_t changes_add[] = {
|
||||
{ DNS_DIFFOP_ADD, "foo.example", 300, "TXT", "foo" },
|
||||
{ DNS_DIFFOP_ADD, "bar.example", 600, "TXT", "bar" },
|
||||
ZONECHANGE_SENTINEL,
|
||||
};
|
||||
const zonediff_t zonediff_add[] = {
|
||||
{ DNS_DIFFOP_ADDRESIGN, "foo.example", 300, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "foo.example", 300, "TXT" },
|
||||
{ DNS_DIFFOP_ADDRESIGN, "bar.example", 600, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "bar.example", 600, "TXT" },
|
||||
ZONEDIFF_SENTINEL,
|
||||
};
|
||||
const updatesigs_test_params_t test_add = {
|
||||
.description = "add new RRsets",
|
||||
.changes = changes_add,
|
||||
.zonediff = zonediff_add,
|
||||
};
|
||||
|
||||
const zonechange_t changes_append[] = {
|
||||
{ DNS_DIFFOP_ADD, "foo.example", 300, "TXT", "foo1" },
|
||||
{ DNS_DIFFOP_ADD, "foo.example", 300, "TXT", "foo2" },
|
||||
ZONECHANGE_SENTINEL,
|
||||
};
|
||||
const zonediff_t zonediff_append[] = {
|
||||
{ DNS_DIFFOP_DELRESIGN, "foo.example", 300, "TXT" },
|
||||
{ DNS_DIFFOP_ADDRESIGN, "foo.example", 300, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "foo.example", 300, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "foo.example", 300, "TXT" },
|
||||
ZONEDIFF_SENTINEL,
|
||||
};
|
||||
const updatesigs_test_params_t test_append = {
|
||||
.description = "append multiple RRs to an existing RRset",
|
||||
.changes = changes_append,
|
||||
.zonediff = zonediff_append,
|
||||
};
|
||||
|
||||
const zonechange_t changes_replace[] = {
|
||||
{ DNS_DIFFOP_DEL, "bar.example", 600, "TXT", "bar" },
|
||||
{ DNS_DIFFOP_ADD, "bar.example", 600, "TXT", "rab" },
|
||||
ZONECHANGE_SENTINEL,
|
||||
};
|
||||
const zonediff_t zonediff_replace[] = {
|
||||
{ DNS_DIFFOP_DELRESIGN, "bar.example", 600, "TXT" },
|
||||
{ DNS_DIFFOP_ADDRESIGN, "bar.example", 600, "TXT" },
|
||||
{ DNS_DIFFOP_DEL, "bar.example", 600, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "bar.example", 600, "TXT" },
|
||||
ZONEDIFF_SENTINEL,
|
||||
};
|
||||
const updatesigs_test_params_t test_replace = {
|
||||
.description = "replace an existing RRset",
|
||||
.changes = changes_replace,
|
||||
.zonediff = zonediff_replace,
|
||||
};
|
||||
|
||||
const zonechange_t changes_delete[] = {
|
||||
{ DNS_DIFFOP_DEL, "bar.example", 600, "TXT", "rab" },
|
||||
ZONECHANGE_SENTINEL,
|
||||
};
|
||||
const zonediff_t zonediff_delete[] = {
|
||||
{ DNS_DIFFOP_DELRESIGN, "bar.example", 600, "TXT" },
|
||||
{ DNS_DIFFOP_DEL, "bar.example", 600, "TXT" },
|
||||
ZONEDIFF_SENTINEL,
|
||||
};
|
||||
const updatesigs_test_params_t test_delete = {
|
||||
.description = "delete an existing RRset",
|
||||
.changes = changes_delete,
|
||||
.zonediff = zonediff_delete,
|
||||
};
|
||||
|
||||
const zonechange_t changes_mixed[] = {
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "TXT", "baz1" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "A", "127.0.0.1" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "TXT", "baz2" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "AAAA", "::1" },
|
||||
ZONECHANGE_SENTINEL,
|
||||
};
|
||||
const zonediff_t zonediff_mixed[] = {
|
||||
{ DNS_DIFFOP_ADDRESIGN, "baz.example", 900, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "TXT" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "TXT" },
|
||||
{ DNS_DIFFOP_ADDRESIGN, "baz.example", 900, "A" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "A" },
|
||||
{ DNS_DIFFOP_ADDRESIGN, "baz.example", 900, "AAAA" },
|
||||
{ DNS_DIFFOP_ADD, "baz.example", 900, "AAAA" },
|
||||
ZONEDIFF_SENTINEL,
|
||||
};
|
||||
const updatesigs_test_params_t test_mixed = {
|
||||
.description = "add different RRsets with common owner name",
|
||||
.changes = changes_mixed,
|
||||
.zonediff = zonediff_mixed,
|
||||
};
|
||||
|
||||
const updatesigs_test_params_t *tests[] = {
|
||||
NULL,
|
||||
&test_add,
|
||||
&test_append,
|
||||
&test_replace,
|
||||
&test_delete,
|
||||
&test_mixed,
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user