Browse Source

[2387] Add number vs non-number tests

Mukund Sivaraman 12 years ago
parent
commit
98b10b7662

+ 8 - 0
src/lib/dns/tests/rdata_dnskey_unittest.cc

@@ -84,6 +84,14 @@ TEST_F(Rdata_DNSKEY_Test, badText) {
     // Missing algorithm
     EXPECT_THROW(generic::DNSKEY("257 3 YmFiYWJhYmE="),
                  InvalidRdataText);
+
+    // String instead of number
+    EXPECT_THROW(generic::DNSKEY("foo 3 5 YmFiYWJhYmE="),
+                 InvalidRdataText);
+    EXPECT_THROW(generic::DNSKEY("257 foo 5 YmFiYWJhYmE="),
+                 InvalidRdataText);
+    EXPECT_THROW(generic::DNSKEY("257 3 foo YmFiYWJhYmE="),
+                 InvalidRdataText);
 }
 
 TEST_F(Rdata_DNSKEY_Test, createFromLexer) {

+ 8 - 0
src/lib/dns/tests/rdata_nsec3_unittest.cc

@@ -89,6 +89,14 @@ TEST_F(Rdata_NSEC3_Test, badText) {
     EXPECT_THROW(generic::NSEC3("1 1 1 ADDAFEEE CPNMU=== A NS SOA"),
                  InvalidRdataText);
 
+    // String instead of number
+    EXPECT_THROW(generic::NSEC3("foo 1 1 ADDAFEEECPNMU=== A NS SOA"),
+                 InvalidRdataText);
+    EXPECT_THROW(generic::NSEC3("1 foo 1 ADDAFEEECPNMU=== A NS SOA"),
+                 InvalidRdataText);
+    EXPECT_THROW(generic::NSEC3("1 1 foo ADDAFEEECPNMU=== A NS SOA"),
+                 InvalidRdataText);
+
     // Hash is too long.  Max = 255 bytes, base32-hex converts each 5 bytes
     // of the original to 8 characters, so 260 * 8 / 5 is the smallest length
     // of the encoded string that exceeds the max and doesn't require padding.

+ 8 - 0
src/lib/dns/tests/rdata_nsec3param_unittest.cc

@@ -93,6 +93,14 @@ TEST_F(Rdata_NSEC3PARAM_Test, badText) {
 
     // Iterations out of range.
     EXPECT_THROW(generic::NSEC3PARAM("1 1 65536 D399EAAB"), InvalidRdataText);
+
+    // String instead of number
+    EXPECT_THROW(generic::NSEC3PARAM("foo 1 256 D399EAAB"),
+                 InvalidRdataText);
+    EXPECT_THROW(generic::NSEC3PARAM("1 foo 256 D399EAAB"),
+                 InvalidRdataText);
+    EXPECT_THROW(generic::NSEC3PARAM("1 1 foo D399EAAB"),
+                 InvalidRdataText);
 }
 
 TEST_F(Rdata_NSEC3PARAM_Test, createFromWire) {