|
@@ -41,6 +41,18 @@ class Rdata_SSHFP_Test : public RdataTest {
|
|
|
|
|
|
const string sshfp_txt("2 1 123456789abcdef67890123456789abcdef67890");
|
|
const string sshfp_txt("2 1 123456789abcdef67890123456789abcdef67890");
|
|
const generic::SSHFP rdata_sshfp(2, 1, "123456789abcdef67890123456789abcdef67890");
|
|
const generic::SSHFP rdata_sshfp(2, 1, "123456789abcdef67890123456789abcdef67890");
|
|
|
|
+const uint8_t rdata_sshfp_wiredata[] = {
|
|
|
|
+ // algorithm
|
|
|
|
+ 0x02,
|
|
|
|
+ // fingerprint type
|
|
|
|
+ 0x01,
|
|
|
|
+ // fingerprint
|
|
|
|
+ 0x12, 0x34, 0x56, 0x78,
|
|
|
|
+ 0x9a, 0xbc, 0xde, 0xf6,
|
|
|
|
+ 0x78, 0x90, 0x12, 0x34,
|
|
|
|
+ 0x56, 0x78, 0x9a, 0xbc,
|
|
|
|
+ 0xde, 0xf6, 0x78, 0x90
|
|
|
|
+};
|
|
|
|
|
|
TEST_F(Rdata_SSHFP_Test, createFromText) {
|
|
TEST_F(Rdata_SSHFP_Test, createFromText) {
|
|
// Basic test
|
|
// Basic test
|
|
@@ -84,7 +96,6 @@ TEST_F(Rdata_SSHFP_Test, algorithmTypes) {
|
|
|
|
|
|
TEST_F(Rdata_SSHFP_Test, badText) {
|
|
TEST_F(Rdata_SSHFP_Test, badText) {
|
|
EXPECT_THROW(const generic::SSHFP rdata_sshfp("1"), InvalidRdataText);
|
|
EXPECT_THROW(const generic::SSHFP rdata_sshfp("1"), InvalidRdataText);
|
|
- EXPECT_THROW(const generic::SSHFP rdata_sshfp("1 2"), InvalidRdataText);
|
|
|
|
EXPECT_THROW(const generic::SSHFP rdata_sshfp("BUCKLE MY SHOES"), InvalidRdataText);
|
|
EXPECT_THROW(const generic::SSHFP rdata_sshfp("BUCKLE MY SHOES"), InvalidRdataText);
|
|
EXPECT_THROW(const generic::SSHFP rdata_sshfp("1 2 foo bar"), InvalidRdataText);
|
|
EXPECT_THROW(const generic::SSHFP rdata_sshfp("1 2 foo bar"), InvalidRdataText);
|
|
}
|
|
}
|
|
@@ -147,6 +158,18 @@ TEST_F(Rdata_SSHFP_Test, toText) {
|
|
EXPECT_TRUE(boost::iequals(sshfp_txt, rdata_sshfp.toText()));
|
|
EXPECT_TRUE(boost::iequals(sshfp_txt, rdata_sshfp.toText()));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+TEST_F(Rdata_SSHFP_Test, toWire) {
|
|
|
|
+ this->obuffer.clear();
|
|
|
|
+ rdata_sshfp.toWire(this->obuffer);
|
|
|
|
+
|
|
|
|
+ EXPECT_EQ(22, this->obuffer.getLength());
|
|
|
|
+
|
|
|
|
+ EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData,
|
|
|
|
+ this->obuffer.getData(),
|
|
|
|
+ this->obuffer.getLength(),
|
|
|
|
+ rdata_sshfp_wiredata, sizeof(rdata_sshfp_wiredata));
|
|
|
|
+}
|
|
|
|
+
|
|
TEST_F(Rdata_SSHFP_Test, getSSHFPAlgorithmNumber) {
|
|
TEST_F(Rdata_SSHFP_Test, getSSHFPAlgorithmNumber) {
|
|
EXPECT_EQ(2, rdata_sshfp.getSSHFPAlgorithmNumber());
|
|
EXPECT_EQ(2, rdata_sshfp.getSSHFPAlgorithmNumber());
|
|
}
|
|
}
|
|
@@ -154,4 +177,27 @@ TEST_F(Rdata_SSHFP_Test, getSSHFPAlgorithmNumber) {
|
|
TEST_F(Rdata_SSHFP_Test, getSSHFPFingerprintType) {
|
|
TEST_F(Rdata_SSHFP_Test, getSSHFPFingerprintType) {
|
|
EXPECT_EQ(1, rdata_sshfp.getSSHFPFingerprintType());
|
|
EXPECT_EQ(1, rdata_sshfp.getSSHFPFingerprintType());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+TEST_F(Rdata_SSHFP_Test, getFingerprintLen) {
|
|
|
|
+ EXPECT_EQ(20, rdata_sshfp.getFingerprintLen());
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+TEST_F(Rdata_SSHFP_Test, emptyFingerprintFromWire) {
|
|
|
|
+ const generic::SSHFP& rdf =
|
|
|
|
+ dynamic_cast<const generic::SSHFP&>
|
|
|
|
+ (*rdataFactoryFromFile(RRType("SSHFP"), RRClass("IN"),
|
|
|
|
+ "rdata_sshfp_fromWire12"));
|
|
|
|
+
|
|
|
|
+ EXPECT_EQ(4, rdf.getSSHFPAlgorithmNumber());
|
|
|
|
+ EXPECT_EQ(9, rdf.getSSHFPFingerprintType());
|
|
|
|
+ EXPECT_EQ(0, rdf.getFingerprintLen());
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+TEST_F(Rdata_SSHFP_Test, emptyFingerprintFromString) {
|
|
|
|
+ const generic::SSHFP rdata_sshfp2("5 6");
|
|
|
|
+
|
|
|
|
+ EXPECT_EQ(5, rdata_sshfp2.getSSHFPAlgorithmNumber());
|
|
|
|
+ EXPECT_EQ(6, rdata_sshfp2.getSSHFPFingerprintType());
|
|
|
|
+ EXPECT_EQ(0, rdata_sshfp2.getFingerprintLen());
|
|
|
|
+}
|
|
}
|
|
}
|