diff --git a/test/Makefile.am b/test/Makefile.am
index 2e36c8e..3d53916 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -13,6 +13,7 @@
 
 # Run all 'check' test programs
 check_PROGRAMS = \
+	parse_config_unittest \
 	sys_file_unittest \
 	handler_commit_unittest \
 	handler_open_unittest \
@@ -20,6 +21,8 @@
 	handler_unittest
 TESTS = $(check_PROGRAMS)
 
+parse_config_unittest_SOURCES = parse_config_unittest.cpp
+
 sys_file_unittest_SOURCES = sys_file_unittest.cpp
 sys_file_unittest_LDADD = $(top_builddir)/sys_file.o
 
diff --git a/test/parse_config_unittest.cpp b/test/parse_config_unittest.cpp
new file mode 100644
index 0000000..b450477
--- /dev/null
+++ b/test/parse_config_unittest.cpp
@@ -0,0 +1,66 @@
+#include "parse_config.hpp"
+
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+using json = nlohmann::json;
+using namespace conf;
+
+TEST(ParseConfigTest, ExceptionWhenMissingRequiredFields)
+{
+    auto j = R"(
+    {
+      "blobBaseId": "/test/"
+    }
+  )"_json;
+
+    BinaryBlobConfig config;
+
+    EXPECT_THROW(parseFromConfigFile(j, config), std::exception);
+}
+
+TEST(ParseConfigTest, TestSimpleConfig)
+{
+    auto j = R"(
+    {
+      "blobBaseId": "/test/",
+      "sysFilePath": "/sys/fake/path",
+      "offsetBytes": 32,
+      "maxSizeBytes": 2
+    }
+  )"_json;
+
+    BinaryBlobConfig config;
+
+    EXPECT_NO_THROW(parseFromConfigFile(j, config));
+    EXPECT_EQ(config.blobBaseId, "/test/");
+    EXPECT_EQ(config.sysFilePath, "/sys/fake/path");
+    EXPECT_EQ(config.offsetBytes, 32);
+    EXPECT_EQ(config.maxSizeBytes, 2);
+}
+
+TEST(ParseConfigTest, TestConfigArray)
+{
+    auto j = R"(
+    [{
+      "blobBaseId": "/test/",
+      "sysFilePath": "/sys/fake/path",
+      "offsetBytes": 32,
+      "maxSizeBytes": 32
+     },
+     {
+       "blobBaseId": "/test/",
+       "sysFilePath": "/another/path"
+    }]
+  )"_json;
+
+    for (auto& element : j)
+    {
+        BinaryBlobConfig config;
+
+        EXPECT_NO_THROW(parseFromConfigFile(element, config));
+        EXPECT_EQ(config.blobBaseId, "/test/");
+        EXPECT_TRUE(config.offsetBytes == 32 || config.offsetBytes == 0);
+        EXPECT_TRUE(config.maxSizeBytes == 32 || config.maxSizeBytes == 0);
+    }
+}
