[svn] commit: r1328 - in /trunk/src/lib/auth/tests: datasrc_unittest.cc testdata/q_subzone_any

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Mar 11 16:26:14 UTC 2010


Author: each
Date: Thu Mar 11 16:26:13 2010
New Revision: 1328

Log:
add a unit test to explicitly cover the case of an ANY query at a zone cut

Added:
    trunk/src/lib/auth/tests/testdata/q_subzone_any
Modified:
    trunk/src/lib/auth/tests/datasrc_unittest.cc

Modified: trunk/src/lib/auth/tests/datasrc_unittest.cc
==============================================================================
--- trunk/src/lib/auth/tests/datasrc_unittest.cc (original)
+++ trunk/src/lib/auth/tests/datasrc_unittest.cc Thu Mar 11 16:26:13 2010
@@ -481,6 +481,39 @@
     it->next();
     EXPECT_TRUE(it->isLast());
 }
+
+TEST_F(DataSrcTest, ANYDelegation) {
+    // An ANY query at a zone cut should behave the same as any other
+    // delegation
+    readAndProcessQuery(msg, "testdata/q_subzone_any");
+
+    headerCheck(msg, Rcode::NOERROR(), true, false, true, 0, 5, 2);
+
+    RRsetIterator rit = msg.beginSection(Section::AUTHORITY());
+    RRsetPtr rrset = *rit;
+    EXPECT_EQ(Name("subzone.example.com."), rrset->getName());
+    EXPECT_EQ(RRType::NS(), rrset->getType());
+    EXPECT_EQ(RRClass::IN(), rrset->getClass());
+
+    RdataIteratorPtr it = rrset->getRdataIterator();
+    it->first();
+    EXPECT_EQ("ns1.subzone.example.com.", it->getCurrent().toText());
+    it->next();
+    EXPECT_FALSE(it->isLast());
+
+    rit = msg.beginSection(Section::ADDITIONAL());
+    rrset = *rit;
+    EXPECT_EQ(Name("ns1.subzone.example.com"), rrset->getName());
+    EXPECT_EQ(RRType::A(), rrset->getType());
+    EXPECT_EQ(RRClass::IN(), rrset->getClass());
+
+    it = rrset->getRdataIterator();
+    it->first();
+    EXPECT_EQ("192.168.3.1", it->getCurrent().toText());
+    it->next();
+    EXPECT_TRUE(it->isLast());
+}
+
 TEST_F(DataSrcTest, DS) {
     readAndProcessQuery(msg, "testdata/q_subzone_ds");
 




More information about the bind10-changes mailing list