From: JINMEI Tatuya Date: Sat, 10 Mar 2012 07:26:01 +0000 (-0800) Subject: [1608] added a new test: wildcard expansion. not work for in-memory for now. X-Git-Tag: trac2351_base~226^2~116^2~127^2~3^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b87b288e07b97629fa80b36b0cfa0833727b785a;p=thirdparty%2Fkea.git [1608] added a new test: wildcard expansion. not work for in-memory for now. --- diff --git a/src/lib/datasrc/tests/testdata/contexttest.zone b/src/lib/datasrc/tests/testdata/contexttest.zone index d9bedd986d..c9d2859135 100644 --- a/src/lib/datasrc/tests/testdata/contexttest.zone +++ b/src/lib/datasrc/tests/testdata/contexttest.zone @@ -1,7 +1,7 @@ ;; test zone file used for ZoneFinderContext tests. ;; RRSIGs are (obviouslly) faked ones for testing. -example.org. 3600 IN SOA ns1.example.org. bugs.x.w.example.org. 52 3600 300 3600000 3600 +example.org. 3600 IN SOA ns1.example.org. bugs.x.w.example.org. 55 3600 300 3600000 3600 example.org. 3600 IN NS ns1.example.org. example.org. 3600 IN NS ns2.example.org. example.org. 3600 IN MX 1 mx1.example.org. @@ -57,6 +57,10 @@ d.example.org. 3600 IN NS ns1.example.org. foo.ns.empty.example.org. 3600 IN A 192.0.2.13 bar.ns.empty.example.org. 3600 IN A 192.0.2.14 +;; delegation; the NS name matches a wildcard (and there's no exact match) +e.example.org. 3600 IN NS ns.wild.example.org. +*.wild.example.org. 3600 IN A 192.0.2.15 + ;; CNAME alias.example.org. 3600 IN CNAME cname.example.org. diff --git a/src/lib/datasrc/tests/zone_finder_context_unittest.cc b/src/lib/datasrc/tests/zone_finder_context_unittest.cc index 2b776d1182..5ce96ab376 100644 --- a/src/lib/datasrc/tests/zone_finder_context_unittest.cc +++ b/src/lib/datasrc/tests/zone_finder_context_unittest.cc @@ -261,6 +261,21 @@ TEST_P(ZoneFinderContextTest, getAdditionalDelegationWithEmptyName) { result_sets_.begin(), result_sets_.end()); } +TEST_P(ZoneFinderContextTest, getAdditionalDelegationWithWild) { + // The NS name needs to be expanded by a wildcard. Currently it doesn't + // work for the optimized in-memory version. + if (GetParam() == createInMemoryClient) { + return; + } + + ZoneFinderContextPtr ctx = finder_->find(Name("www.e.example.org"), + RRType::AAAA()); + EXPECT_EQ(ZoneFinder::DELEGATION, ctx->code); + ctx->getAdditional(REQUESTED_BOTH, result_sets_); + rrsetsCheck("ns.wild.example.org. 3600 IN A 192.0.2.15\n", + result_sets_.begin(), result_sets_.end()); +} + TEST_P(ZoneFinderContextTest, getAdditionalMX) { // Similar to the previous cases, but for MX addresses. The test zone // contains MX name under a zone cut. Its address shouldn't be returned.