diff --git a/test/dbus_passive_unittest.cpp b/test/dbus_passive_unittest.cpp
index ce1f017..0f689e1 100644
--- a/test/dbus_passive_unittest.cpp
+++ b/test/dbus_passive_unittest.cpp
@@ -98,7 +98,7 @@
     }
 
     sdbusplus::SdBusMock sdbus_mock;
-    sdbusplus::bus::bus bus_mock;
+    sdbusplus::bus_t bus_mock;
     std::unique_ptr<DbusHelperMock> helper;
     std::string type = "temp";
     std::string id = "id";
@@ -157,7 +157,7 @@
 
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* Value = "Value";
     int64_t xValue = 10000;
@@ -227,7 +227,7 @@
 
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* Scale = "Scale";
     int64_t xScale = -6;
@@ -296,7 +296,7 @@
     // Verifies when a threshold is crossed the sensor goes into error state
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* criticalAlarm = "CriticalAlarmHigh";
     bool alarm = true;
@@ -371,7 +371,7 @@
     // the normal state
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* criticalAlarm = "CriticalAlarmHigh";
     bool alarm = false;
@@ -446,7 +446,7 @@
     // the sensor goes into error state
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* property = "Available";
     bool asserted = false;
@@ -521,7 +521,7 @@
     // an error sensor goes back to normal state
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* property = "Available";
     bool asserted = true;
@@ -626,7 +626,7 @@
     }
 
     sdbusplus::SdBusMock sdbus_mock;
-    sdbusplus::bus::bus bus_mock;
+    sdbusplus::bus_t bus_mock;
     std::unique_ptr<DbusHelperMock> helper;
     std::string type = "temp";
     std::string id = "id";
@@ -645,7 +645,7 @@
     // the sensor remains at OK state but reading goes to NaN.
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* property = "Available";
     bool asserted = false;
@@ -722,7 +722,7 @@
     // && unavailableAsFailed == false, this sensor remains at OK state.
     EXPECT_CALL(sdbus_mock, sd_bus_message_ref(IsNull()))
         .WillOnce(Return(nullptr));
-    sdbusplus::message::message msg(nullptr, &sdbus_mock);
+    sdbusplus::message_t msg(nullptr, &sdbus_mock);
 
     const char* property = "Available";
     bool asserted = true;
@@ -831,7 +831,7 @@
     }
 
     sdbusplus::SdBusMock sdbus_mock;
-    sdbusplus::bus::bus bus_mock;
+    sdbusplus::bus_t bus_mock;
     std::unique_ptr<DbusHelperMock> helper;
     std::string type = "temp";
     std::string id = "id";
@@ -876,7 +876,7 @@
     }
 
     sdbusplus::SdBusMock sdbus_mock;
-    sdbusplus::bus::bus bus_mock;
+    sdbusplus::bus_t bus_mock;
     std::unique_ptr<DbusHelperMock> helper;
     std::string type = "temp";
     std::string id = "id";
