From eaef6b237a71811637b5c8c5c276962a3839a85f Mon Sep 17 00:00:00 2001 From: Mukund Sivaraman Date: Mon, 13 Aug 2012 21:24:01 +0530 Subject: [PATCH] [2164] Rename method to getRRsigDataCount() and add it to AbstractRRset's interface BasicRRset implements a dummy getRRsigDataCount() which returns 0 (as getRRsig() returns NULL without throwing). The method was renamed different to what is asked in the bug, so that the new name is consistent with other AbstractRRset methods for RRSIGs. --- src/lib/dns/rrset.cc | 2 +- src/lib/dns/rrset.h | 36 ++++++++++++++++++++------- src/lib/dns/tests/message_unittest.cc | 4 +-- src/lib/dns/tests/rrset_unittest.cc | 10 ++++---- 4 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/lib/dns/rrset.cc b/src/lib/dns/rrset.cc index 969ae97e1a..2bdb71f419 100644 --- a/src/lib/dns/rrset.cc +++ b/src/lib/dns/rrset.cc @@ -250,7 +250,7 @@ RRset::RRset(const Name& name, const RRClass& rrclass, RRset::~RRset() {} unsigned int -RRset::getSIGRdataCount() const { +RRset::getRRsigDataCount() const { if (rrsig_) { return (rrsig_->getRdataCount()); } else { diff --git a/src/lib/dns/rrset.h b/src/lib/dns/rrset.h index 4721fd26ca..6c73d60f19 100644 --- a/src/lib/dns/rrset.h +++ b/src/lib/dns/rrset.h @@ -420,6 +420,15 @@ public: /// \return Pointer to the associated RRSIG RRset or null if there is none. virtual RRsetPtr getRRsig() const = 0; + /// \brief Returns the number of \c RRSIG records associated with + /// the \c RRset. + /// + /// Note that an \c RRset with no RRSIG records may exist, so this + /// method may return 0. + /// + /// \return The number of \c RRSIG records associated. + virtual unsigned int getRRsigDataCount() const = 0; + /// \brief Adds RRSIG RRset RRs to the associated RRSIG RRset /// /// Adds the (assumed) RRSIG rdata the RRSIG RRset associated with this @@ -764,6 +773,15 @@ public: return (RRsetPtr()); } + /// \brief Returns the number of \c RRSIG records associated with + /// the \c RRset. + /// + /// \return Always returns 0. Associated RRSIG RRsets are not + /// supported in this class. + virtual unsigned int getRRsigDataCount() const { + return (0); + } + virtual void addRRsig(const rdata::ConstRdataPtr&) { isc_throw(NotImplemented, "BasicRRset does not implement the addRRsig() method"); @@ -810,15 +828,6 @@ public: virtual ~RRset(); - /// \brief Returns the number of \c RRSIG records associated with - /// the \c RRset. - /// - /// Note that an \c RRset with no RRSIG records may exist, so this - /// method may return 0. - /// - /// \return The number of \c RRSIG records associated. - unsigned int getSIGRdataCount() const; - /// \brief Updates the owner name of the \c RRset, including RRSIGs if any virtual void setName(const Name& n) { BasicRRset::setName(n); @@ -878,6 +887,15 @@ public: /// \brief Return a pointer to this RRset's RRSIG RRset virtual RRsetPtr getRRsig() const { return (rrsig_); } + /// \brief Returns the number of \c RRSIG records associated with + /// the \c RRset. + /// + /// Note that an \c RRset with no RRSIG records may exist, so this + /// method may return 0. + /// + /// \return The number of \c RRSIG records associated. + virtual unsigned int getRRsigDataCount() const; + private: RRsetPtr rrsig_; }; diff --git a/src/lib/dns/tests/message_unittest.cc b/src/lib/dns/tests/message_unittest.cc index 2291fd3e7c..8bf3acc949 100644 --- a/src/lib/dns/tests/message_unittest.cc +++ b/src/lib/dns/tests/message_unittest.cc @@ -764,9 +764,7 @@ TEST_F(MessageTest, toWireSigned) { "20000101000000 20000201000000 " "12345 example.com. FAKEFAKEFAKE")); rrset_a->addRRsig(rrset_rrsig); - - const RRset* rr = dynamic_cast(rrset_a.get()); - EXPECT_EQ(2, rr->getSIGRdataCount()); + EXPECT_EQ(2, rrset_a->getRRsigDataCount()); message_render.addRRset(Message::SECTION_ANSWER, rrset_a, true); diff --git a/src/lib/dns/tests/rrset_unittest.cc b/src/lib/dns/tests/rrset_unittest.cc index 3b16a4a092..4c80361090 100644 --- a/src/lib/dns/tests/rrset_unittest.cc +++ b/src/lib/dns/tests/rrset_unittest.cc @@ -339,9 +339,9 @@ TEST_F(RRsetRRSIGTest, addRRsig) { EXPECT_EQ(3, sp->getRdataCount()); } -TEST_F(RRsetRRSIGTest, getSIGRdataCount) { - EXPECT_EQ(1, rrset_aaaa->getSIGRdataCount()); - EXPECT_EQ(0, rrset_a->getSIGRdataCount()); +TEST_F(RRsetRRSIGTest, getRRsigDataCount) { + EXPECT_EQ(1, rrset_aaaa->getRRsigDataCount()); + EXPECT_EQ(0, rrset_a->getRRsigDataCount()); rrset_rrsig = RRsetPtr(new RRset(test_name, RRClass::IN(), RRType::RRSIG(), RRTTL(3600))); @@ -354,9 +354,9 @@ TEST_F(RRsetRRSIGTest, getSIGRdataCount) { "20000101000000 20000201000000 " "12345 example.com. FAKEFAKEFAKE")); rrset_a->addRRsig(rrset_rrsig); - EXPECT_EQ(2, rrset_a->getSIGRdataCount()); + EXPECT_EQ(2, rrset_a->getRRsigDataCount()); rrset_a->removeRRsig(); - EXPECT_EQ(0, rrset_a->getSIGRdataCount()); + EXPECT_EQ(0, rrset_a->getRRsigDataCount()); } }