private void putOneBlobWithId(MockId id, int size, long expiresAtMs) throws Exception {
    List<MessageInfo> infos = new ArrayList<>();
    List<ByteBuffer> buffers = new ArrayList<>();
    long crc = random.nextLong();
    MessageInfo info =
        new MessageInfo(id, size, false, false, false, expiresAtMs, crc, id.getAccountId(), id.getContainerId(),
            Utils.Infinite_Time, (short) 0);
    ByteBuffer buffer = ByteBuffer.wrap(TestUtils.getRandomBytes(size));
    infos.add(info);
    buffers.add(buffer);
    allKeys.put(id, new Pair<>(info, buffer));
    if (expiresAtMs != Utils.Infinite_Time && expiresAtMs < time.milliseconds()) {
      expiredKeys.add(id);
    } else {
      liveKeys.add(id);
    }
    store.put(new MockMessageWriteSet(infos, buffers));
  }
Puts one blob with the given {@link MockId} into the {@link BlobStore}.
@param id the id of the blob.
@param size the size of each blob.
@param expiresAtMs the expiry time (in ms) of each blob.
@throws StoreException
ambry-store/src/test/java/com/github/ambry/store/BlobStoreTest.java