add dnsmessage unit test

This commit is contained in:
bert hubert
2018-04-15 00:38:20 +02:00
parent 50ba4ebc67
commit ec773d45d4

View File

@ -1,6 +1,6 @@
#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file
#include "catch.hpp"
#include "dnsmessages.hh"
#include "dns-storage.hh"
using namespace std;
@ -40,3 +40,15 @@ TEST_CASE("DNSName operations", "[dnsname]") {
REQUIRE(test2.makeRelative({"org"}));
REQUIRE(test2 == DNSName({"www", "powerdns"}));
}
TEST_CASE("DNS Messages", "[dnsmessage]") {
DNSName qname({"www", "powerdns", "com"}), rname;
DNSType rtype;
DNSMessageWriter dmw(qname, DNSType::SOA);
std::string ser = dmw.serialize();
DNSMessageReader dmr(ser);
dmr.getQuestion(rname, rtype);
REQUIRE(rname == qname);
REQUIRE(rtype == DNSType::SOA);
}