]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2497] Add tests for RRSIG, SOA and SRV rrtypes
authorMukund Sivaraman <muks@isc.org>
Fri, 30 Nov 2012 03:28:00 +0000 (08:58 +0530)
committerMukund Sivaraman <muks@isc.org>
Fri, 30 Nov 2012 03:28:00 +0000 (08:58 +0530)
src/lib/dns/tests/rdata_rrsig_unittest.cc
src/lib/dns/tests/rdata_soa_unittest.cc
src/lib/dns/tests/rdata_srv_unittest.cc

index eabc658ffa9214ee6124154f0c54746523461464..04ec481707546785ffa5eba2bd24e9ccbf41d8b6 100644 (file)
@@ -101,6 +101,18 @@ TEST_F(Rdata_RRSIG_Test, DISABLED_badText) {
                                 "8496isc.org. ofc="), InvalidRdataText);
 }
 
+TEST_F(Rdata_RRSIG_Test, createFromLexer) {
+    EXPECT_EQ(0, rdata_rrsig.compare(
+        *test::createRdataUsingLexer(RRType::RRSIG(), RRClass::IN(),
+                                     rrsig_txt)));
+
+    // Check that bad input throws as usual
+    EXPECT_THROW({
+        *test::createRdataUsingLexer(RRType::RRSIG(), RRClass::IN(),
+                                     "INVALIDINPUT");
+    }, InvalidRdataText);
+}
+
 TEST_F(Rdata_RRSIG_Test, toWireRenderer) {
     // FIXME: This doesn't check the result.
     rdata_rrsig.toWire(renderer);
index a9d782c2bebe274deddd6fb4823846c457b05ac4..2df711c9b305e3ee2a7d68182c63a96231f3558b 100644 (file)
@@ -49,6 +49,13 @@ TEST_F(Rdata_SOA_Test, createFromWire) {
     // TBD: more tests
 }
 
+TEST_F(Rdata_SOA_Test, createFromLexer) {
+    EXPECT_EQ(0, rdata_soa.compare(
+        *test::createRdataUsingLexer(RRType::SOA(), RRClass::IN(),
+                                     "ns.example.com. root.example.com. "
+                                     "2010012601 3600 300 3600000 1200")));
+}
+
 TEST_F(Rdata_SOA_Test, toWireRenderer) {
     renderer.skip(2);
     rdata_soa.toWire(renderer);
index b194b1c945ca9f494363d745cc346dcb0ee29444..44ef94fe6d3e944bc4cf2ebc761a0085049ef111 100644 (file)
@@ -119,6 +119,17 @@ TEST_F(Rdata_SRV_Test, createFromWire) {
                                       "rdata_srv_fromWire", 89)));
 }
 
+TEST_F(Rdata_SRV_Test, createFromLexer) {
+    EXPECT_EQ(0, rdata_srv.compare(
+        *test::createRdataUsingLexer(RRType::SRV(), RRClass::IN(),
+                                     "1 5 1500 a.example.com.")));
+    // port is too large
+    EXPECT_THROW({
+        *test::createRdataUsingLexer(RRType::SRV(), RRClass::IN(),
+                                     "1 5 281474976710656 a.example.com.");
+    }, InvalidRdataText);
+}
+
 TEST_F(Rdata_SRV_Test, toWireBuffer) {
     rdata_srv.toWire(obuffer);
     EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData,