BIND 10 trac2387, updated. aa95c10d7631603afd110b43cc6f12da22fda7f0 [2387] Add more NSEC3PARAM unittests
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Mar 12 02:52:26 UTC 2013
The branch, trac2387 has been updated
via aa95c10d7631603afd110b43cc6f12da22fda7f0 (commit)
from 4e379f979dede89254759e40974d9c04d90ed451 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit aa95c10d7631603afd110b43cc6f12da22fda7f0
Author: Mukund Sivaraman <muks at isc.org>
Date: Tue Mar 12 08:19:30 2013 +0530
[2387] Add more NSEC3PARAM unittests
-----------------------------------------------------------------------
Summary of changes:
src/lib/dns/tests/rdata_nsec3param_unittest.cc | 58 ++++++++++++++++++++++--
1 file changed, 55 insertions(+), 3 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/dns/tests/rdata_nsec3param_unittest.cc b/src/lib/dns/tests/rdata_nsec3param_unittest.cc
index 88728de..03ee378 100644
--- a/src/lib/dns/tests/rdata_nsec3param_unittest.cc
+++ b/src/lib/dns/tests/rdata_nsec3param_unittest.cc
@@ -41,8 +41,12 @@ using namespace isc::dns::rdata;
namespace {
class Rdata_NSEC3PARAM_Test : public RdataTest {
public:
- Rdata_NSEC3PARAM_Test() : nsec3param_txt("1 1 1 D399EAAB") {}
+ Rdata_NSEC3PARAM_Test() :
+ nsec3param_txt("1 1 1 D399EAAB"),
+ nsec3param_nosalt_txt("1 1 1 -")
+ {}
const string nsec3param_txt;
+ const string nsec3param_nosalt_txt;
};
TEST_F(Rdata_NSEC3PARAM_Test, fromText) {
@@ -51,8 +55,8 @@ TEST_F(Rdata_NSEC3PARAM_Test, fromText) {
EXPECT_EQ(1, generic::NSEC3PARAM(nsec3param_txt).getFlags());
// (salt is checked in the toText test)
- // With an empty salt
- EXPECT_EQ(0, generic::NSEC3PARAM("1 0 0 -").getSalt().size());
+ // Empty salt is okay.
+ EXPECT_EQ(0, generic::NSEC3PARAM(nsec3param_nosalt_txt).getSalt().size());
}
TEST_F(Rdata_NSEC3PARAM_Test, toText) {
@@ -63,9 +67,32 @@ TEST_F(Rdata_NSEC3PARAM_Test, toText) {
// whitespace within the salt field, but any whitespace afterwards
// should be fine.
EXPECT_NO_THROW(generic::NSEC3PARAM("1 1 1 D399EAAB "));
+
+ // Hash algorithm in range.
+ EXPECT_NO_THROW(generic::NSEC3PARAM("255 1 1 D399EAAB"));
+
+ // Flags in range.
+ EXPECT_NO_THROW(generic::NSEC3PARAM("1 255 1 D399EAAB"));
+
+ // Iterations in range.
+ EXPECT_NO_THROW(generic::NSEC3PARAM("1 1 65535 D399EAAB"));
}
TEST_F(Rdata_NSEC3PARAM_Test, badText) {
+ // Salt is missing.
+ EXPECT_THROW(generic::NSEC3PARAM("1 1 1"), InvalidRdataText);
+
+ // Salt has whitespace within.
+ EXPECT_THROW(generic::NSEC3PARAM("1 1 1 D399 EAAB"), InvalidRdataText);
+
+ // Hash algorithm out of range.
+ EXPECT_THROW(generic::NSEC3PARAM("256 1 1 D399EAAB"), InvalidRdataText);
+
+ // Flags out of range.
+ EXPECT_THROW(generic::NSEC3PARAM("1 256 1 D399EAAB"), InvalidRdataText);
+
+ // Iterations out of range.
+ EXPECT_THROW(generic::NSEC3PARAM("1 1 65536 D399EAAB"), InvalidRdataText);
}
TEST_F(Rdata_NSEC3PARAM_Test, createFromWire) {
@@ -93,6 +120,31 @@ TEST_F(Rdata_NSEC3PARAM_Test, createFromLexer) {
EXPECT_EQ(0, rdata_nsec3param.compare(
*test::createRdataUsingLexer(RRType::NSEC3PARAM(), RRClass::IN(),
nsec3param_txt)));
+
+ // empty salt is also okay.
+ const generic::NSEC3PARAM rdata_nosalt_nsec3param(nsec3param_nosalt_txt);
+ EXPECT_EQ(0, rdata_nosalt_nsec3param.compare(
+ *test::createRdataUsingLexer(RRType::NSEC3PARAM(), RRClass::IN(),
+ nsec3param_nosalt_txt)));
+
+ // Exceptions cause NULL to be returned.
+
+ // hash algorithm out of range
+ EXPECT_FALSE(test::createRdataUsingLexer(RRType::NSEC3PARAM(),
+ RRClass::IN(),
+ "256 1 1 D399EAAB"));
+ // flags out of range
+ EXPECT_FALSE(test::createRdataUsingLexer(RRType::NSEC3PARAM(),
+ RRClass::IN(),
+ "1 256 1 D399EAAB"));
+ // iterations out of range
+ EXPECT_FALSE(test::createRdataUsingLexer(RRType::NSEC3PARAM(),
+ RRClass::IN(),
+ "1 1 65536 D399EAAB"));
+ // space is not allowed in salt
+ EXPECT_FALSE(test::createRdataUsingLexer(RRType::NSEC3PARAM(),
+ RRClass::IN(),
+ "1 1 1 D399 EAAB"));
}
TEST_F(Rdata_NSEC3PARAM_Test, toWireRenderer) {
More information about the bind10-changes
mailing list