diff --git a/test/Makefile.am b/test/Makefile.am
index f6a9263..a85285a 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -27,7 +27,8 @@
 	firmware_sessionstat_unittest \
 	firmware_commit_unittest \
 	file_handler_unittest \
-	tools_blob_unittest
+	tools_blob_unittest \
+	tools_updater_unittest
 
 TESTS = $(check_PROGRAMS)
 
@@ -69,3 +70,6 @@
 
 tools_blob_unittest_SOURCES = tools_blob_unittest.cpp
 tools_blob_unittest_LDADD = $(top_builddir)/tools/blob_handler.o
+
+tools_updater_unittest_SOURCES = tools_updater_unittest.cpp
+tools_updater_unittest_LDADD = $(top_builddir)/tools/updater.o
diff --git a/test/tools_updater_unittest.cpp b/test/tools_updater_unittest.cpp
new file mode 100644
index 0000000..d36304b
--- /dev/null
+++ b/test/tools_updater_unittest.cpp
@@ -0,0 +1,45 @@
+#include "blob_interface_mock.hpp"
+#include "data_interface_mock.hpp"
+#include "updater.hpp"
+
+#include <string>
+
+#include <gtest/gtest.h>
+
+using ::testing::Eq;
+using ::testing::Return;
+using ::testing::StrEq;
+
+TEST(UpdaterTest, NormalWalkthroughAllHappy)
+{
+    /* Call updaterMain and have everything respond happily. */
+    DataInterfaceMock handlerMock;
+    BlobInterfaceMock blobMock;
+    std::string firmwareImage = "image.bin";
+    std::string signatureFile = "image.sig";
+
+    std::vector<std::string> blobList = {"/flash/image"};
+    StatResponse statObj;
+    statObj.blob_state = blobs::FirmwareBlobHandler::UpdateFlags::ipmi |
+                         blobs::FirmwareBlobHandler::UpdateFlags::lpc;
+    statObj.size = 0;
+    blobs::FirmwareBlobHandler::UpdateFlags supported =
+        blobs::FirmwareBlobHandler::UpdateFlags::lpc;
+    std::uint16_t session = 0xbeef;
+
+    EXPECT_CALL(blobMock, getBlobList()).WillOnce(Return(blobList));
+
+    EXPECT_CALL(blobMock, getStat(StrEq(blobList[0].c_str())))
+        .WillOnce(Return(statObj));
+
+    EXPECT_CALL(handlerMock, supportedType()).WillOnce(Return(supported));
+
+    EXPECT_CALL(blobMock, openBlob(StrEq(blobList[0].c_str()), Eq(supported)))
+        .WillOnce(Return(session));
+
+    EXPECT_CALL(handlerMock,
+                sendContents(StrEq(firmwareImage.c_str()), Eq(session)))
+        .WillOnce(Return(true));
+
+    updaterMain(&blobMock, &handlerMock, firmwareImage, signatureFile);
+}
diff --git a/tools/updater.cpp b/tools/updater.cpp
index b79979c..b9574d8 100644
--- a/tools/updater.cpp
+++ b/tools/updater.cpp
@@ -46,7 +46,8 @@
      * is supported.
      */
     auto stat = blob->getStat(goalFirmware);
-    if ((stat.blob_state & handler->supportedType()) == 0)
+    auto supported = handler->supportedType();
+    if ((stat.blob_state & supported) == 0)
     {
         throw ToolException("data interface selected not supported.");
     }
@@ -55,7 +56,7 @@
     std::uint16_t session;
     try
     {
-        session = blob->openBlob(goalFirmware, handler->supportedType());
+        session = blob->openBlob(goalFirmware, supported);
     }
     catch (const BlobException& b)
     {
