Skip to content

Commit d6f4cc9

Browse files
committed
chore: Refactor retrier creation from HttpStorageOptions to StorageOptions
1 parent e94c4e6 commit d6f4cc9

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

google-cloud-storage/src/main/java/com/google/cloud/storage/HttpStorageOptions.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
import com.google.cloud.http.HttpTransportOptions;
3333
import com.google.cloud.spi.ServiceRpcFactory;
3434
import com.google.cloud.storage.BlobWriteSessionConfig.WriterFactory;
35-
import com.google.cloud.storage.Retrying.DefaultRetrier;
36-
import com.google.cloud.storage.Retrying.HttpRetrier;
3735
import com.google.cloud.storage.Retrying.RetryingDependencies;
3836
import com.google.cloud.storage.Storage.BlobWriteOption;
3937
import com.google.cloud.storage.TransportCompatibility.Transport;
@@ -408,14 +406,7 @@ public Storage create(StorageOptions options) {
408406
}
409407
WriterFactory factory = blobWriteSessionConfig.createFactory(clock);
410408
StorageImpl storage =
411-
new StorageImpl(
412-
httpStorageOptions,
413-
factory,
414-
new HttpRetrier(
415-
new DefaultRetrier(
416-
OtelStorageDecorator.retryContextDecorator(otel),
417-
RetryingDependencies.simple(
418-
options.getClock(), options.getRetrySettings()))));
409+
new StorageImpl(httpStorageOptions, factory, options.createRetrier());
419410
return OtelStorageDecorator.decorate(storage, otel, Transport.HTTP);
420411
} catch (IOException e) {
421412
throw new IllegalStateException(

google-cloud-storage/src/main/java/com/google/cloud/storage/StorageOptions.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
import com.google.cloud.storage.HttpStorageOptions.HttpStorageDefaults;
2727
import com.google.cloud.storage.HttpStorageOptions.HttpStorageFactory;
2828
import com.google.cloud.storage.HttpStorageOptions.HttpStorageRpcFactory;
29+
import com.google.cloud.storage.Retrying.DefaultRetrier;
30+
import com.google.cloud.storage.Retrying.HttpRetrier;
31+
import com.google.cloud.storage.Retrying.Retrier;
32+
import com.google.cloud.storage.Retrying.RetryingDependencies;
2933
import com.google.cloud.storage.Storage.BlobWriteOption;
3034
import com.google.cloud.storage.TransportCompatibility.Transport;
3135
import com.google.cloud.storage.spi.StorageRpcFactory;
@@ -68,6 +72,13 @@ public abstract class StorageOptions extends ServiceOptions<Storage, StorageOpti
6872
VERSION = tmp;
6973
}
7074

75+
Retrier createRetrier() {
76+
return new HttpRetrier(
77+
new DefaultRetrier(
78+
OtelStorageDecorator.retryContextDecorator(getOpenTelemetry()),
79+
RetryingDependencies.simple(getClock(), getRetrySettings())));
80+
}
81+
7182
/**
7283
* @deprecated Use {@link HttpStorageFactory}
7384
*/

samples/snippets/src/test/java/com/example/storage/ITBucketSnippets.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
import org.junit.After;
102102
import org.junit.AfterClass;
103103
import org.junit.BeforeClass;
104+
import org.junit.Ignore;
104105
import org.junit.Rule;
105106
import org.junit.Test;
106107
import org.junit.rules.ExpectedException;
@@ -425,6 +426,7 @@ public void testAddListRemoveBucketIamMembers() throws Throwable {
425426
.build());
426427
}
427428

429+
@Ignore("This test cannot run in an environment with Public Access Prevention enforced.")
428430
@Test
429431
public void testMakeBucketPublic() throws Throwable {
430432
MakeBucketPublic.makeBucketPublic(PROJECT_ID, BUCKET);

samples/snippets/src/test/java/com/example/storage/ITObjectSnippets.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
import java.util.Random;
9393
import javax.net.ssl.HttpsURLConnection;
9494
import org.junit.Assert;
95+
import org.junit.Ignore;
9596
import org.junit.Rule;
9697
import org.junit.Test;
9798
import org.junit.rules.TemporaryFolder;
@@ -167,6 +168,7 @@ public void testDownloadObjectIntoMemory() throws IOException {
167168
assertThat(snippetOutput).contains("The contents of " + objectName);
168169
}
169170

171+
@Ignore("This test cannot run in an environment with Public Access Prevention enforced.")
170172
@Test
171173
public void testDownloadPublicObject() throws Exception {
172174
try (TemporaryBucket tmpBucket =
@@ -436,6 +438,7 @@ public void testV4SignedURLs() throws IOException {
436438
}
437439
}
438440

441+
@Ignore("This test cannot run in an environment with Public Access Prevention enforced.")
439442
@Test
440443
public void testMakeObjectPublic() {
441444
String aclBlob = generator.randomObjectName();

0 commit comments

Comments
 (0)