void getAndVerify(ConnectedChannel channel, int blobsCount) throws Exception {
    ArrayList<PartitionRequestInfo> partitionRequestInfoList = new ArrayList<>();
    ArrayList<BlobId> ids = new ArrayList<>();
    for (int i = 0; i < blobsCount; i++) {
      ids.add(blobIdList.get(i));
    }

    PartitionRequestInfo partitionRequestInfo = new PartitionRequestInfo(blobIdList.get(0).getPartition(), ids);
    partitionRequestInfoList.add(partitionRequestInfo);

    ArrayList<MessageFormatFlags> flags = new ArrayList<>();
    flags.add(MessageFormatFlags.BlobProperties);
    flags.add(MessageFormatFlags.BlobUserMetadata);
    flags.add(MessageFormatFlags.Blob);
    for (MessageFormatFlags flag : flags) {
      GetRequest getRequest = new GetRequest(1, "clientid2", flag, partitionRequestInfoList, GetOption.Include_All);
      GetResponse resp = GetResponse.readFrom(channel.sendAndReceive(getRequest).getInputStream(), mockClusterMap);
      if (flag == MessageFormatFlags.BlobProperties) {
        for (int i = 0; i < blobsCount; i++) {
          BlobProperties propertyOutput = MessageFormatRecord.deserializeBlobProperties(resp.getInputStream());
          Assert.assertEquals(properties.get(i).getBlobSize(), propertyOutput.getBlobSize());
          Assert.assertEquals("serviceid1", propertyOutput.getServiceId());
          Assert.assertEquals("AccountId mismatch", properties.get(i).getAccountId(), propertyOutput.getAccountId());
          Assert.assertEquals("ContainerId mismatch", properties.get(i).getContainerId(),
              propertyOutput.getContainerId());
        }
      } else if (flag == MessageFormatFlags.BlobUserMetadata) {
        for (int i = 0; i < blobsCount; i++) {
          ByteBuffer userMetadataOutput = MessageFormatRecord.deserializeUserMetadata(resp.getInputStream());
          Assert.assertArrayEquals(userMetadataOutput.array(), usermetadata.get(i));
        }
      } else if (flag == MessageFormatFlags.Blob) {
        for (int i = 0; i < blobsCount; i++) {
          BlobData blobData = MessageFormatRecord.deserializeBlob(resp.getInputStream());
          Assert.assertEquals(properties.get(i).getBlobSize(), blobData.getSize());
          byte[] dataOutput = new byte[(int) blobData.getSize()];
          ByteBuf buffer = blobData.content();
          try {
            buffer.readBytes(dataOutput);
          } finally {
            buffer.release();
          }
          Assert.assertArrayEquals(dataOutput, data.get(i));
        }
      } else {
        throw new IllegalArgumentException("Unrecognized message format flags " + flags);
      }
    }
  }
Fetches the Blob(for all MessageFormatFlags) and verifies the content
@param channel the {@link BlockingChannel} to use to send and receive data
@param blobsCount the total number of blobs that needs to be verified against
@throws Exception
ambry-server/src/integration-test/java/com/github/ambry/server/ServerHardDeleteTest.java