@Test
  public void testBatchDeleteSuccess() throws Exception {
    prepareDataForTestingBatchDelete();
    channel.connect();
    for (int i = 0; i < 3; i++) {
      putBlob(blobIdList1.get(i), properties.get(i), encryptionKey.get(i), usermetadata.get(i), data.get(i), channel);
    }
    for (int i = 0; i < 2; i++) {
      putBlob(blobIdList2.get(i), properties.get(i), encryptionKey.get(i), usermetadata.get(i), data.get(i), channel);
    }
    List<BatchDeletePartitionRequestInfo> batchDeletePartitionRequestInfoList = getBatchDeletePartitionRequestInfoList();
    BatchDeleteResponse batchDeleteResponse = deleteBlobs(batchDeletePartitionRequestInfoList, channel);
    Assert.assertEquals(ServerErrorCode.NoError, batchDeleteResponse.getError());

    // check if blobs are deleted by doing get operation on those blobs
    for (int i = 0; i < 3; i++) {
      GetResponse getResponse = getBlob(blobIdList1.get(i), channel);
      Assert.assertEquals(ServerErrorCode.BlobDeleted,
          getResponse.getPartitionResponseInfoList().get(0).getErrorCode());
    }
    for (int i = 0; i < 2; i++) {
      GetResponse getResponse = getBlob(blobIdList2.get(i), channel);
      Assert.assertEquals(ServerErrorCode.BlobDeleted,
          getResponse.getPartitionResponseInfoList().get(0).getErrorCode());
    }
    channel.disconnect();
  }
Positive test for batch delete
<p>
This test does the following:
1. Makes 5 puts, across 2 partitions, waits for notification.
2. Creates 1 batch delete request
3. Verifies the BatchDeleteResponse

@throws Exception
ambry-server/src/integration-test/java/com/github/ambry/server/ServerBatchDeleteTest.java