@Test
  public void testLargeMessagePut() {
    String key = "test";
    String largeMessage = StringUtils.repeat("a", maxMessageSize + 1);

    if (dropLargeMessage) {
      store.put(key, largeMessage);
      Assert.assertNull("The large message was stored while it shouldn't have been.", loggedStore.get(stringSerde.toBytes(key)));
    } else {
      try {
        store.put(key, largeMessage);
        Assert.fail("Failure since put() method invocation incorrectly completed.");
      } catch (SamzaException e) {
        Assert.assertNull("The large message was stored while it shouldn't have been.", loggedStore.get(stringSerde.toBytes(key)));
      }
    }
  }
@param typeOfStore Defines type of key-value store (Eg: "rocksdb" / "inmemory")
@param storeConfig Defines what order we are invoking the stores in - serde / cache-then-serde / serde-then-cache
@param dropLargeMessageStr Defines the value of the drop.large.message config which drops large messages if true
samza-test/src/test/java/org/apache/samza/storage/kv/TestLargeMessageSafeKeyValueStores.java