diff options
author | Razvan Becheriu <razvan@isc.org> | 2021-10-07 19:26:38 +0200 |
---|---|---|
committer | Razvan Becheriu <razvan@isc.org> | 2021-10-08 13:47:19 +0200 |
commit | 2e4a094bfdf4073020c2578b7bc09645d0e71ddb (patch) | |
tree | 22f902c1ddce220afeae83a0a2854ef50979b743 | |
parent | [#2089] check keys stats in unittests (diff) | |
download | kea-2e4a094bfdf4073020c2578b7bc09645d0e71ddb.tar.xz kea-2e4a094bfdf4073020c2578b7bc09645d0e71ddb.zip |
[#2089] added ncr unittests
-rw-r--r-- | src/bin/d2/tests/d2_queue_mgr_unittests.cc | 19 | ||||
-rw-r--r-- | src/lib/dhcp_ddns/ncr_udp.cc | 6 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/bin/d2/tests/d2_queue_mgr_unittests.cc b/src/bin/d2/tests/d2_queue_mgr_unittests.cc index a00de29f4b..d2d41f5e56 100644 --- a/src/bin/d2/tests/d2_queue_mgr_unittests.cc +++ b/src/bin/d2/tests/d2_queue_mgr_unittests.cc @@ -9,6 +9,7 @@ #include <asiolink/io_service.h> #include <asiolink/interval_timer.h> #include <d2/d2_queue_mgr.h> +#include <d2srv/testutils/stats_test_utils.h> #include <dhcp_ddns/ncr_udp.h> #include <util/time_utilities.h> @@ -21,6 +22,7 @@ using namespace std; using namespace isc; using namespace isc::dhcp_ddns; using namespace isc::d2; +using namespace isc::d2::test; namespace { @@ -203,7 +205,7 @@ bool checkSendVsReceived(NameChangeRequestPtr sent_ncr, /// @brief Text fixture that allows testing a listener and sender together /// It derives from both the receive and send handler classes and contains /// and instance of UDP listener and UDP sender. -class QueueMgrUDPTest : public virtual ::testing::Test, +class QueueMgrUDPTest : public virtual ::testing::Test, public D2StatTest, NameChangeSender::RequestSendHandler { public: asiolink::IOServicePtr io_service_; @@ -384,6 +386,13 @@ TEST_F (QueueMgrUDPTest, liveFeed) { EXPECT_EQ(0, queue_mgr_->getQueueSize()); } + StatMap stats_ncr = { + { "ncr-received", 3}, + { "ncr-invalid", 0}, + { "ncr-error", 0} + }; + checkStats(stats_ncr); + // Iterate over the list of requests, sending and receiving // each one. Allow them to accumulate in the queue. for (int i = 0; i < VALID_MSG_CNT; i++) { @@ -397,6 +406,13 @@ TEST_F (QueueMgrUDPTest, liveFeed) { EXPECT_EQ(i+1, queue_mgr_->getQueueSize()); } + StatMap stats_ncr_new = { + { "ncr-received", 6}, + { "ncr-invalid", 0}, + { "ncr-error", 0} + }; + checkStats(stats_ncr_new); + // Verify that the queue is at max capacity. EXPECT_EQ(queue_mgr_->getMaxQueueSize(), queue_mgr_->getQueueSize()); @@ -428,7 +444,6 @@ TEST_F (QueueMgrUDPTest, liveFeed) { EXPECT_NO_THROW(queue_mgr_->clearQueue()); EXPECT_EQ(0, queue_mgr_->getQueueSize()); - // Verify that we can again receive requests. // Send should be fine. ASSERT_NO_THROW(sender_->sendRequest(send_ncr)); diff --git a/src/lib/dhcp_ddns/ncr_udp.cc b/src/lib/dhcp_ddns/ncr_udp.cc index fc46f5b651..43629d1818 100644 --- a/src/lib/dhcp_ddns/ncr_udp.cc +++ b/src/lib/dhcp_ddns/ncr_udp.cc @@ -163,12 +163,12 @@ NameChangeUDPListener::receiveCompletionHandler(const bool successful, try { ncr = NameChangeRequest::fromFormat(format_, input_buffer); isc::stats::StatsMgr::instance().addValue("ncr-received", - static_cast<int64_t>(0)); + static_cast<int64_t>(1)); } catch (const NcrMessageError& ex) { // log it and go back to listening LOG_ERROR(dhcp_ddns_logger, DHCP_DDNS_INVALID_NCR).arg(ex.what()); isc::stats::StatsMgr::instance().addValue("ncr-invalid", - static_cast<int64_t>(0)); + static_cast<int64_t>(1)); // Queue up the next receive. // NOTE: We must call the base class, NEVER doReceive @@ -187,7 +187,7 @@ NameChangeUDPListener::receiveCompletionHandler(const bool successful, LOG_ERROR(dhcp_ddns_logger, DHCP_DDNS_NCR_UDP_RECV_ERROR) .arg(error_code.message()); isc::stats::StatsMgr::instance().addValue("ncr-error", - static_cast<int64_t>(0)); + static_cast<int64_t>(1)); result = ERROR; } } |