private void getBlobAndCompareContent(String blobId, long segmentSize) throws Exception {
    GetBlobResult result = router.getBlob(blobId, options).get();

    switch (options.getOperationType()) {
      case All:
        compareBlobInfo(result.getBlobInfo(), segmentSize);
        compareContent(result.getBlobDataChannel());
        Assert.assertNull("Unexpected blob Ids in result", result.getBlobChunkIds());
        break;
      case Data:
        compareContent(result.getBlobDataChannel());
        Assert.assertNull("Unexpected blob Ids in result", result.getBlobChunkIds());
        break;
      case BlobInfo:
        compareBlobInfo(result.getBlobInfo(), segmentSize);
        Assert.assertNull("Unexpected blob data channel in result", result.getBlobDataChannel());
        Assert.assertNull("Unexpected blob Ids in result", result.getBlobChunkIds());
        break;
      case BlobChunkIds:
        compareChunkBlobIds(blobSize, result.getBlobChunkIds());
        Assert.assertNull("Unexpected blob data channel in result", result.getBlobDataChannel());
        break;
    }
  }
Do a getBlob on the given blob id and ensure that all the data is fetched and is correct.
@param blobId the id of the blob (simple or composite) that needs to be fetched and compared.
@throws Exception
ambry-router/src/test/java/com/github/ambry/router/GetManagerTest.java