@Test
public void metadataInitialization_lazy() throws IOException {

  StorageObject object = newStorageObject(BUCKET_NAME, OBJECT_NAME);
  MockHttpTransport transport = mockTransport(jsonDataResponse(object));
  List<HttpRequest> requests = new ArrayList<>();
  Storage storage = new Storage(transport, JSON_FACTORY, requests::add);
  GoogleCloudStorageReadOptions options =
      GoogleCloudStorageReadOptions.builder().setFastFailOnNotFound(false).build();
  GoogleCloudStorageReadChannel readChannel = createReadChannel(storage, options);
  assertThat(requests).isEmpty();
  assertThat(readChannel.size()).isEqualTo(object.getSize().longValue());
  assertThat(requests).hasSize(1);
}