diff --git a/google-cloud-nio/pom.xml b/google-cloud-nio/pom.xml index 8cc3169c1e..56ece011e8 100644 --- a/google-cloud-nio/pom.xml +++ b/google-cloud-nio/pom.xml @@ -82,6 +82,13 @@ 1.3 test + + com.google.cloud + google-cloud-core + 1.94.0 + test + tests + diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageConfigurationTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageConfigurationTest.java index b71926981f..d771562332 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageConfigurationTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageConfigurationTest.java @@ -18,10 +18,12 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.net.SocketTimeoutException; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -30,6 +32,8 @@ @RunWith(JUnit4.class) public class CloudStorageConfigurationTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); + @Test public void testBuilder() { CloudStorageConfiguration config = diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributeViewTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributeViewTest.java index be601e8885..5fb915424b 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributeViewTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributeViewTest.java @@ -20,6 +20,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.testing.EqualsTester; import com.google.common.testing.NullPointerTester; import java.io.IOException; @@ -31,6 +32,7 @@ import java.nio.file.attribute.FileTime; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -38,6 +40,7 @@ /** Unit tests for {@link CloudStorageFileAttributeView}. */ @RunWith(JUnit4.class) public class CloudStorageFileAttributeViewTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private static final byte[] HAPPY = "(✿◕ ‿◕ )ノ".getBytes(UTF_8); diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributesTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributesTest.java index 041c66670f..9f0914dc08 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributesTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileAttributesTest.java @@ -21,6 +21,7 @@ import com.google.cloud.storage.Acl; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.testing.EqualsTester; import com.google.common.testing.NullPointerTester; import java.io.IOException; @@ -29,6 +30,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -36,6 +38,7 @@ /** Unit tests for {@link CloudStorageFileAttributes}. */ @RunWith(JUnit4.class) public class CloudStorageFileAttributesTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private static final byte[] HAPPY = "(✿◕ ‿◕ )ノ".getBytes(UTF_8); private static final byte[] EMPTY = "".getBytes(UTF_8); diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemProviderTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemProviderTest.java index a8b9d041de..4afce170c4 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemProviderTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemProviderTest.java @@ -28,6 +28,7 @@ import static java.nio.file.StandardOpenOption.WRITE; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.collect.ImmutableList; import com.google.common.testing.NullPointerTester; import java.io.IOException; @@ -53,6 +54,7 @@ import java.util.Map; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -60,6 +62,7 @@ /** Unit tests for {@link CloudStorageFileSystemProvider}. */ @RunWith(JUnit4.class) public class CloudStorageFileSystemProviderTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private static final List FILE_CONTENTS = ImmutableList.of( diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemTest.java index 966bf994a8..35b2e50fbd 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageFileSystemTest.java @@ -25,6 +25,7 @@ import com.google.cloud.storage.StorageOptions; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.testing.EqualsTester; import com.google.common.testing.NullPointerTester; import java.io.IOException; @@ -43,6 +44,7 @@ import java.util.List; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -50,6 +52,7 @@ /** Unit tests for {@link CloudStorageFileSystem}. */ @RunWith(JUnit4.class) public class CloudStorageFileSystemTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private static final String ALONE = "To be, or not to be, that is the question—\n" diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageLateInitializationTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageLateInitializationTest.java index 0885eb76c1..8142a31212 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageLateInitializationTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageLateInitializationTest.java @@ -24,8 +24,10 @@ import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.net.URI; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -33,6 +35,7 @@ /** Unit tests for {@link CloudStorageFileSystemProvider} late initialization. */ @RunWith(JUnit4.class) public class CloudStorageLateInitializationTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private StorageOptions mockOptions; diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageOptionsTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageOptionsTest.java index c6ce31ef6f..adda34335f 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageOptionsTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageOptionsTest.java @@ -21,6 +21,7 @@ import com.google.cloud.storage.Acl; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.testing.NullPointerTester; import java.io.IOException; import java.net.URI; @@ -28,6 +29,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -35,6 +37,7 @@ /** Unit tests for {@link CloudStorageOptions}. */ @RunWith(JUnit4.class) public class CloudStorageOptionsTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); @Before public void before() { diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStoragePathTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStoragePathTest.java index 5fb43719e3..107569cc34 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStoragePathTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStoragePathTest.java @@ -19,6 +19,7 @@ import static com.google.common.truth.Truth.assertThat; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.collect.Iterables; import com.google.common.testing.EqualsTester; import com.google.common.testing.NullPointerTester; @@ -31,6 +32,7 @@ import java.nio.file.ProviderMismatchException; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -38,6 +40,7 @@ /** Unit tests for {@link CloudStoragePath}. */ @RunWith(JUnit4.class) public class CloudStoragePathTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); @Before public void before() { diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadChannelTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadChannelTest.java index c5681366a8..7b827d2710 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadChannelTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadChannelTest.java @@ -30,6 +30,7 @@ import com.google.cloud.storage.BlobId; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageException; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.ClosedChannelException; @@ -37,6 +38,7 @@ import javax.net.ssl.SSLHandshakeException; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -45,6 +47,7 @@ /** Unit tests for {@link CloudStorageReadChannel}. */ @RunWith(JUnit4.class) public class CloudStorageReadChannelTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private CloudStorageReadChannel chan; diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadFileChannelTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadFileChannelTest.java index 2774474b2c..c6bd9ad4ef 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadFileChannelTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadFileChannelTest.java @@ -19,17 +19,21 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.SeekableByteChannel; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class CloudStorageReadFileChannelTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); + private static final class SeekableByteChannelImpl implements SeekableByteChannel { private boolean open = true; private ByteBuffer data; diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadTest.java index af84ddea01..e6e9748600 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageReadTest.java @@ -21,6 +21,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -32,6 +33,7 @@ import java.nio.file.StandardOpenOption; import java.util.Arrays; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -39,6 +41,7 @@ /** Unit tests for {@link CloudStorageFileSystem}. */ @RunWith(JUnit4.class) public class CloudStorageReadTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private static final String ALONE = "To be, or not to be, that is the question—\n" diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageRetryHandlerTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageRetryHandlerTest.java index 4df5c4dd57..a8c957d83b 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageRetryHandlerTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageRetryHandlerTest.java @@ -19,13 +19,16 @@ import static com.google.common.truth.Truth.assertThat; import com.google.cloud.storage.StorageException; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.collect.ImmutableList; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class CloudStorageRetryHandlerTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); @Test public void testIsRetryable() throws Exception { diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteChannelTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteChannelTest.java index aa388fbbac..a098e10f96 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteChannelTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteChannelTest.java @@ -26,12 +26,14 @@ import static org.mockito.Mockito.when; import com.google.cloud.WriteChannel; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.ClosedChannelException; import java.nio.channels.NonReadableChannelException; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -39,6 +41,7 @@ /** Unit tests for {@link CloudStorageWriteChannel}. */ @RunWith(JUnit4.class) public class CloudStorageWriteChannelTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private final WriteChannel gcsChannel = mock(WriteChannel.class); private final CloudStorageWriteChannel chan = new CloudStorageWriteChannel(gcsChannel); diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteFileChannelTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteFileChannelTest.java index 7dd105e74c..685efe226c 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteFileChannelTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/CloudStorageWriteFileChannelTest.java @@ -19,17 +19,21 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.SeekableByteChannel; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class CloudStorageWriteFileChannelTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); + private static final class SeekableByteChannelImpl implements SeekableByteChannel { private boolean open = true; private ByteBuffer data; diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/NIOTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/NIOTest.java index a420b85938..c1e9ba7729 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/NIOTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/NIOTest.java @@ -18,10 +18,12 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -32,6 +34,7 @@ */ @RunWith(JUnit4.class) public class NIOTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); private URI uriToCloudStorage; diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/SeekableByteChannelPrefetcherTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/SeekableByteChannelPrefetcherTest.java index 642b58c67c..ed4f130eee 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/SeekableByteChannelPrefetcherTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/SeekableByteChannelPrefetcherTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import java.io.BufferedOutputStream; import java.io.IOException; import java.nio.ByteBuffer; @@ -27,12 +28,15 @@ import java.nio.file.Path; import org.junit.AfterClass; import org.junit.BeforeClass; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class SeekableByteChannelPrefetcherTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); + // A file big enough to try seeks on. private static Path input; diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/UnixPathTest.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/UnixPathTest.java index ebf87999fe..8dd762a887 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/UnixPathTest.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/UnixPathTest.java @@ -19,9 +19,11 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.Assume.assumeTrue; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.testing.EqualsTester; import com.google.common.testing.NullPointerTester; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -29,6 +31,7 @@ /** Unit tests for {@link UnixPath}. */ @RunWith(JUnit4.class) public class UnixPathTest { + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); @Test public void testNormalize() { diff --git a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/it/ITGcsNio.java b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/it/ITGcsNio.java index 2df7856951..0554b7bb28 100644 --- a/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/it/ITGcsNio.java +++ b/google-cloud-nio/src/test/java/com/google/cloud/storage/contrib/nio/it/ITGcsNio.java @@ -40,6 +40,7 @@ import com.google.cloud.storage.contrib.nio.CloudStoragePath; import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; import com.google.cloud.storage.testing.RemoteStorageHelper; +import com.google.cloud.testing.junit4.MultipleAttemptsRule; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -73,6 +74,7 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -117,6 +119,8 @@ public class ITGcsNio { private static Storage storage; private static StorageOptions storageOptions; + @Rule public final MultipleAttemptsRule multipleAttemptsRule = new MultipleAttemptsRule(3); + private final Random rnd = new Random(); @BeforeClass