|
@@ -154,10 +154,68 @@ TEST_F(MemoryClientTest, loadReloadZone) {
|
|
client_->getFileName(Name("example.org")));
|
|
client_->getFileName(Name("example.org")));
|
|
EXPECT_EQ(1, client_->getZoneCount());
|
|
EXPECT_EQ(1, client_->getZoneCount());
|
|
|
|
|
|
|
|
+ isc::datasrc::memory::ZoneTable::FindResult
|
|
|
|
+ result(client_->findZone2(Name("example.org")));
|
|
|
|
+ EXPECT_EQ(result::SUCCESS, result.code);
|
|
|
|
+ EXPECT_NE(static_cast<ZoneData*>(NULL),
|
|
|
|
+ result.zone_data);
|
|
|
|
+
|
|
|
|
+ /* Check SOA */
|
|
|
|
+ const ZoneNode* node = result.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 = result.zone_data->getZoneTree();
|
|
|
|
+ ZoneTree::Result zresult(tree.find(Name("ns1.example.org"), &node));
|
|
|
|
+ EXPECT_NE(ZoneTree::EXACTMATCH, zresult);
|
|
|
|
+
|
|
|
|
+ // Reload zone with different data
|
|
|
|
+
|
|
client_->load(Name("example.org"),
|
|
client_->load(Name("example.org"),
|
|
TEST_DATA_DIR "/example.org-rrsigs.zone");
|
|
TEST_DATA_DIR "/example.org-rrsigs.zone");
|
|
EXPECT_EQ(1, client_->getZoneCount());
|
|
EXPECT_EQ(1, client_->getZoneCount());
|
|
|
|
|
|
|
|
+ isc::datasrc::memory::ZoneTable::FindResult
|
|
|
|
+ result2(client_->findZone2(Name("example.org")));
|
|
|
|
+ EXPECT_EQ(result::SUCCESS, result2.code);
|
|
|
|
+ EXPECT_NE(static_cast<ZoneData*>(NULL),
|
|
|
|
+ result2.zone_data);
|
|
|
|
+
|
|
|
|
+ /* Check SOA */
|
|
|
|
+ node = result2.zone_data->getOriginNode();
|
|
|
|
+ EXPECT_NE(static_cast<const ZoneNode*>(NULL), node);
|
|
|
|
+
|
|
|
|
+ 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& tree2 = result2.zone_data->getZoneTree();
|
|
|
|
+ ZoneTree::Result zresult2(tree2.find(Name("ns1.example.org"), &node));
|
|
|
|
+ EXPECT_EQ(ZoneTree::EXACTMATCH, zresult2);
|
|
|
|
+ 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);
|
|
|
|
+
|
|
// Teardown checks for memory segment leaks
|
|
// Teardown checks for memory segment leaks
|
|
}
|
|
}
|
|
|
|
|