[svn] commit: r3525 - /branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Nov 15 19:39:06 UTC 2010


Author: vorner
Date: Mon Nov 15 19:39:06 2010
New Revision: 3525

Log:
More ideas for tests ‒ zone without nameservers

That one is unreachable for sure.

Modified:
    branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc

Modified: branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc
==============================================================================
--- branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc (original)
+++ branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc Mon Nov 15 19:39:06 2010
@@ -88,7 +88,9 @@
 
     NameserverAddressStoreTest() :
         authority_(new RRset(Name("example.net."), RRClass::IN(), RRType::NS(),
-            RRTTL(128)))
+            RRTTL(128))),
+        empty_authority_(new RRset(Name("example.net."), RRClass::IN(),
+            RRType::NS(), RRTTL(128)))
     {
         // Constructor - initialize a set of nameserver and zone objects.  For convenience,
         // these are stored in vectors.
@@ -113,7 +115,7 @@
     std::vector<boost::shared_ptr<NameserverEntry> > nameservers_;
     std::vector<boost::shared_ptr<ZoneEntry> >       zones_;
 
-    RRsetPtr authority_;
+    RRsetPtr authority_, empty_authority_;
 
     class TestResolver : public ResolverInterface {
         public:
@@ -277,6 +279,23 @@
     }
 }
 
+/**
+ * \short Try looking up a zone that does not have any nameservers.
+ *
+ * It should not ask anything and say it is unreachable right away.
+ */
+TEST_F(NameserverAddressStoreTest, zoneWithoutNameservers) {
+    DerivedNsas nsas(defaultTestResolver, 10, 10);
+    // Ask it a question
+    nsas.lookup("example.net.", RRClass::IN().getCode(), *empty_authority_,
+        vector<AbstractRRset>(), getCallback());
+    // There should be no questions, because there's nothing to ask
+    EXPECT_EQ(0, defaultTestResolver.requests.size());
+    // And there should be one „unreachable“ answer for the query
+    ASSERT_EQ(1, NSASCallback::results.size());
+    EXPECT_FALSE(NSASCallback::results[0].first);
+}
+
 /// \short Test invalid authority section.
 TEST_F(NameserverAddressStoreTest, invalidAuthority) {
     DerivedNsas nsas(defaultTestResolver, 2, 2);




More information about the bind10-changes mailing list