diff --git a/test/meson.build b/test/meson.build
index 09b29d3..f66bc52 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -42,6 +42,7 @@
     'redfish-core/include/utils/query_param_test.cpp',
     'redfish-core/include/utils/sensor_utils_test.cpp',
     'redfish-core/include/utils/stl_utils_test.cpp',
+    'redfish-core/include/utils/systems_utils_test.cpp',
     'redfish-core/include/utils/time_utils_test.cpp',
     'redfish-core/lib/chassis_test.cpp',
     'redfish-core/lib/ethernet_test.cpp',
diff --git a/test/redfish-core/include/utils/systems_utils_test.cpp b/test/redfish-core/include/utils/systems_utils_test.cpp
new file mode 100644
index 0000000..b2fceba
--- /dev/null
+++ b/test/redfish-core/include/utils/systems_utils_test.cpp
@@ -0,0 +1,68 @@
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-FileCopyrightText: Copyright OpenBMC Authors
+
+#include "dbus_utility.hpp"
+#include "utils/systems_utils.hpp"
+
+#include <boost/beast/http/status.hpp>
+#include <boost/system/errc.hpp>
+#include <nlohmann/json.hpp>
+#include <sdbusplus/message.hpp>
+
+#include <string>
+
+#include <gtest/gtest.h>
+
+namespace redfish
+{
+namespace
+{
+
+TEST(SystemsUtils, IndexMatchingObjectPath)
+{
+    auto asyncResp = std::make_shared<bmcweb::AsyncResp>();
+
+    std::string objectPath;
+    std::string service;
+
+    const dbus::utility::MapperGetSubTreeResponse subtree = {
+        {"/xyz/openbmc_project/control/host1",
+         {{"xyz.openbmc_project.Settings", {}}}},
+        {"/xyz/openbmc_project/control/host2/policy/TPMEnable",
+         {{"xyz.openbmc_project.Settings", {}}}},
+        {"/xyz/openbmc_project/control/host10/policy/TPMEnable",
+         {{"xyz.openbmc_project.Settings", {}}}},
+        {"/xyz/openbmc_project/control/host999/",
+         {{"xyz.openbmc_project.Settings", {}}}}};
+
+    EXPECT_TRUE(indexMatchingSubTreeMapObjectPath(asyncResp, 1, subtree,
+                                                  objectPath, service));
+    EXPECT_TRUE(indexMatchingSubTreeMapObjectPath(asyncResp, 2, subtree,
+                                                  objectPath, service));
+    EXPECT_TRUE(indexMatchingSubTreeMapObjectPath(asyncResp, 10, subtree,
+                                                  objectPath, service));
+    EXPECT_TRUE(indexMatchingSubTreeMapObjectPath(asyncResp, 999, subtree,
+                                                  objectPath, service));
+    EXPECT_FALSE(indexMatchingSubTreeMapObjectPath(asyncResp, 100, subtree,
+                                                   objectPath, service));
+    EXPECT_FALSE(indexMatchingSubTreeMapObjectPath(asyncResp, 11, subtree,
+                                                   objectPath, service));
+    EXPECT_FALSE(indexMatchingSubTreeMapObjectPath(asyncResp, 0, subtree,
+                                                   objectPath, service));
+
+    indexMatchingSubTreeMapObjectPath(asyncResp, 1, subtree, objectPath,
+                                      service);
+    EXPECT_EQ(objectPath, "/xyz/openbmc_project/control/host1");
+    EXPECT_EQ(service, "xyz.openbmc_project.Settings");
+
+    indexMatchingSubTreeMapObjectPath(asyncResp, 10, subtree, objectPath,
+                                      service);
+    EXPECT_EQ(objectPath,
+              "/xyz/openbmc_project/control/host10/policy/TPMEnable");
+
+    indexMatchingSubTreeMapObjectPath(asyncResp, 999, subtree, objectPath,
+                                      service);
+    EXPECT_EQ(objectPath, "/xyz/openbmc_project/control/host999/");
+}
+} // namespace
+} // namespace redfish
