diff --git a/test/bmc_mode_unittest.cpp b/test/bmc_mode_unittest.cpp
new file mode 100644
index 0000000..a0b5178
--- /dev/null
+++ b/test/bmc_mode_unittest.cpp
@@ -0,0 +1,73 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "bmc_mode.hpp"
+#include "commands.hpp"
+#include "handler_mock.hpp"
+#include "helper.hpp"
+
+#include <vector>
+
+#include <gtest/gtest.h>
+
+using ::testing::Return;
+
+namespace google
+{
+namespace ipmi
+{
+
+TEST(BmcModeCommandTest, ValidRequest)
+{
+    std::vector<std::uint8_t> request = {};
+    uint8_t bmcMode = 0; // Non Bare Metal Mode
+
+    HandlerMock hMock;
+    EXPECT_CALL(hMock, getBmcMode()).WillOnce(Return(bmcMode));
+
+    auto reply = getBmcMode(request, &hMock);
+    auto result = ValidateReply(reply);
+    auto& data = result.second;
+
+    EXPECT_EQ(1, data.size());
+    EXPECT_EQ(SysOEMCommands::SysGetBmcMode, result.first);
+    EXPECT_EQ(0, data[0]);
+
+    bmcMode = 1; // Bare Metal Mode
+
+    EXPECT_CALL(hMock, getBmcMode()).WillOnce(Return(bmcMode));
+
+    reply = getBmcMode(request, &hMock);
+    result = ValidateReply(reply);
+    data = result.second;
+
+    EXPECT_EQ(1, data.size());
+    EXPECT_EQ(SysOEMCommands::SysGetBmcMode, result.first);
+    EXPECT_EQ(1, data[0]);
+
+    bmcMode = 2; // Bare Metal Cleaning Mode
+
+    EXPECT_CALL(hMock, getBmcMode()).WillOnce(Return(bmcMode));
+
+    reply = getBmcMode(request, &hMock);
+    result = ValidateReply(reply);
+    data = result.second;
+
+    EXPECT_EQ(1, data.size());
+    EXPECT_EQ(SysOEMCommands::SysGetBmcMode, result.first);
+    EXPECT_EQ(2, data[0]);
+}
+
+} // namespace ipmi
+} // namespace google
diff --git a/test/handler_mock.hpp b/test/handler_mock.hpp
index 9961fa8..580b043 100644
--- a/test/handler_mock.hpp
+++ b/test/handler_mock.hpp
@@ -63,6 +63,7 @@
                 (std::string_view, uint64_t, uint8_t, uint64_t),
                 (const, override));
     MOCK_METHOD(std::vector<uint8_t>, pcieBifurcation, (uint8_t), (override));
+    MOCK_METHOD(uint8_t, getBmcMode, (), (override));
 };
 
 } // namespace ipmi
diff --git a/test/meson.build b/test/meson.build
index f2c11a2..53064a1 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -28,6 +28,7 @@
   'poweroff',
   'psu',
   'pcie_bifurcation',
+  'bmc_mode',
 ]
 
 foreach t : tests
