@Test
  public void testV2CompositeBlobInfoCtor() {
    List<StoreKey> keys = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
      keys.add(new MockId(TestUtils.getRandomString(60)));
    }
    //creates 1 10 byte blob, so not enough keys
    invalidV2CompositeBlobInfoCtor(100, 10, keys);
    //creates 9 100 byte blobs, so too many keys
    invalidV2CompositeBlobInfoCtor(100, 900, keys);
    //creates 9 100 byte blobs and 1 1 byte blob
    validV2CompositeBlobInfoCtor(100, 901, keys);
    //creates 10 100 byte blobs
    validV2CompositeBlobInfoCtor(100, 1000, keys);
    //creates 10 100 byte blobs and 1 1 byte blob, so not enough keys
    invalidV2CompositeBlobInfoCtor(100, 1001, keys);
    //rest are a mix of negative and 0 values for chunkSize and totalSize, all invalid
    invalidV2CompositeBlobInfoCtor(0, 0, keys);
    invalidV2CompositeBlobInfoCtor(1, 0, keys);
    invalidV2CompositeBlobInfoCtor(0, 1, keys);
    invalidV2CompositeBlobInfoCtor(-1, 1, keys);
    invalidV2CompositeBlobInfoCtor(-1, -1, keys);
    invalidV2CompositeBlobInfoCtor(1, -1, keys);
  }
Tests various kinds of inputs for the V2 {@link CompositeBlobInfo}
ambry-messageformat/src/test/java/com/github/ambry/messageformat/CompositeBlobInfoTest.java