mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-10-07 13:36:21 +00:00
[1177] Little bit more tests
This commit is contained in:
@@ -127,6 +127,7 @@ const char* const TEST_RECORDS[][5] = {
|
||||
{"delegation.example.org.", "NS", "3600", "", "ns.example.com."},
|
||||
{"delegation.example.org.", "NS", "3600", "",
|
||||
"ns.delegation.example.org."},
|
||||
{"delegation.example.org.", "DS", "3600", "", "1 RSAMD5 2 abcd"},
|
||||
{"delegation.example.org.", "RRSIG", "3600", "", "NS 5 3 3600 "
|
||||
"20000101000000 20000201000000 12345 example.org. FAKEFAKEFAKE"},
|
||||
{"ns.delegation.example.org.", "A", "3600", "", "192.0.2.1"},
|
||||
@@ -171,11 +172,17 @@ const char* const TEST_RECORDS[][5] = {
|
||||
{"*.delegatedwild.example.org.", "A", "3600", "", "192.0.2.5"},
|
||||
{"wild.*.foo.example.org.", "A", "3600", "", "192.0.2.5"},
|
||||
{"wild.*.foo.*.bar.example.org.", "A", "3600", "", "192.0.2.5"},
|
||||
{"*.cnamewild.example.org.", "CNAME", "3600", "", "www.example.org."},
|
||||
{"*.nswild.example.org.", "NS", "3600", "", "ns.example.com."},
|
||||
// For finding previous, this one is the last one in the zone
|
||||
{"zzz.example.org.", "NSEC", "3600", "", "example.org NSEC"},
|
||||
// For NSEC empty non-terminal
|
||||
{"l.example.org.", "NSEC", "3600", "", "empty.nonterminal.example.org. NSEC"},
|
||||
{"empty.nonterminal.example.org.", "A", "3600", "", "192.0.2.1"},
|
||||
// Invalid rdata
|
||||
{"invalidrdata.example.org.", "A", "3600", "", "Bunch of nonsense"},
|
||||
{"invalidrdata2.example.org.", "A", "3600", "", "192.0.2.1"},
|
||||
{"invalidrdata2.example.org.", "RRSIG", "3600", "", "Nonsense"},
|
||||
|
||||
{NULL, NULL, NULL, NULL, NULL},
|
||||
};
|
||||
@@ -557,6 +564,8 @@ public:
|
||||
} else if (rname == "org.example.www2." ||
|
||||
rname == "org.example.www1.") {
|
||||
return ("www.example.org.");
|
||||
} else if (rname == "org.example.badnsec2.") {
|
||||
return ("badnsec1.example.org.");
|
||||
} else if (rname == "org.example.notimplnsec." ||
|
||||
rname == "org.example.wild.here.") {
|
||||
isc_throw(isc::NotImplemented, "Not implemented in this test");
|
||||
@@ -1578,6 +1587,22 @@ TYPED_TEST(DatabaseClientTest, wildcard) {
|
||||
// FIXME: What should be returned in this case? How does the
|
||||
// DNSSEC logic handle it?
|
||||
}
|
||||
|
||||
// Some strange things in the wild node
|
||||
this->expected_rdatas_.clear();
|
||||
this->expected_rdatas_.push_back("www.example.org.");
|
||||
this->expected_sig_rdatas_.clear();
|
||||
doFindTest(*finder, isc::dns::Name("a.cnamewild.example.org."),
|
||||
isc::dns::RRType::TXT(), isc::dns::RRType::CNAME(),
|
||||
this->rrttl_, ZoneFinder::CNAME,
|
||||
this->expected_rdatas_, this->expected_sig_rdatas_);
|
||||
|
||||
this->expected_rdatas_.clear();
|
||||
this->expected_rdatas_.push_back("ns.example.com.");
|
||||
doFindTest(*finder, isc::dns::Name("a.nswild.example.org."),
|
||||
isc::dns::RRType::TXT(), isc::dns::RRType::NS(),
|
||||
this->rrttl_, ZoneFinder::DELEGATION,
|
||||
this->expected_rdatas_, this->expected_sig_rdatas_);
|
||||
}
|
||||
|
||||
TYPED_TEST(DatabaseClientTest, NXRRSET_NSEC) {
|
||||
@@ -2305,4 +2330,21 @@ TYPED_TEST(DatabaseClientTest, previous) {
|
||||
}
|
||||
}
|
||||
|
||||
TYPED_TEST(DatabaseClientTest, invalidRdata) {
|
||||
shared_ptr<DatabaseClient::Finder> finder(this->getFinder());
|
||||
|
||||
EXPECT_THROW(finder->find(Name("invalidrdata.example.org."), RRType::A()),
|
||||
DataSourceError);
|
||||
EXPECT_THROW(finder->find(Name("invalidrdata2.example.org."), RRType::A()),
|
||||
DataSourceError);
|
||||
}
|
||||
|
||||
TEST_F(MockDatabaseClientTest, missingNSEC) {
|
||||
shared_ptr<DatabaseClient::Finder> finder(this->getFinder());
|
||||
|
||||
EXPECT_THROW(finder->find(Name("badnsec2.example.org."), RRType::A(), NULL,
|
||||
ZoneFinder::FIND_DNSSEC),
|
||||
DataSourceError);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user