diff --git a/test/Makefile.am b/test/Makefile.am
index e2caf4b..4f78144 100755
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -7,9 +7,25 @@
 TESTS = $(check_PROGRAMS)
 
 # Build/add utest to test suite
-utest_CPPFLAGS = -Igtest $(GTEST_CPPFLAGS) $(AM_CPPFLAGS)
-utest_CXXFLAGS = $(PTHREAD_CFLAGS) $(PHOSPHOR_LOGGING_CFLAGS)
-utest_LDFLAGS = -lgtest_main -lgtest $(PTHREAD_LIBS) $(OESDK_TESTCASE_FLAGS) \
-	$(PHOSPHOR_LOGGING_LIBS)
+utest_CPPFLAGS = \
+	-Igtest \
+	$(GTEST_CPPFLAGS) \
+	$(AM_CPPFLAGS)
+
+utest_CXXFLAGS = \
+	$(PTHREAD_CFLAGS) \
+	$(PHOSPHOR_LOGGING_CFLAGS) \
+	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
+
+utest_LDFLAGS = \
+	-lgtest_main \
+	-lgtest \
+	$(PTHREAD_LIBS) \
+	$(OESDK_TESTCASE_FLAGS) \
+	$(PHOSPHOR_LOGGING_LIBS) \
+	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
+	-lssl \
+	-lcrypto
 
 utest_SOURCES = utest.cpp
+utest_LDADD = $(top_builddir)/openpower_update_manager-version.o
diff --git a/test/utest.cpp b/test/utest.cpp
index 2180533..7ce738e 100644
--- a/test/utest.cpp
+++ b/test/utest.cpp
@@ -1 +1,25 @@
 #include <gtest/gtest.h>
+#include <openssl/sha.h>
+#include <string>
+#include "version.hpp"
+
+using namespace openpower::software::updater;
+
+/** @brief Make sure we correctly get the Id from getId()*/
+TEST(VersionTest, TestGetId)
+{
+    auto version = "test-id";
+    unsigned char digest[SHA512_DIGEST_LENGTH];
+    SHA512_CTX ctx;
+    SHA512_Init(&ctx);
+    SHA512_Update(&ctx, version, strlen(version));
+    SHA512_Final(digest, &ctx);
+    char mdString[SHA512_DIGEST_LENGTH*2+1];
+    for (int i = 0; i < SHA512_DIGEST_LENGTH; i++)
+    {
+        snprintf(&mdString[i*2], 3, "%02x", (unsigned int)digest[i]);
+    }
+    std::string hexId = std::string(mdString);
+    hexId = hexId.substr(0, 8);
+    EXPECT_EQ(Version::getId(version), hexId);
+}
