]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2497] Add tests for OPT, PTR and RP rrtypes
authorMukund Sivaraman <muks@isc.org>
Fri, 30 Nov 2012 03:47:01 +0000 (09:17 +0530)
committerMukund Sivaraman <muks@isc.org>
Fri, 30 Nov 2012 03:47:01 +0000 (09:17 +0530)
src/lib/dns/tests/rdata_opt_unittest.cc
src/lib/dns/tests/rdata_ptr_unittest.cc
src/lib/dns/tests/rdata_rp_unittest.cc

index 698d5863eb97f6ef31a28ea03c3f7da29f9933bd..86bf90a2f6d691d92ad664aa6d45b73ee4cd801a 100644 (file)
@@ -56,6 +56,14 @@ TEST_F(Rdata_OPT_Test, createFromWire) {
                  InvalidRdataLength);
 }
 
+TEST_F(Rdata_OPT_Test, createFromLexer) {
+    // OPT RR cannot be created from text.
+    EXPECT_THROW({
+        *test::createRdataUsingLexer(RRType::OPT(), RRClass::IN(),
+                                     "this does not matter");
+    }, InvalidRdataText);
+}
+
 TEST_F(Rdata_OPT_Test, toWireBuffer) {
     rdata_opt.toWire(obuffer);
     EXPECT_EQ(0, obuffer.getLength());
index 86160fbab773a805c6b93885d53bb1bf6aa2abf5..44b849a933fb48f01a26b2479cba1147bf58b458 100644 (file)
@@ -90,6 +90,12 @@ TEST_F(Rdata_PTR_Test, createFromWire) {
                  InvalidRdataLength);
 }
 
+TEST_F(Rdata_PTR_Test, createFromLexer) {
+    EXPECT_EQ(0, rdata_ptr.compare(
+        *test::createRdataUsingLexer(RRType::PTR(), RRClass::IN(),
+                                     "ns.example.com")));
+}
+
 TEST_F(Rdata_PTR_Test, toWireBuffer) {
     rdata_ptr.toWire(obuffer);
     EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData,
index 20f32b95392d44cbfaba0a6d023382cf5b00f3ff..449a6082126bf53847536e68f21b5ef905299cb2 100644 (file)
@@ -106,6 +106,19 @@ TEST_F(Rdata_RP_Test, createFromParams) {
     EXPECT_EQ(text_name, generic::RP(mailbox_name, text_name).getText());
 }
 
+TEST_F(Rdata_RP_Test, createFromLexer) {
+    EXPECT_EQ(0, rdata_rp.compare(
+        *test::createRdataUsingLexer(RRType::RP(), RRClass::IN(),
+                                     "root.example.com. "
+                                     "rp-text.example.com.")));
+
+    // Check that bad input throws as usual
+    EXPECT_THROW({
+        *test::createRdataUsingLexer(RRType::RP(), RRClass::IN(),
+                                     "mailbox.example.com.");
+    }, InvalidRdataText);
+}
+
 TEST_F(Rdata_RP_Test, toWireBuffer) {
     // construct expected data
     UnitTestUtil::readWireData("rdata_rp_toWire1.wire", expected_wire);