]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2497] Add tests for NSEC3, NSEC and TSIG rrtypes
authorMukund Sivaraman <muks@isc.org>
Fri, 30 Nov 2012 12:12:39 +0000 (17:42 +0530)
committerJINMEI Tatuya <jinmei@isc.org>
Sat, 1 Dec 2012 02:50:11 +0000 (18:50 -0800)
src/lib/dns/tests/rdata_nsec3_unittest.cc
src/lib/dns/tests/rdata_nsec_unittest.cc
src/lib/dns/tests/rdata_tsig_unittest.cc

index edd2d4b6e78cb009a0ef32456abf803f402c42e7..c7ca93e2bb1e5d047f7a1b84bdb599d1cea0e5e8 100644 (file)
@@ -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;
index 88c6201b65775e3e6d9f4d53786dff6df5b5ca97..5e5ac89a69f8e69438e12d3851b680d31a5de911 100644 (file)
@@ -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);
index c8ee8ac674da1426ff2852ffca90b19af6c8c65f..f562d15e8c4230e5d70ffcfb4c77faad9332cbaf 100644 (file)
@@ -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;