diff --git a/test/Makefile.am b/test/Makefile.am
index d10f4ba..c97f480 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -48,3 +48,7 @@
 check_PROGRAMS += pcie_unittest
 pcie_unittest_SOURCES = pcie_unittest.cpp
 pcie_unittest_LDADD = $(top_builddir)/libsyscmds_common.la
+
+check_PROGRAMS += flash_unittest
+flash_unittest_SOURCES = flash_unittest.cpp
+flash_unittest_LDADD = $(top_builddir)/libsyscmds_common.la
diff --git a/test/flash_unittest.cpp b/test/flash_unittest.cpp
new file mode 100644
index 0000000..36f5d4a
--- /dev/null
+++ b/test/flash_unittest.cpp
@@ -0,0 +1,52 @@
+#include "commands.hpp"
+#include "flash_size.hpp"
+#include "handler_mock.hpp"
+
+#include <cstdint>
+#include <cstring>
+#include <string>
+#include <vector>
+
+#include <gtest/gtest.h>
+
+#define MAX_IPMI_BUFFER 64
+
+using ::testing::Return;
+
+namespace google
+{
+namespace ipmi
+{
+
+TEST(FlashSizeCommandTest, InvalidCommandLength)
+{
+    // GetFlashSizeRequest is one byte, let's send 0.
+    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,
+              getFlashSize(request.data(), reply, &dataLen, &hMock));
+}
+
+TEST(FlashSizeCommandTest, ValidRequest)
+{
+    std::vector<std::uint8_t> request = {SysOEMCommands::SysGetFlashSize};
+    size_t dataLen = request.size();
+    std::uint8_t reply[MAX_IPMI_BUFFER];
+    uint32_t flashSize = 5422312; // 0x52BCE8
+
+    HandlerMock hMock;
+    EXPECT_CALL(hMock, getFlashSize()).WillOnce(Return(flashSize));
+    EXPECT_EQ(IPMI_CC_OK,
+              getFlashSize(request.data(), reply, &dataLen, &hMock));
+    EXPECT_EQ(dataLen, 5);
+    EXPECT_EQ(reply[4], 0);
+    EXPECT_EQ(reply[3], 0x52);
+    EXPECT_EQ(reply[2], 0xBC);
+    EXPECT_EQ(reply[1], 0xE8);
+}
+
+} // namespace ipmi
+} // namespace google
diff --git a/test/handler_mock.hpp b/test/handler_mock.hpp
index e20886a..d539f7b 100644
--- a/test/handler_mock.hpp
+++ b/test/handler_mock.hpp
@@ -27,6 +27,7 @@
                                   std::uint8_t>(unsigned int));
     MOCK_CONST_METHOD1(psuResetDelay, void(std::uint32_t));
     MOCK_CONST_METHOD0(psuResetOnShutdown, void());
+    MOCK_METHOD0(getFlashSize, uint32_t());
     MOCK_METHOD2(getEntityName, std::string(std::uint8_t, std::uint8_t));
     MOCK_METHOD0(getMachineName, std::string());
     MOCK_METHOD0(buildI2cPcieMapping, void());
