private StoreBatchDeleteInfo batchDelete(List<MockId> idsToDelete, long operationTimeMs) throws StoreException {
    List<MessageInfo> msgInfoList = new ArrayList<>();
    for (MockId mockId: idsToDelete){
      MessageInfo putMsgInfo = allKeys.get(mockId).getFirst();
      MessageInfo info = new MessageInfo(mockId, DELETE_RECORD_SIZE, putMsgInfo.getAccountId(), putMsgInfo.getContainerId(),
          operationTimeMs, MessageInfo.LIFE_VERSION_FROM_FRONTEND);
      msgInfoList.add(info);
    }
    StoreBatchDeleteInfo storeBatchDeleteInfo = store.batchDelete(msgInfoList);
    for (MessageErrorInfo messageErrorInfo: storeBatchDeleteInfo.getMessageErrorInfos()){
      if (messageErrorInfo.getError() != null){
        throw new StoreException("Batch delete failed", StoreErrorCodes.UnknownError);
      }
    }

    deletedKeys.addAll(idsToDelete);
    undeletedKeys.removeAll(idsToDelete);
    liveKeys.removeAll(idsToDelete);
    return storeBatchDeleteInfo;
  }
Batch Delete a list of blobs with a given operationTimeMs
@param idsToDelete the {@link List<MockId>} of the blobs to BATCH_DELETE.
@param operationTimeMs the operationTimeMs in {@link MessageInfo}.
@return the {@link StoreBatchDeleteInfo} response of store.batchDelete.
@throws StoreException
ambry-store/src/test/java/com/github/ambry/store/BlobStoreTest.java