[svn] commit: r1491 - in /trunk/src/lib/auth/tests: datasrc_unittest.cc test_datasrc.cc testdata/q_subzone_dname
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Mar 17 20:52:06 UTC 2010
Author: each
Date: Wed Mar 17 20:52:05 2010
New Revision: 1491
Log:
- added a test for a query on DNAME at a zone cut
- corrected behavior of test data source with regard to the REFERRAL flag
Added:
trunk/src/lib/auth/tests/testdata/q_subzone_dname
Modified:
trunk/src/lib/auth/tests/datasrc_unittest.cc
trunk/src/lib/auth/tests/test_datasrc.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 Wed Mar 17 20:52:05 2010
@@ -604,31 +604,6 @@
// delegation
readAndProcessQuery("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.0.2.1", it->getCurrent().toText());
- it->next();
- EXPECT_TRUE(it->isLast());
}
TEST_F(DataSrcTest, NSECZonecut) {
@@ -655,6 +630,35 @@
EXPECT_EQ("dns02.example.com.", it->getCurrent().toText());
it->next();
EXPECT_EQ("dns03.example.com.", it->getCurrent().toText());
+ it->next();
+ EXPECT_TRUE(it->isLast());
+}
+
+TEST_F(DataSrcTest, DNAMEZonecut) {
+ readAndProcessQuery("testdata/q_subzone_dname");
+
+ 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.0.2.1", it->getCurrent().toText());
it->next();
EXPECT_TRUE(it->isLast());
}
Modified: trunk/src/lib/auth/tests/test_datasrc.cc
==============================================================================
--- trunk/src/lib/auth/tests/test_datasrc.cc (original)
+++ trunk/src/lib/auth/tests/test_datasrc.cc Wed Mar 17 20:52:05 2010
@@ -485,19 +485,16 @@
target.addRRset(sql1_ns);
flags |= REFERRAL;
} else if (name == sql1) {
+ flags |= REFERRAL;
if (any) {
target.addRRset(sql1_ns);
target.addRRset(sql1_nsec);
- flags |= REFERRAL;
} else if (rdtype == RRType::NS()) {
target.addRRset(sql1_ns);
- flags |= REFERRAL;
} else if (rdtype == RRType::SOA()) {
target.addRRset(sql1_soa);
- flags |= REFERRAL;
} else if (rdtype == RRType::NSEC()) {
target.addRRset(sql1_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
@@ -509,7 +506,6 @@
target.addRRset(www_sql1_a);
} else if (rdtype == RRType::NSEC()) {
target.addRRset(www_sql1_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
@@ -521,20 +517,17 @@
target.addRRset(example_ns);
flags |= REFERRAL;
} else if (name == example) {
+ flags |= REFERRAL;
if (any) {
target.addRRset(example_ns);
target.addRRset(example_soa);
target.addRRset(example_nsec);
- flags |= REFERRAL;
} else if (rdtype == RRType::NS()) {
target.addRRset(example_ns);
- flags |= REFERRAL;
} else if (rdtype == RRType::SOA()) {
target.addRRset(example_soa);
- flags |= REFERRAL;
} else if (rdtype == RRType::NSEC()) {
target.addRRset(example_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
@@ -544,20 +537,17 @@
target.addRRset(sql1_ds_nsec);
flags |= REFERRAL;
} else if (name == sql1) {
+ flags |= REFERRAL;
if (any) {
target.addRRset(sql1_ns);
target.addRRset(sql1_ds);
target.addRRset(sql1_ds_nsec);
- flags |= REFERRAL;
} else if (rdtype == RRType::DS()) {
target.addRRset(sql1_ds);
- flags |= REFERRAL;
} else if (rdtype == RRType::NS()) {
target.addRRset(sql1_ns);
- flags |= REFERRAL;
} else if (rdtype == RRType::NSEC()) {
target.addRRset(sql1_ds_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
@@ -566,19 +556,16 @@
target.addRRset(subzone_ds);
flags |= REFERRAL;
} else if (name == subzone) {
+ flags |= REFERRAL;
if (any) {
target.addRRset(subzone_ns);
target.addRRset(subzone_nsec);
- flags |= REFERRAL;
} else if (rdtype == RRType::NS()) {
target.addRRset(subzone_ns);
- flags |= REFERRAL;
} else if (rdtype == RRType::DS()) {
target.addRRset(subzone_ds);
- flags |= REFERRAL;
} else if (rdtype == RRType::NSEC()) {
target.addRRset(subzone_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
@@ -652,7 +639,6 @@
target.addRRset(www_a);
} else if (rdtype == RRType::NSEC()) {
target.addRRset(www_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
@@ -684,16 +670,14 @@
}
}
} else if (name == dname) {
+ flags |= REFERRAL;
if (any) {
target.addRRset(dname_dname);
target.addRRset(dname_nsec);
- flags |= REFERRAL;
} else if (rdtype == RRType::DNAME()) {
target.addRRset(dname_dname);
- flags |= REFERRAL;
} else if (rdtype == RRType::NSEC()) {
target.addRRset(dns01_nsec);
- flags |= REFERRAL;
} else {
flags |= TYPE_NOT_FOUND;
}
More information about the bind10-changes
mailing list