Class RemoteStorageHelper (2.19.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
NameDescription
storageStorage
olderThanlong
timeoutMslong

create()

public static RemoteStorageHelper create()

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

Returns
TypeDescription
RemoteStorageHelper
Exceptions
TypeDescription
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
NameDescription
projectIdString

id of the project to be used for running the tests

keyStreamInputStream

input stream for a JSON key

Returns
TypeDescription
RemoteStorageHelper

A RemoteStorageHelper object for the provided options

Exceptions
TypeDescription
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
NameDescription
storageStorage

the storage service to be used to issue requests

bucketString

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
NameDescription
storageStorage

the storage service to be used to issue requests

bucketString

the bucket to be deleted

timeoutlong

the maximum time to wait

unitTimeUnit

the time unit of the timeout argument

Returns
TypeDescription
Boolean

true if deletion succeeded, false if timeout expired

Exceptions
TypeDescription
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
NameDescription
storageStorage

the storage service to be used to issue requests

bucketString

the bucket to be deleted

timeoutlong

the maximum time to wait

unitTimeUnit

the time unit of the timeout argument

userProjectString

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

Returns
TypeDescription
Boolean

true if deletion succeeded, false if timeout expired

Exceptions
TypeDescription
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
TypeDescription
String

Methods

getOptions()

public StorageOptions getOptions()

Returns a StorageOptions object to be used for testing.

Returns
TypeDescription
StorageOptions