Browse Source

[2108] Add more checks to data returned by findZone2()

Mukund Sivaraman 12 years ago
parent
commit
330f8ec209

+ 28 - 0
src/lib/datasrc/memory/tests/memory_client_unittest.cc

@@ -300,6 +300,34 @@ TEST_F(MemoryClientTest, findZone2) {
     EXPECT_EQ(result::SUCCESS, result2.code);
     EXPECT_NE(static_cast<ZoneData*>(NULL),
               result2.zone_data);
+
+    /* Check SOA */
+    const ZoneNode* node = result2.zone_data->getOriginNode();
+    EXPECT_NE(static_cast<const ZoneNode*>(NULL), node);
+
+    const RdataSet* set = node->getData();
+    EXPECT_NE(static_cast<const RdataSet*>(NULL), set);
+    EXPECT_EQ(RRType::SOA(), set->type);
+
+    set = set->getNext();
+    EXPECT_EQ(static_cast<const RdataSet*>(NULL), set);
+
+    /* Check ns1.example.org */
+    const ZoneTree& tree = result2.zone_data->getZoneTree();
+    ZoneTree::Result result3(tree.find(Name("ns1.example.org"), &node));
+    EXPECT_EQ(ZoneTree::EXACTMATCH, result3);
+    EXPECT_NE(static_cast<const ZoneNode*>(NULL), node);
+
+    set = node->getData();
+    EXPECT_NE(static_cast<const RdataSet*>(NULL), set);
+    EXPECT_EQ(RRType::AAAA(), set->type);
+
+    set = set->getNext();
+    EXPECT_NE(static_cast<const RdataSet*>(NULL), set);
+    EXPECT_EQ(RRType::A(), set->type);
+
+    set = set->getNext();
+    EXPECT_EQ(static_cast<const RdataSet*>(NULL), set);
 }
 
 TEST_F(MemoryClientTest, getUpdaterThrowsNotImplemented) {

+ 1 - 0
src/lib/datasrc/memory/tests/testdata/example.org-rrsigs.zone

@@ -5,3 +5,4 @@ example.org. 3600 IN SOA	ns1.example.org. bugs.x.w.example.org. 74 3600 300 3600
 ns1.example.org.		      3600 IN A	 	192.168.0.1
 ns1.example.org.		      3600 IN RRSIG	A 7 3 3600 20150420235959 20051021000000 40430 example.org. FAKEFAKE
 ns1.example.org.		      3600 IN RRSIG	A 7 2 3600 20150420235959 20051021000000 40430 example.org. FAKEFAKE
+ns1.example.org.		      3600 IN AAAA 	::1