From: Mukund Sivaraman Date: Fri, 30 Nov 2012 12:12:39 +0000 (+0530) Subject: [2497] Add tests for NSEC3, NSEC and TSIG rrtypes X-Git-Tag: bind10-1.0.0-beta-release~44^2~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3e964a48bd208e8a7dc04ef1ff8de5cf1da5a514;p=thirdparty%2Fkea.git [2497] Add tests for NSEC3, NSEC and TSIG rrtypes --- diff --git a/src/lib/dns/tests/rdata_nsec3_unittest.cc b/src/lib/dns/tests/rdata_nsec3_unittest.cc index edd2d4b6e7..c7ca93e2bb 100644 --- a/src/lib/dns/tests/rdata_nsec3_unittest.cc +++ b/src/lib/dns/tests/rdata_nsec3_unittest.cc @@ -130,6 +130,20 @@ TEST_F(Rdata_NSEC3_Test, createFromWire) { } } +TEST_F(Rdata_NSEC3_Test, createFromLexer) { + const generic::NSEC3 rdata_nsec3(nsec3_txt); + EXPECT_EQ(0, rdata_nsec3.compare( + *test::createRdataUsingLexer(RRType::NSEC3(), RRClass::IN(), + nsec3_txt))); + + // Check that bad input throws as usual (next hash shouldn't be + // padded) + EXPECT_THROW({ + *test::createRdataUsingLexer(RRType::NSEC3(), RRClass::IN(), + "1 1 1 ADDAFEEE CPNMU=== A NS SOA"); + }, InvalidRdataText); +} + TEST_F(Rdata_NSEC3_Test, assign) { generic::NSEC3 rdata_nsec3(nsec3_txt); generic::NSEC3 other_nsec3 = rdata_nsec3; diff --git a/src/lib/dns/tests/rdata_nsec_unittest.cc b/src/lib/dns/tests/rdata_nsec_unittest.cc index 88c6201b65..5e5ac89a69 100644 --- a/src/lib/dns/tests/rdata_nsec_unittest.cc +++ b/src/lib/dns/tests/rdata_nsec_unittest.cc @@ -66,6 +66,19 @@ TEST_F(Rdata_NSEC_Test, createFromWire_NSEC) { // Invalid bitmap cases are tested in Rdata_NSECBITMAP_Test. } +TEST_F(Rdata_NSEC_Test, createFromLexer_NSEC) { + const generic::NSEC rdata_nsec(nsec_txt); + EXPECT_EQ(0, rdata_nsec.compare( + *test::createRdataUsingLexer(RRType::NSEC(), RRClass::IN(), + nsec_txt))); + + // Check that bad input throws as usual + EXPECT_THROW({ + *test::createRdataUsingLexer(RRType::NSEC(), RRClass::IN(), + "www.isc.org."); + }, InvalidRdataText); +} + TEST_F(Rdata_NSEC_Test, toWireRenderer_NSEC) { renderer.skip(2); const generic::NSEC rdata_nsec(nsec_txt); diff --git a/src/lib/dns/tests/rdata_tsig_unittest.cc b/src/lib/dns/tests/rdata_tsig_unittest.cc index c8ee8ac674..f562d15e8c 100644 --- a/src/lib/dns/tests/rdata_tsig_unittest.cc +++ b/src/lib/dns/tests/rdata_tsig_unittest.cc @@ -247,6 +247,18 @@ TEST_F(Rdata_TSIG_Test, createFromParams) { isc::InvalidParameter); } +TEST_F(Rdata_TSIG_Test, createFromLexer) { + EXPECT_EQ(0, rdata_tsig.compare( + *test::createRdataUsingLexer(RRType::TSIG(), RRClass::ANY(), + valid_text1))); + + // Check that bad input throws as usual + EXPECT_THROW({ + *test::createRdataUsingLexer(RRType::TSIG(), RRClass::ANY(), + "foo 0 0 0 0 BADKEY 0 0"); + }, InvalidRdataText); +} + TEST_F(Rdata_TSIG_Test, assignment) { any::TSIG copy((string(valid_text2))); copy = rdata_tsig;