Class RemoteStorageHelper (2.12.0)

public class RemoteStorageHelper

Utility to create a remote storage configuration for testing. Storage options can be obtained via the #getOptions() ()} method. Returned options have custom StorageOptions#getRetrySettings(): RetrySettings#getMaxAttempts() is 10, RetrySettings#getMaxRetryDelay() is 30000, RetrySettings#getTotalTimeout() is 120000 and RetrySettings#getInitialRetryDelay() is 250. HttpTransportOptions#getConnectTimeout() and HttpTransportOptions#getReadTimeout() are both set to 60000.

Inheritance

java.lang.Object > RemoteStorageHelper

Static Methods

cleanBuckets(Storage storage, long olderThan, long timeoutMs)

public static void cleanBuckets(Storage storage, long olderThan, long timeoutMs)
Parameters
Name Description
storage Storage
olderThan long
timeoutMs long

create()

public static RemoteStorageHelper create()

Creates a RemoteStorageHelper object using default project id and authentication credentials.

Returns
Type Description
RemoteStorageHelper
Exceptions
Type Description
RemoteStorageHelper.StorageHelperException

create(String projectId, InputStream keyStream)

public static RemoteStorageHelper create(String projectId, InputStream keyStream)

Creates a RemoteStorageHelper object for the given project id and JSON key input stream.

Parameters
Name Description
projectId String

id of the project to be used for running the tests

keyStream InputStream

input stream for a JSON key

Returns
Type Description
RemoteStorageHelper

A RemoteStorageHelper object for the provided options

Exceptions
Type Description
RemoteStorageHelper.StorageHelperException

if keyStream is not a valid JSON key stream

forceDelete(Storage storage, String bucket)

public static void forceDelete(Storage storage, String bucket)

Deletes a bucket, even if non-empty. This method blocks until the deletion completes or fails.

Parameters
Name Description
storage Storage

the storage service to be used to issue requests

bucket String

the bucket to be deleted

forceDelete(Storage storage, String bucket, long timeout, TimeUnit unit)

public static Boolean forceDelete(Storage storage, String bucket, long timeout, TimeUnit unit)

Deletes a bucket, even if non-empty. Objects in the bucket are listed and deleted until bucket deletion succeeds or timeout expires. To allow for the timeout, this method uses a separate thread to send the delete requests. Use #forceDelete(Storage storage, String bucket) if spawning an additional thread is undesirable, such as in the App Engine production runtime.

Parameters
Name Description
storage Storage

the storage service to be used to issue requests

bucket String

the bucket to be deleted

timeout long

the maximum time to wait

unit TimeUnit

the time unit of the timeout argument

Returns
Type Description
Boolean

true if deletion succeeded, false if timeout expired

Exceptions
Type Description
InterruptedException

if the thread deleting the bucket is interrupted while waiting

ExecutionException

if the thread deleting the bucket is interrupted while waiting

forceDelete(Storage storage, String bucket, long timeout, TimeUnit unit, String userProject)

public static Boolean forceDelete(Storage storage, String bucket, long timeout, TimeUnit unit, String userProject)

Deletes a bucket, even if non-empty. Objects in the bucket are listed and deleted until bucket deletion succeeds or timeout expires. To allow for the timeout, this method uses a separate thread to send the delete requests. Use #forceDelete(Storage storage, String bucket) if spawning an additional thread is undesirable, such as in the App Engine production runtime.

Parameters
Name Description
storage Storage

the storage service to be used to issue requests

bucket String

the bucket to be deleted

timeout long

the maximum time to wait

unit TimeUnit

the time unit of the timeout argument

userProject String

the project to bill for requester-pays buckets (or "")

Returns
Type Description
Boolean

true if deletion succeeded, false if timeout expired

Exceptions
Type Description
InterruptedException

if the thread deleting the bucket is interrupted while waiting

ExecutionException

if the thread deleting the bucket is interrupted while waiting

generateBucketName()

public static String generateBucketName()

Returns a bucket name generated using a random UUID.

Returns
Type Description
String

Methods

getOptions()

public StorageOptions getOptions()

Returns a StorageOptions object to be used for testing.

Returns
Type Description
StorageOptions