private MessageInfo delete(MockId idToDelete, long operationTimeMs, boolean forceDelete) throws StoreException {
    MessageInfo info;
    if (!forceDelete) {
      MessageInfo putMsgInfo = allKeys.get(idToDelete).getFirst();
      info = new MessageInfo(idToDelete, DELETE_RECORD_SIZE, putMsgInfo.getAccountId(), putMsgInfo.getContainerId(),
          operationTimeMs, MessageInfo.LIFE_VERSION_FROM_FRONTEND);
      store.delete(Collections.singletonList(info));
    } else {
      short lifeVersion = 0;
      info = new MessageInfo(idToDelete, DELETE_RECORD_SIZE, idToDelete.getAccountId(), idToDelete.getContainerId(),
          operationTimeMs, lifeVersion);
      store.forceDelete(Collections.singletonList(info));
    }

    deletedKeys.add(idToDelete);
    undeletedKeys.remove(idToDelete);
    liveKeys.remove(idToDelete);
    return info;
  }
Deletes a blob with a given operationTimeMs
@param idToDelete the {@link MockId} of the blob to DELETE.
@param operationTimeMs the operationTimeMs in {@link MessageInfo}.
@param forceDelete true if it's a force delete, false if it's a normal delete.
@return the {@link MessageInfo} associated with the DELETE.
@throws StoreException
ambry-store/src/test/java/com/github/ambry/store/BlobStoreTest.java