diff --git a/test/Makefile.am b/test/Makefile.am
new file mode 100644
index 0000000..7da78d8
--- /dev/null
+++ b/test/Makefile.am
@@ -0,0 +1,18 @@
+AM_CPPFLAGS = -I$(top_srcdir)/ \
+	$(GTEST_CFLAGS) \
+	$(GMOCK_CFLAGS)
+AM_CXXFLAGS = \
+	$(GTEST_MAIN_CFLAGS)
+AM_LDFLAGS = \
+	$(GMOCK_LIBS) \
+	$(GTEST_MAIN_LIBS) \
+	$(OESDK_TESTCASE_FLAGS)
+
+# Run all 'check' test programs
+check_PROGRAMS = \
+	ipmi_starttransfer_unittest
+
+TESTS = $(check_PROGRAMS)
+
+ipmi_starttransfer_unittest_SOURCES = ipmi_starttransfer_unittest.cpp
+ipmi_starttransfer_unittest_LDADD = $(top_builddir)/ipmi.o
diff --git a/test/ipmi_starttransfer_unittest.cpp b/test/ipmi_starttransfer_unittest.cpp
new file mode 100644
index 0000000..448287b
--- /dev/null
+++ b/test/ipmi_starttransfer_unittest.cpp
@@ -0,0 +1,61 @@
+#include "flash-ipmi.hpp"
+#include "ipmi.hpp"
+
+#include "updater_mock.hpp"
+
+#include <cstring>
+#include <gtest/gtest.h>
+
+using ::testing::NotNull;
+using ::testing::Return;
+using ::testing::StrictMock;
+
+// ipmid.hpp isn't installed where we can grab it and this value is per BMC
+// SoC.
+#define MAX_IPMI_BUFFER 64
+#define THIRTYTWO_MIB 33554432
+
+TEST(IpmiStartTransferTest, InvalidRequestLengthReturnsFailure)
+{
+    // Verify that the request is sanity checked w.r.t length.
+
+    StrictMock<UpdaterMock> updater;
+
+    size_t dataLen;
+    uint8_t request[MAX_IPMI_BUFFER] = {0};
+    uint8_t reply[MAX_IPMI_BUFFER] = {0};
+
+    struct StartTx tx;
+    tx.cmd = FlashSubCmds::flashStartTransfer;
+    tx.length = THIRTYTWO_MIB;
+    std::memcpy(request, &tx, sizeof(tx));
+
+    dataLen = sizeof(tx) - 1; // It's too small to be a valid packet.
+
+    EXPECT_EQ(IPMI_CC_INVALID,
+              startTransfer(&updater, request, reply, &dataLen));
+}
+
+TEST(IpmiStartTransferTest, ValidRequestBoringCase)
+{
+    // Verify that if the request is valid it calls into the flash updater.
+
+    StrictMock<UpdaterMock> updater;
+
+    size_t dataLen;
+    uint8_t request[MAX_IPMI_BUFFER] = {0};
+    uint8_t reply[MAX_IPMI_BUFFER] = {0};
+
+    struct StartTx tx;
+    tx.cmd = FlashSubCmds::flashStartTransfer;
+    tx.length = THIRTYTWO_MIB;
+    std::memcpy(request, &tx, sizeof(tx));
+
+    dataLen = sizeof(tx);
+
+    EXPECT_CALL(updater, start(THIRTYTWO_MIB)).WillOnce(Return(true));
+
+    EXPECT_EQ(IPMI_CC_OK, startTransfer(&updater, request, reply, &dataLen));
+    EXPECT_EQ(sizeof(uint8_t), dataLen);
+    EXPECT_EQ(0, reply[0]);
+}
diff --git a/test/updater_mock.hpp b/test/updater_mock.hpp
new file mode 100644
index 0000000..3c2b5ab
--- /dev/null
+++ b/test/updater_mock.hpp
@@ -0,0 +1,13 @@
+#pragma once
+
+#include <gmock/gmock.h>
+
+#include "flash-ipmi.hpp"
+
+class UpdaterMock : public UpdateInterface
+{
+  public:
+    virtual ~UpdaterMock() = default;
+
+    MOCK_METHOD1(start, bool(uint32_t));
+};
