From: Razvan Becheriu Date: Fri, 24 Jul 2020 15:10:08 +0000 (+0300) Subject: [#1065] updated and fixed unittests X-Git-Tag: Kea-1.8.0~117 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2d3f45d4aefbbadac64e02215155c9f004b4643;p=thirdparty%2Fkea.git [#1065] updated and fixed unittests --- diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds.cc b/src/hooks/dhcp/lease_cmds/lease_cmds.cc index 3518346614..c8c7fda02f 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds.cc +++ b/src/hooks/dhcp/lease_cmds/lease_cmds.cc @@ -1218,11 +1218,13 @@ void updateOrAdd(Lease6Ptr lease) { } if (!lease->stateExpiredReclaimed()) { // new lease is non expired-reclaimed - StatsMgr::instance().addValue( - StatsMgr::generateName("subnet", lease->subnet_id_, - lease->type_ == Lease::TYPE_NA ? - "assigned-nas" : "assigned-pds"), - int64_t(1)); + if (lease6->subnet_id_ != lease->subnet_id_) { + StatsMgr::instance().addValue( + StatsMgr::generateName("subnet", lease->subnet_id_, + lease->type_ == Lease::TYPE_NA ? + "assigned-nas" : "assigned-pds"), + int64_t(1)); + } } else { // new lease is expired-reclaimed StatsMgr::instance().addValue("reclaimed-leases", int64_t(1)); @@ -1234,7 +1236,7 @@ void updateOrAdd(Lease6Ptr lease) { } } else { // old lease is expired-reclaimed - if (lease->stateExpiredReclaimed()) { + if (!lease->stateExpiredReclaimed()) { // new lease is non expired-reclaimed StatsMgr::instance().addValue( StatsMgr::generateName("subnet", lease->subnet_id_, @@ -1606,10 +1608,12 @@ bool addOrUpdate4(Lease4Ptr lease, bool force_create) { } if (!lease->stateExpiredReclaimed()) { // new lease is non expired-reclaimed - StatsMgr::instance().addValue( - StatsMgr::generateName("subnet", lease->subnet_id_, - "assigned-addresses"), - int64_t(1)); + if (lease4->subnet_id_ != lease->subnet_id_) { + StatsMgr::instance().addValue( + StatsMgr::generateName("subnet", lease->subnet_id_, + "assigned-addresses"), + int64_t(1)); + } } else { // new lease is expired-reclaimed StatsMgr::instance().addValue("reclaimed-leases", int64_t(1)); @@ -1621,7 +1625,7 @@ bool addOrUpdate4(Lease4Ptr lease, bool force_create) { } } else { // old lease is expired-reclaimed - if (lease->stateExpiredReclaimed()) { + if (!lease->stateExpiredReclaimed()) { // new lease is non expired-reclaimed StatsMgr::instance().addValue( StatsMgr::generateName("subnet", lease->subnet_id_, @@ -1748,11 +1752,13 @@ bool addOrUpdate6(Lease6Ptr lease, bool force_create) { } if (!lease->stateExpiredReclaimed()) { // new lease is non expired-reclaimed - StatsMgr::instance().addValue( - StatsMgr::generateName("subnet", lease->subnet_id_, - lease->type_ == Lease::TYPE_NA ? - "assigned-nas" : "assigned-pds"), - int64_t(1)); + if (lease6->subnet_id_ != lease->subnet_id_) { + StatsMgr::instance().addValue( + StatsMgr::generateName("subnet", lease->subnet_id_, + lease->type_ == Lease::TYPE_NA ? + "assigned-nas" : "assigned-pds"), + int64_t(1)); + } } else { // new lease is expired-reclaimed StatsMgr::instance().addValue("reclaimed-leases", int64_t(1)); @@ -1764,7 +1770,7 @@ bool addOrUpdate6(Lease6Ptr lease, bool force_create) { } } else { // old lease is expired-reclaimed - if (lease->stateExpiredReclaimed()) { + if (!lease->stateExpiredReclaimed()) { // new lease is non expired-reclaimed StatsMgr::instance().addValue( StatsMgr::generateName("subnet", lease->subnet_id_, diff --git a/src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc b/src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc index d7ca915848..a6d35f15e2 100644 --- a/src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc +++ b/src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc @@ -335,23 +335,41 @@ public: lmptr_->addLease(createLease6("2001:db8:1::2", 66, 0x56, reclaimed)); lmptr_->addLease(createLease6("2001:db8:2::1", 99, 0x42, reclaimed)); lmptr_->addLease(createLease6("2001:db8:2::2", 99, 0x56, reclaimed)); - StatsMgr::instance().setValue( - StatsMgr::generateName("subnet", 66, "assigned-nas" ), - int64_t(2)); - StatsMgr::instance().setValue( - StatsMgr::generateName("subnet", 99, "assigned-nas" ), - int64_t(2)); + if (reclaimed) { + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 66, "reclaimed-leases"), + int64_t(2)); + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 99, "reclaimed-leases"), + int64_t(2)); + } else { + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 66, "assigned-nas" ), + int64_t(2)); + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 99, "assigned-nas" ), + int64_t(2)); + } } else { lmptr_->addLease(createLease4("192.0.2.1", 44, 0x08, 0x42, reclaimed)); lmptr_->addLease(createLease4("192.0.2.2", 44, 0x09, 0x56, reclaimed)); lmptr_->addLease(createLease4("192.0.3.1", 88, 0x08, 0x42, reclaimed)); lmptr_->addLease(createLease4("192.0.3.2", 88, 0x09, 0x56, reclaimed)); - StatsMgr::instance().setValue( - StatsMgr::generateName("subnet", 44, "assigned-addresses"), - int64_t(2)); - StatsMgr::instance().setValue( - StatsMgr::generateName("subnet", 88, "assigned-addresses"), - int64_t(2)); + if (reclaimed) { + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 44, "reclaimed-leases"), + int64_t(2)); + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 88, "reclaimed-leases"), + int64_t(2)); + } else { + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 44, "assigned-addresses"), + int64_t(2)); + StatsMgr::instance().setValue( + StatsMgr::generateName("subnet", 88, "assigned-addresses"), + int64_t(2)); + } } } } @@ -3814,10 +3832,16 @@ TEST_F(LeaseCmdsTest, Lease4UpdateWithStats) { ASSERT_TRUE(lmptr_); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 44, "assigned-addresses"))->getInteger().first, 2); + 44, "assigned-addresses"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 88, "assigned-addresses"))->getInteger().first, 2); + 88, "assigned-addresses"))->getInteger().first, 0); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 44, "reclaimed-leases"))->getInteger().first, 2); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 88, "reclaimed-leases"))->getInteger().first, 2); // Now send the command. string txt = @@ -3834,10 +3858,16 @@ TEST_F(LeaseCmdsTest, Lease4UpdateWithStats) { testCommand(txt, CONTROL_RESULT_SUCCESS, exp_rsp); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 44, "assigned-addresses"))->getInteger().first, 3); + 44, "assigned-addresses"))->getInteger().first, 1); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 88, "assigned-addresses"))->getInteger().first, 2); + 88, "assigned-addresses"))->getInteger().first, 0); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 44, "reclaimed-leases"))->getInteger().first, 1); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 88, "reclaimed-leases"))->getInteger().first, 2); // Now check that the lease is still there. Lease4Ptr l = lmptr_->getLease4(IOAddress("192.0.2.1")); @@ -3907,10 +3937,16 @@ TEST_F(LeaseCmdsTest, Lease4UpdateNoSubnetIdWithStats) { ASSERT_TRUE(lmptr_); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 44, "assigned-addresses"))->getInteger().first, 2); + 44, "assigned-addresses"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 88, "assigned-addresses"))->getInteger().first, 2); + 88, "assigned-addresses"))->getInteger().first, 0); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 44, "reclaimed-leases"))->getInteger().first, 2); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 88, "reclaimed-leases"))->getInteger().first, 2); // Now send the command. string txt = @@ -3926,10 +3962,16 @@ TEST_F(LeaseCmdsTest, Lease4UpdateNoSubnetIdWithStats) { testCommand(txt, CONTROL_RESULT_SUCCESS, exp_rsp); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 44, "assigned-addresses"))->getInteger().first, 3); + 44, "assigned-addresses"))->getInteger().first, 1); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 88, "assigned-addresses"))->getInteger().first, 2); + 88, "assigned-addresses"))->getInteger().first, 0); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 44, "reclaimed-leases"))->getInteger().first, 1); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 88, "reclaimed-leases"))->getInteger().first, 2); // Now check that the lease is still there. Lease4Ptr l = lmptr_->getLease4(IOAddress("192.0.2.1")); @@ -4300,17 +4342,23 @@ TEST_F(LeaseCmdsTest, Lease6Update) { ASSERT_TRUE(lmptr_); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 66, "assigned-nas"))->getInteger().first, 2); + 66, "assigned-nas"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 66, "assigned-pds"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 99, "assigned-nas"))->getInteger().first, 2); + 99, "assigned-nas"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 99, "assigned-pds"))->getInteger().first, 0); + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 66, "reclaimed-leases"))->getInteger().first, 2); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 99, "reclaimed-leases"))->getInteger().first, 2); + // Now send the command. string txt = "{\n" @@ -4388,17 +4436,23 @@ TEST_F(LeaseCmdsTest, Lease6UpdateWithStats) { testCommand(txt, CONTROL_RESULT_SUCCESS, exp_rsp); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 66, "assigned-nas"))->getInteger().first, 3); + 66, "assigned-nas"))->getInteger().first, 1); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 66, "assigned-pds"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 99, "assigned-nas"))->getInteger().first, 2); + 99, "assigned-nas"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 99, "assigned-pds"))->getInteger().first, 0); + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 66, "reclaimed-leases"))->getInteger().first, 1); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 99, "reclaimed-leases"))->getInteger().first, 2); + // Now check that the lease is really there. Lease6Ptr l = lmptr_->getLease6(Lease::TYPE_NA, IOAddress("2001:db8:1::1")); ASSERT_TRUE(l); @@ -4422,17 +4476,23 @@ TEST_F(LeaseCmdsTest, Lease6UpdateNoSubnetId) { ASSERT_TRUE(lmptr_); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 66, "assigned-nas"))->getInteger().first, 2); + 66, "assigned-nas"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 66, "assigned-pds"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 99, "assigned-nas"))->getInteger().first, 2); + 99, "assigned-nas"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 99, "assigned-pds"))->getInteger().first, 0); + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 66, "reclaimed-leases"))->getInteger().first, 2); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 99, "reclaimed-leases"))->getInteger().first, 2); + // Now send the command. string txt = "{\n" @@ -4511,17 +4571,23 @@ TEST_F(LeaseCmdsTest, Lease6UpdateNoSubnetIdWithStats) { testCommand(txt, CONTROL_RESULT_SUCCESS, exp_rsp); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 66, "assigned-nas"))->getInteger().first, 3); + 66, "assigned-nas"))->getInteger().first, 1); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 66, "assigned-pds"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", - 99, "assigned-nas"))->getInteger().first, 2); + 99, "assigned-nas"))->getInteger().first, 0); ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", 99, "assigned-pds"))->getInteger().first, 0); + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 66, "reclaimed-leases"))->getInteger().first, 1); + + ASSERT_EQ(StatsMgr::instance().getObservation(StatsMgr::generateName("subnet", + 99, "reclaimed-leases"))->getInteger().first, 2); + // Now check that the lease is really there. Lease6Ptr l = lmptr_->getLease6(Lease::TYPE_NA, IOAddress("2001:db8:1::1")); ASSERT_TRUE(l);