|
@@ -100,6 +100,25 @@ checkCounters(const isc::data::ConstElementPtr counters,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+TEST_F(CountersTest, invalidParameter) {
|
|
|
+ MessageAttributes msgattrs;
|
|
|
+
|
|
|
+ // Note: Not all systems have EXPECT_DEATH. As it is a macro we can just
|
|
|
+ // test for its presence and bypass the test if not available.
|
|
|
+#ifdef EXPECT_DEATH
|
|
|
+ // Passing *_UNSPEC should trigger an assertion failure.
|
|
|
+ // Note that we just check that it dies - we don't check what message is
|
|
|
+ // output.
|
|
|
+ EXPECT_DEATH(
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_UNSPEC),
|
|
|
+ ".*");
|
|
|
+ EXPECT_DEATH(
|
|
|
+ msgattrs.setRequestTransportProtocol(
|
|
|
+ MessageAttributes::TRANSPORT_UNSPEC),
|
|
|
+ ".*");
|
|
|
+#endif
|
|
|
+}
|
|
|
+
|
|
|
TEST_F(CountersTest, incrementResponse) {
|
|
|
Message response(Message::RENDER);
|
|
|
MessageAttributes msgattrs;
|
|
@@ -109,8 +128,8 @@ TEST_F(CountersTest, incrementResponse) {
|
|
|
for (int i = 0; i < 2; ++i) {
|
|
|
const bool responded = i & 1;
|
|
|
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -151,8 +170,12 @@ TEST_F(CountersTest, incrementProtocolType) {
|
|
|
// ipv6 tcp
|
|
|
int count_v4 = 0, count_v6 = 0, count_udp = 0, count_tcp = 0;
|
|
|
for (int i = 0; i < 4; ++i) {
|
|
|
- const int af = i & 1 ? AF_INET : AF_INET6;
|
|
|
- const int proto = i & 2 ? IPPROTO_UDP : IPPROTO_TCP;
|
|
|
+ const enum MessageAttributes::IPVersion af = i & 1 ?
|
|
|
+ MessageAttributes::IP_VERSION_IPV4 :
|
|
|
+ MessageAttributes::IP_VERSION_IPV6;
|
|
|
+ const enum MessageAttributes::TransportProtocol proto = i & 2 ?
|
|
|
+ MessageAttributes::TRANSPORT_UDP :
|
|
|
+ MessageAttributes::TRANSPORT_TCP;
|
|
|
|
|
|
msgattrs.setRequestIPVersion(af);
|
|
|
msgattrs.setRequestTransportProtocol(proto);
|
|
@@ -167,12 +190,12 @@ TEST_F(CountersTest, incrementProtocolType) {
|
|
|
|
|
|
counters.inc(msgattrs, response, true);
|
|
|
|
|
|
- if (af == AF_INET) {
|
|
|
+ if (af == MessageAttributes::IP_VERSION_IPV4) {
|
|
|
++count_v4;
|
|
|
} else {
|
|
|
++count_v6;
|
|
|
}
|
|
|
- if (proto == IPPROTO_UDP) {
|
|
|
+ if (proto == MessageAttributes::TRANSPORT_UDP) {
|
|
|
++count_udp;
|
|
|
} else {
|
|
|
++count_tcp;
|
|
@@ -207,8 +230,8 @@ TEST_F(CountersTest, incrementDO) {
|
|
|
// true
|
|
|
for (int i = 0; i < 2; ++i) {
|
|
|
const bool is_dnssec_ok = i & 1;
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(is_dnssec_ok);
|
|
@@ -250,8 +273,8 @@ TEST_F(CountersTest, incrementEDNS) {
|
|
|
int count_req_edns0 = 0, count_res_edns0 = 0;
|
|
|
for (int i = 0; i < 2; ++i) {
|
|
|
const bool is_edns0 = i & 1;
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(is_edns0);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -308,8 +331,8 @@ TEST_F(CountersTest, incrementTSIG) {
|
|
|
for (int i = 0; i < 3; ++i) {
|
|
|
const bool is_tsig = (i == 2) ? true : i & 1;
|
|
|
const bool is_badsig = i & 2;
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -364,8 +387,8 @@ TEST_F(CountersTest, incrementOpcode) {
|
|
|
i <= e;
|
|
|
++i)
|
|
|
{
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode(i));
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -422,8 +445,8 @@ TEST_F(CountersTest, incrementRcode) {
|
|
|
i <= e;
|
|
|
++i)
|
|
|
{
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::IQUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -485,8 +508,8 @@ TEST_F(CountersTest, incrementTruncated) {
|
|
|
int count_truncated = 0;
|
|
|
for (int i = 0; i < 2; ++i) {
|
|
|
const bool is_truncated = i & 1;
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::IQUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -531,8 +554,8 @@ TEST_F(CountersTest, incrementQryAuthAnsAndNoAuthAns) {
|
|
|
int count_authans = 0, count_noauthans = 0;
|
|
|
for (int i = 0; i < 2; ++i) {
|
|
|
const bool is_aa_set = i & 1;
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -571,8 +594,8 @@ TEST_F(CountersTest, incrementQrySuccess) {
|
|
|
std::map<std::string, int> expect;
|
|
|
|
|
|
// Opcode = QUERY, Rcode = NOERROR, ANCOUNT > 0
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -620,8 +643,8 @@ TEST_F(CountersTest, incrementQryReferralAndNxrrset) {
|
|
|
int count_referral = 0, count_nxrrset = 0;
|
|
|
for (int i = 0; i < 2; ++i) {
|
|
|
const bool is_aa_set = i & 1;
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|
|
@@ -663,8 +686,8 @@ TEST_F(CountersTest, incrementAuthQryRej) {
|
|
|
std::map<std::string, int> expect;
|
|
|
|
|
|
// Opcode = QUERY, Rcode = REFUSED, ANCOUNT = 0 (don't care)
|
|
|
- msgattrs.setRequestIPVersion(AF_INET);
|
|
|
- msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
|
|
|
+ msgattrs.setRequestIPVersion(MessageAttributes::IP_VERSION_IPV4);
|
|
|
+ msgattrs.setRequestTransportProtocol(MessageAttributes::TRANSPORT_UDP);
|
|
|
msgattrs.setRequestOpCode(Opcode::QUERY());
|
|
|
msgattrs.setRequestEDNS0(true);
|
|
|
msgattrs.setRequestDO(true);
|