]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5468] Leases returned for lease4-get-all command are storedin "subnets".
authorMarcin Siodelski <marcin@isc.org>
Wed, 10 Jan 2018 10:08:12 +0000 (11:08 +0100)
committerMarcin Siodelski <marcin@isc.org>
Wed, 10 Jan 2018 10:08:12 +0000 (11:08 +0100)
src/hooks/dhcp/lease_cmds/lease_cmds.cc
src/hooks/dhcp/lease_cmds/tests/lease_cmds_unittest.cc

index 58e1af4a3dc7715eda5541d1b1fd4e8e65bad451..32c47812b1fadbcc84a4b7339ac93149d54bc7aa 100644 (file)
@@ -514,8 +514,10 @@ LeaseCmdsImpl::lease4GetAllHandler(CalloutHandle& handle) {
 
         std::ostringstream s;
         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(), leases_json);
+                                                s.str(), args);
         setResponse(handle, response);
 
 
index 5deecbd12d896118d173c9ea480b570963023eb8..2992e9849dadf3d06a775ba409ab1301a3394ba7 100644 (file)
@@ -1140,7 +1140,12 @@ TEST_F(LeaseCmdsTest, Lease4GetAll) {
 
     // Now check that the lease parameters were indeed returned.
     ASSERT_TRUE(rsp);
-    ConstElementPtr leases = rsp->get("arguments");
+
+    ConstElementPtr args = rsp->get("arguments");
+    ASSERT_TRUE(args);
+    ASSERT_EQ(Element::map, args->getType());
+
+    ConstElementPtr leases = args->get("leases");
     ASSERT_TRUE(leases);
     ASSERT_EQ(Element::list, leases->getType());
 
@@ -1171,7 +1176,12 @@ TEST_F(LeaseCmdsTest, Lease4GetAllBySubnetId) {
 
     // Now check that the lease parameters were indeed returned.
     ASSERT_TRUE(rsp);
-    ConstElementPtr leases = rsp->get("arguments");
+
+    ConstElementPtr args = rsp->get("arguments");
+    ASSERT_TRUE(args);
+    ASSERT_EQ(Element::map, args->getType());
+
+    ConstElementPtr leases = args->get("leases");
     ASSERT_TRUE(leases);
     ASSERT_EQ(Element::list, leases->getType());
 
@@ -1199,7 +1209,12 @@ TEST_F(LeaseCmdsTest, Lease4GetAllByMultipleSubnetIds) {
 
     // Now check that the lease parameters were indeed returned.
     ASSERT_TRUE(rsp);
-    ConstElementPtr leases = rsp->get("arguments");
+
+    ConstElementPtr args = rsp->get("arguments");
+    ASSERT_TRUE(args);
+    ASSERT_EQ(Element::map, args->getType());
+
+    ConstElementPtr leases = args->get("leases");
     ASSERT_TRUE(leases);
     ASSERT_EQ(Element::list, leases->getType());