diff --git a/test/handler_mock.hpp b/test/handler_mock.hpp
index f214db8..e20886a 100644
--- a/test/handler_mock.hpp
+++ b/test/handler_mock.hpp
@@ -26,6 +26,7 @@
                        std::tuple<std::uint8_t, std::uint8_t, std::uint8_t,
                                   std::uint8_t>(unsigned int));
     MOCK_CONST_METHOD1(psuResetDelay, void(std::uint32_t));
+    MOCK_CONST_METHOD0(psuResetOnShutdown, void());
     MOCK_METHOD2(getEntityName, std::string(std::uint8_t, std::uint8_t));
     MOCK_METHOD0(getMachineName, std::string());
     MOCK_METHOD0(buildI2cPcieMapping, void());
diff --git a/test/psu_unittest.cpp b/test/psu_unittest.cpp
index 7127c3d..adf3278 100644
--- a/test/psu_unittest.cpp
+++ b/test/psu_unittest.cpp
@@ -46,5 +46,32 @@
               psuHardReset(request.data(), reply, &dataLen, &hMock));
 }
 
+TEST(PsuResetOnShutdownCommandTest, InvalidRequestLength)
+{
+    std::vector<std::uint8_t> request;
+    size_t dataLen = request.size();
+    std::uint8_t reply[MAX_IPMI_BUFFER];
+
+    HandlerMock hMock;
+    EXPECT_EQ(IPMI_CC_REQ_DATA_LEN_INVALID,
+              psuHardResetOnShutdown(request.data(), reply, &dataLen, &hMock));
+}
+
+TEST(PsuResetOnShutdownCommandTest, ValidRequest)
+{
+    struct PsuResetOnShutdownRequest requestContents;
+    requestContents.subcommand = SysOEMCommands::SysPsuHardReset;
+
+    std::vector<std::uint8_t> request(sizeof(requestContents));
+    std::memcpy(request.data(), &requestContents, sizeof(requestContents));
+    size_t dataLen = request.size();
+    std::uint8_t reply[MAX_IPMI_BUFFER];
+
+    HandlerMock hMock;
+    EXPECT_CALL(hMock, psuResetOnShutdown());
+    EXPECT_EQ(IPMI_CC_OK,
+              psuHardResetOnShutdown(request.data(), reply, &dataLen, &hMock));
+}
+
 } // namespace ipmi
 } // namespace google
