diff --git a/test/test_gpio_presence_state.cpp b/test/test_gpio_presence_state.cpp
index 47e81fc..0d0eb0b 100644
--- a/test/test_gpio_presence_state.cpp
+++ b/test/test_gpio_presence_state.cpp
@@ -25,7 +25,8 @@
     std::vector<uint64_t> gpioValues = {0}; // Active low
     std::string deviceName = "device1";
 
-    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState);
+    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState,
+                          {});
 
     EXPECT_EQ(device.deviceName, deviceName);
     EXPECT_EQ(device.gpioPolarity.size(), 1);
@@ -39,7 +40,8 @@
     std::vector<uint64_t> gpioValues = {1}; // Active high
     std::string deviceName = "device2";
 
-    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState);
+    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState,
+                          {});
 
     EXPECT_EQ(device.deviceName, deviceName);
     EXPECT_EQ(device.gpioPolarity.size(), 1);
@@ -53,7 +55,8 @@
     std::vector<uint64_t> gpioValues = {0, 1, 0}; // Active low, high, low
     std::string deviceName = "device3";
 
-    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState);
+    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState,
+                          {});
 
     EXPECT_EQ(device.deviceName, deviceName);
     EXPECT_EQ(device.gpioPolarity.size(), 3);
@@ -74,7 +77,7 @@
     localGpioState["GPIO1"] = false; // GPIO is low
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_TRUE(device.isPresent());
 }
 
@@ -90,7 +93,7 @@
     localGpioState["GPIO1"] = true; // GPIO is high
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_FALSE(device.isPresent());
 }
 
@@ -106,7 +109,7 @@
     localGpioState["GPIO1"] = true; // GPIO is high
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_TRUE(device.isPresent());
 }
 
@@ -122,7 +125,7 @@
     localGpioState["GPIO1"] = false; // GPIO is low
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_FALSE(device.isPresent());
 }
 
@@ -140,7 +143,7 @@
     localGpioState["GPIO3"] = false; // Active low, should be low
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_TRUE(device.isPresent());
 }
 
@@ -158,7 +161,7 @@
     localGpioState["GPIO3"] = false; // Active low, should be low - correct
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_FALSE(device.isPresent());
 }
 
@@ -173,7 +176,7 @@
     // localGpioState["GPIO1"] is not set - simulating missing GPIO
 
     DevicePresence device(ctx, gpioNames, gpioValues, deviceName,
-                          localGpioState);
+                          localGpioState, {});
     EXPECT_FALSE(device.isPresent());
 }
 
@@ -184,7 +187,8 @@
     std::vector<uint64_t> gpioValues = {0};
     std::string deviceName = "test_device";
 
-    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState);
+    DevicePresence device(ctx, gpioNames, gpioValues, deviceName, gpioState,
+                          {});
 
     sdbusplus::message::object_path objPath = device.getObjPath();
     std::string expectedPath =
