From: JINMEI Tatuya Date: Wed, 29 Aug 2012 17:03:12 +0000 (-0700) Subject: [2098] tested some more basic cases X-Git-Tag: trac2351_base~91^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b07f9b77d647422b6c2f9c49fb8405467252e72;p=thirdparty%2Fkea.git [2098] tested some more basic cases --- diff --git a/src/lib/datasrc/memory/tests/treenode_rrset_unittest.cc b/src/lib/datasrc/memory/tests/treenode_rrset_unittest.cc index 87c18b07da..6e1d5442b2 100644 --- a/src/lib/datasrc/memory/tests/treenode_rrset_unittest.cc +++ b/src/lib/datasrc/memory/tests/treenode_rrset_unittest.cc @@ -106,20 +106,35 @@ protected: RdataSet* aaaa_rdataset_; }; +// Check some trivial fields of a constructed TreeNodeRRset (passed as +// AbstractRRset as we'd normally use it in polymorphic way). +// Other complicated fields are checked through rendering tests. +void +checkBasicFields(const AbstractRRset& actual_rrset, const Name& expected_name, + const RRClass& expected_class, const RRType& expected_type, + size_t expected_rdatacount, size_t expected_sigcount) +{ + EXPECT_EQ(expected_name, actual_rrset.getName()); + EXPECT_EQ(expected_class, actual_rrset.getClass()); + EXPECT_EQ(expected_type, actual_rrset.getType()); + EXPECT_EQ(expected_rdatacount, actual_rrset.getRdataCount()); + EXPECT_EQ(expected_sigcount, actual_rrset.getRRsigDataCount()); +} + TEST_F(TreeNodeRRsetTest, create) { - const TreeNodeRRset rrset1(rrclass_, www_node_, a_rdataset_, true); - EXPECT_EQ(rrclass_, rrset1.getClass()); - EXPECT_EQ(RRType::A(), rrset1.getType()); - EXPECT_EQ(www_name_, rrset1.getName()); - EXPECT_EQ(2, rrset1.getRdataCount()); - EXPECT_EQ(1, rrset1.getRRsigDataCount()); - - const TreeNodeRRset rrset2(rrclass_, www_node_, a_rdataset_, false); - EXPECT_EQ(rrclass_, rrset2.getClass()); - EXPECT_EQ(RRType::A(), rrset2.getType()); - EXPECT_EQ(www_name_, rrset2.getName()); - EXPECT_EQ(2, rrset2.getRdataCount()); - EXPECT_EQ(0, rrset2.getRRsigDataCount()); + // Constructed with RRSIG, and it should be visible. + checkBasicFields(TreeNodeRRset(rrclass_, www_node_, a_rdataset_, true), + www_name_, rrclass_, RRType::A(), 2, 1); + // Constructed with RRSIG, and it should be invisible. + checkBasicFields(TreeNodeRRset(rrclass_, www_node_, a_rdataset_, false), + www_name_, rrclass_, RRType::A(), 2, 0); + // Constructed without RRSIG, and it would be visible (but of course won't) + checkBasicFields(TreeNodeRRset(rrclass_, origin_node_, ns_rdataset_, true), + origin_name_, rrclass_, RRType::NS(), 1, 0); + // Constructed without RRSIG, and it should be visible + checkBasicFields(TreeNodeRRset(rrclass_, origin_node_, ns_rdataset_, + false), + origin_name_, rrclass_, RRType::NS(), 1, 0); } // Templated if and when we support OutputBuffer version of toWire(). @@ -128,7 +143,7 @@ TEST_F(TreeNodeRRsetTest, create) { template void checkToWireResult(OutputType& expected_output, OutputType& actual_output, - const TreeNodeRRset& actual_rrset, + const AbstractRRset& actual_rrset, const Name& prepended_name, ConstRRsetPtr rrset, ConstRRsetPtr rrsig_rrset, bool dnssec_ok) @@ -203,7 +218,7 @@ TEST_F(TreeNodeRRsetTest, toWire) { void checkTruncationResult(MessageRenderer& expected_renderer, MessageRenderer& actual_renderer, - const TreeNodeRRset& actual_rrset, + const AbstractRRset& actual_rrset, ConstRRsetPtr rrset, ConstRRsetPtr rrsig_rrset, bool dnssec_ok, size_t len_limit, size_t expected_result) {