diff --git a/test/binarystore_unittest.cpp b/test/binarystore_unittest.cpp
index f0e8048..2a00696 100644
--- a/test/binarystore_unittest.cpp
+++ b/test/binarystore_unittest.cpp
@@ -9,6 +9,7 @@
 #include <iterator>
 #include <memory>
 #include <sstream>
+#include <vector>
 
 #include <gmock/gmock.h>
 
@@ -37,6 +38,11 @@
                                "\""
                                "}] "
                                "max_size_bytes: 64";
+const std::string smallInputProto = "blob_base_id: \"/s/test\""
+                                    "blobs: [{ "
+                                    "    blob_id: \"/s/test/0\""
+                                    "}] "
+                                    "max_size_bytes: 64";
 
 class SysFileBuf : public binstore::SysFile
 {
@@ -167,3 +173,44 @@
     EXPECT_FALSE(store->openOrCreateBlob(
         "/blob/my-test/2", blobs::OpenFlags::read & blobs::OpenFlags::write));
 }
+
+TEST_F(BinaryStoreTest, TestWriteExceedMaxSize)
+{
+    std::vector<uint8_t> writeData(10, 0);
+    auto testDataFile = createBlobStorage(smallInputProto);
+    auto store = binstore::BinaryStore::createFromConfig(
+        "/s/test", std::move(testDataFile), 48);
+    ASSERT_TRUE(store);
+
+    EXPECT_TRUE(store->openOrCreateBlob(
+        "/s/test/0", blobs::OpenFlags::write | blobs::OpenFlags::read));
+    // Current size 24(blob_ + max_size) + 8(size var) = 32
+    EXPECT_TRUE(store->write(
+        0, writeData)); // 44 =  32(existing) + 10 (data) + 2 (blob_id '/0')
+    EXPECT_FALSE(
+        store->write(10, writeData)); // 54 = 44 (existing) + 10 (new data)
+    EXPECT_FALSE(
+        store->write(5, writeData)); // 49 = 44 (existing) + 5 (new data)
+    EXPECT_TRUE(
+        store->write(4, writeData)); // 48 = 44 (existing) + 4 (new data)
+}
+
+TEST_F(BinaryStoreTest, TestCreateFromConfigExceedMaxSize)
+{
+    auto testDataFile = createBlobStorage(inputProto);
+    auto store = binstore::BinaryStore::createFromConfig(
+        "/blob/my-test", std::move(testDataFile), 1);
+    ASSERT_TRUE(store);
+    EXPECT_FALSE(store->commit());
+}
+
+TEST_F(BinaryStoreTest, TestCreateFromFileExceedMaxSize)
+{
+    auto testDataFile = createBlobStorage(inputProto);
+    auto store = binstore::BinaryStore::createFromFile(std::move(testDataFile),
+                                                       false, 1);
+
+    // Reading from File is expected to call loadSerializedData and fail at the
+    // commit()
+    EXPECT_FALSE(store);
+}
