private void getAndAssertSuccess(final boolean getChunksBeforeRead, final boolean initiateReadBeforeChunkGet)
      throws Exception {
    getAndAssertSuccess(getChunksBeforeRead, initiateReadBeforeChunkGet, (short) 0);
  }
Construct GetBlob operations with appropriate callbacks, then poll those operations until they complete,
and ensure that the whole blob data is read out and the contents match.
@param getChunksBeforeRead {@code true} if all chunks should be cached by the router before reading from the
                           stream.
@param initiateReadBeforeChunkGet Whether readInto() should be initiated immediately before data chunks are
                                  fetched by the router to simulate chunk arrival delay.
ambry-router/src/test/java/com/github/ambry/router/GetBlobOperationTest.java