BIND 10 trac2387, updated. 53e18a35628a7a595d0de637ae4a045e41fe6b64 [2387] Unify string and lexer constructor tests
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Mar 26 14:14:33 UTC 2013
The branch, trac2387 has been updated
via 53e18a35628a7a595d0de637ae4a045e41fe6b64 (commit)
from a1ce8481248f5859f8319ae85d9e25eaa0ace2db (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 53e18a35628a7a595d0de637ae4a045e41fe6b64
Author: Mukund Sivaraman <muks at isc.org>
Date: Tue Mar 26 19:43:09 2013 +0530
[2387] Unify string and lexer constructor tests
-----------------------------------------------------------------------
Summary of changes:
src/lib/dns/tests/rdata_dnskey_unittest.cc | 92 +++++++++++++---------------
1 file changed, 44 insertions(+), 48 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/dns/tests/rdata_dnskey_unittest.cc b/src/lib/dns/tests/rdata_dnskey_unittest.cc
index 80dbae1..2b31066 100644
--- a/src/lib/dns/tests/rdata_dnskey_unittest.cc
+++ b/src/lib/dns/tests/rdata_dnskey_unittest.cc
@@ -47,78 +47,74 @@ protected:
"0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ"
"7+ysyLKOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA"
"8lVUgEf/rzeC/bByBNsO70aEFTd"),
- rdata_dnskey(dnskey_txt)
+ dnskey_txt2("257 3 5 YmluZDEwLmlzYy5vcmc="),
+ rdata_dnskey(dnskey_txt),
+ rdata_dnskey2(dnskey_txt2)
{}
const string dnskey_txt;
+ const string dnskey_txt2;
const generic::DNSKEY rdata_dnskey;
+ const generic::DNSKEY rdata_dnskey2;
};
TEST_F(Rdata_DNSKEY_Test, fromText) {
EXPECT_EQ(dnskey_txt, rdata_dnskey.toText());
// Space in key data is OK
- EXPECT_NO_THROW(generic::DNSKEY("257 3 5 YmluZDEw LmlzYy5vcmc="));
+ checkFromText<generic::DNSKEY, isc::Exception, isc::Exception>(
+ "257 3 5 YmluZDEw LmlzYy5vcmc=", rdata_dnskey2, false, false);
// Delimited number in key data is OK
- EXPECT_NO_THROW(generic::DNSKEY("257 3 5 YmluZDEwLmlzYy 5 vcmc="));
-}
+ checkFromText<generic::DNSKEY, isc::Exception, isc::Exception>(
+ "257 3 5 YmluZDEwLmlzYy 5 vcmc=", rdata_dnskey2, false, false);
-TEST_F(Rdata_DNSKEY_Test, assign) {
- generic::DNSKEY rdata_dnskey2 = rdata_dnskey;
- EXPECT_EQ(0, rdata_dnskey.compare(rdata_dnskey2));
-}
+ // Key data missing
+ checkFromText<generic::DNSKEY, InvalidRdataText, InvalidRdataText>(
+ "257 3 5", rdata_dnskey2, true, true);
-TEST_F(Rdata_DNSKEY_Test, badText) {
- EXPECT_THROW(generic::DNSKEY("257 3 5"),
- InvalidRdataText);
- EXPECT_THROW(generic::DNSKEY("99999 3 5 BAAAAAAAAAAAD"),
- InvalidRdataText);
- EXPECT_THROW(generic::DNSKEY("257 300 5 BAAAAAAAAAAAD"),
- InvalidRdataText);
- EXPECT_THROW(generic::DNSKEY("257 3 500 BAAAAAAAAAAAD"),
- InvalidRdataText);
- EXPECT_THROW(generic::DNSKEY("257 3 5 BAAAAAAAAAAAD"), BadValue);
+ // Flags field out of range
+ checkFromText<generic::DNSKEY, InvalidRdataText, InvalidRdataText>(
+ "65536 3 5 YmluZDEwLmlzYy5vcmc=", rdata_dnskey2, true, true);
- // Key data too short for algorithm=1
- EXPECT_THROW(generic::DNSKEY("1 1 1 YQ=="),
- InvalidRdataLength);
+ // Protocol field out of range
+ checkFromText<generic::DNSKEY, InvalidRdataText, InvalidRdataText>(
+ "257 256 5 YmluZDEwLmlzYy5vcmc=", rdata_dnskey2, true, true);
+
+ // Algorithm field out of range
+ checkFromText<generic::DNSKEY, InvalidRdataText, InvalidRdataText>(
+ "257 3 256 YmluZDEwLmlzYy5vcmc=", rdata_dnskey2, true, true);
- // Missing algorithm
- EXPECT_THROW(generic::DNSKEY("257 3 YmFiYWJhYmE="),
- InvalidRdataText);
+ // Missing algorithm field
+ checkFromText<generic::DNSKEY, InvalidRdataText, MasterLexer::LexerError>(
+ "257 3 YmluZDEwLmlzYy5vcmc=", rdata_dnskey2, true, true);
+
+ // Invalid key data field (not Base64)
+ checkFromText<generic::DNSKEY, BadValue, BadValue>(
+ "257 3 5 BAAAAAAAAAAAD", rdata_dnskey2, true, true);
+
+ // Key data too short for algorithm=1
+ checkFromText<generic::DNSKEY, InvalidRdataLength, InvalidRdataLength>(
+ "1 1 1 YQ==", rdata_dnskey2, true, true);
// 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);
+ checkFromText<generic::DNSKEY, InvalidRdataText, MasterLexer::LexerError>(
+ "foo 3 5 YmFiYWJhYmE=", rdata_dnskey2, true, true);
+ checkFromText<generic::DNSKEY, InvalidRdataText, MasterLexer::LexerError>(
+ "257 foo 5 YmFiYWJhYmE=", rdata_dnskey2, true, true);
+ checkFromText<generic::DNSKEY, InvalidRdataText, MasterLexer::LexerError>(
+ "257 3 foo YmFiYWJhYmE=", rdata_dnskey2, true, true);
+}
+
+TEST_F(Rdata_DNSKEY_Test, assign) {
+ generic::DNSKEY rdata_dnskey2 = rdata_dnskey;
+ EXPECT_EQ(0, rdata_dnskey.compare(rdata_dnskey2));
}
TEST_F(Rdata_DNSKEY_Test, createFromLexer) {
EXPECT_EQ(0, rdata_dnskey.compare(
*test::createRdataUsingLexer(RRType::DNSKEY(), RRClass::IN(),
dnskey_txt)));
-
- // Exceptions cause NULL to be returned.
-
- // Key data missing
- EXPECT_FALSE(test::createRdataUsingLexer(RRType::DNSKEY(), RRClass::IN(),
- "257 3 5"));
- // Bad flags
- EXPECT_FALSE(test::createRdataUsingLexer(RRType::DNSKEY(), RRClass::IN(),
- "65536 3 5 ABCDABCD"));
- // Bad protocol
- EXPECT_FALSE(test::createRdataUsingLexer(RRType::DNSKEY(), RRClass::IN(),
- "1 256 1 ABCDABCD"));
- // Bad algorithm
- EXPECT_FALSE(test::createRdataUsingLexer(RRType::DNSKEY(), RRClass::IN(),
- "1 1 256 ABCDABCD"));
- // Key data too short for algorithm=1
- EXPECT_FALSE(test::createRdataUsingLexer(RRType::DNSKEY(), RRClass::IN(),
- "1 1 1 YQ=="));
}
TEST_F(Rdata_DNSKEY_Test, toWireRenderer) {
More information about the bind10-changes
mailing list