Commit eaef6b23 authored by Mukund Sivaraman's avatar Mukund Sivaraman
Browse files

[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.
parent 2bf182fa
......@@ -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 {
......
......@@ -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_;
};
......
......@@ -764,9 +764,7 @@ TEST_F(MessageTest, toWireSigned) {
"20000101000000 20000201000000 "
"12345 example.com. FAKEFAKEFAKE"));
rrset_a->addRRsig(rrset_rrsig);
const RRset* rr = dynamic_cast<const RRset*>(rrset_a.get());
EXPECT_EQ(2, rr->getSIGRdataCount());
EXPECT_EQ(2, rrset_a->getRRsigDataCount());
message_render.addRRset(Message::SECTION_ANSWER, rrset_a, true);
......
......@@ -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());
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment