From: Marcin Siodelski Date: Mon, 15 Jan 2018 10:19:44 +0000 (+0100) Subject: [5468] Return status code indicating empty set for lease4-get-all. X-Git-Tag: trac5425a_base~6^2~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d17e963b39af63af085789960f3b2f80066f1b3;p=thirdparty%2Fkea.git [5468] Return status code indicating empty set for lease4-get-all. --- diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds.cc b/src/hooks/dhcp/lease_cmds/lease_cmds.cc index 3eb38797d7..22ae0804c5 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds.cc +++ b/src/hooks/dhcp/lease_cmds/lease_cmds.cc @@ -516,8 +516,8 @@ LeaseCmdsImpl::lease4GetAllHandler(CalloutHandle& handle) { s << leases_json->size() << " IPv4 lease(s) found."; ElementPtr args = Element::createMap(); args->set("leases", leases_json); - ConstElementPtr response = createAnswer(CONTROL_RESULT_SUCCESS, - s.str(), args); + ConstElementPtr response = createAnswer((leases_json->size() == 0 ? CONTROL_RESULT_EMPTY : + CONTROL_RESULT_SUCCESS), s.str(), args); setResponse(handle, response); 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 d60ebe8d4a..c3aa0c1362 100644 --- a/src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc +++ b/src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc @@ -1170,7 +1170,7 @@ TEST_F(LeaseCmdsTest, Lease4GetAllNoLeases) { " \"command\": \"lease4-get-all\"\n" "}"; string exp_rsp = "0 IPv4 lease(s) found."; - ConstElementPtr rsp = testCommand(cmd, CONTROL_RESULT_SUCCESS, exp_rsp); + ConstElementPtr rsp = testCommand(cmd, CONTROL_RESULT_EMPTY, exp_rsp); // Now check that the lease parameters were indeed returned. ASSERT_TRUE(rsp); @@ -1237,7 +1237,7 @@ TEST_F(LeaseCmdsTest, Lease4GetAllBySubnetIdNoLeases) { " }\n" "}"; string exp_rsp = "0 IPv4 lease(s) found."; - ConstElementPtr rsp = testCommand(cmd, CONTROL_RESULT_SUCCESS, exp_rsp); + ConstElementPtr rsp = testCommand(cmd, CONTROL_RESULT_EMPTY, exp_rsp); // Now check that the lease parameters were indeed returned. ASSERT_TRUE(rsp);