GcsUtil { @VisibleForTesting @Nullable Integer getUploadBufferSizeBytes() { return uploadBufferSizeBytes; } private  GcsUtil(
      Storage storageClient,
      HttpRequestInitializer httpRequestInitializer,
      ExecutorService executorService,
      Boolean shouldUseGrpc,
      @Nullable Integer uploadBufferSizeBytes); static String getNonWildcardPrefix(String globExp); static boolean isWildcard(GcsPath spec); List<GcsPath> expand(GcsPath gcsPattern); long fileSize(GcsPath path); StorageObject getObject(GcsPath gcsPath); List<StorageObjectOrIOException> getObjects(List<GcsPath> gcsPaths); Objects listObjects(String bucket, String prefix, @Nullable String pageToken); Objects listObjects(
      String bucket, String prefix, @Nullable String pageToken, @Nullable String delimiter); SeekableByteChannel open(GcsPath path); WritableByteChannel create(GcsPath path, String type); WritableByteChannel create(GcsPath path, String type, Integer uploadBufferSizeBytes); boolean bucketAccessible(GcsPath path); long bucketOwner(GcsPath path); void createBucket(String projectId, Bucket bucket); void copy(Iterable<String> srcFilenames, Iterable<String> destFilenames); void remove(Collection<String> filenames);  }
@Test public void testUploadBufferSizeDefault() { GcsOptions pipelineOptions = gcsOptionsWithTestCredential(); GcsUtil util = pipelineOptions.getGcsUtil(); assertNull(util.getUploadBufferSizeBytes()); }
@Test public void testUploadBufferSizeUserSpecified() { GcsOptions pipelineOptions = gcsOptionsWithTestCredential(); pipelineOptions.setGcsUploadBufferSizeBytes(12345); GcsUtil util = pipelineOptions.getGcsUtil(); assertEquals((Integer) 12345, util.getUploadBufferSizeBytes()); }