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
.
Methods
cleanBuckets(Storage storage, long olderThan, long timeoutMs)
public static void cleanBuckets(Storage storage, long olderThan, long timeoutMs)
Name | Description |
storage | Storage |
olderThan | long |
timeoutMs | long |
create()
public static RemoteStorageHelper create()
Creates a RemoteStorageHelper
object using default project id and authentication
credentials.
Type | Description |
RemoteStorageHelper |
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.
Name | Description |
projectId | String id of the project to be used for running the tests |
keyStream | InputStream input stream for a JSON key |
Type | Description |
RemoteStorageHelper | A |
Type | Description |
RemoteStorageHelper.StorageHelperException | if |
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.
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.
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 |
Type | Description |
Boolean | true if deletion succeeded, false if timeout expired |
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.
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 "") |
Type | Description |
Boolean | true if deletion succeeded, false if timeout expired |
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.
Type | Description |
String |
getOptions()
public StorageOptions getOptions()
Returns a StorageOptions object to be used for testing.
Type | Description |
StorageOptions |