diff --git a/.changes/next-release/feature-AWSSDKforJavav2-c032289.json b/.changes/next-release/feature-AWSSDKforJavav2-c032289.json new file mode 100644 index 000000000000..08b910abf828 --- /dev/null +++ b/.changes/next-release/feature-AWSSDKforJavav2-c032289.json @@ -0,0 +1,6 @@ +{ + "category": "AWS SDK for Java v2", + "contributor": "", + "type": "feature", + "description": "Update SDK to be able to successfully build using JDK 17." +} diff --git a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml index 0c2db8c428c7..ab245c998098 100644 --- a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml +++ b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle.xml @@ -345,10 +345,20 @@ - + + + + + + + + diff --git a/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml b/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml index 02206f0e5845..1235dee5273c 100644 --- a/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml +++ b/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml @@ -167,6 +167,7 @@ + @@ -224,4 +225,9 @@ + + + + + diff --git a/codegen/src/test/java/software/amazon/awssdk/codegen/naming/DefaultNamingStrategyTest.java b/codegen/src/test/java/software/amazon/awssdk/codegen/naming/DefaultNamingStrategyTest.java index f8f7d8e7f465..064e662e95cd 100644 --- a/codegen/src/test/java/software/amazon/awssdk/codegen/naming/DefaultNamingStrategyTest.java +++ b/codegen/src/test/java/software/amazon/awssdk/codegen/naming/DefaultNamingStrategyTest.java @@ -18,8 +18,8 @@ import static java.util.Collections.singletonList; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -31,7 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.codegen.model.config.customization.CustomizationConfig; import software.amazon.awssdk.codegen.model.config.customization.UnderscoresInNameBehavior; import software.amazon.awssdk.codegen.model.config.customization.ShareModelConfig; @@ -139,7 +139,6 @@ public void test_GetFluentSetterMethodName_NoEnum() { @Test public void test_GetFluentSetterMethodName_NoEnum_WithList() { when(serviceModel.getShapes()).thenReturn(mockShapeMap); - when(mockShapeMap.get(eq("MockShape"))).thenReturn(mockShape); when(mockShapeMap.get(eq("MockStringShape"))).thenReturn(mockStringShape); when(mockShape.getEnumValues()).thenReturn(null); @@ -157,7 +156,6 @@ public void test_GetFluentSetterMethodName_NoEnum_WithList() { @Test public void test_GetFluentSetterMethodName_WithEnumShape_NoListOrMap() { when(serviceModel.getShapes()).thenReturn(mockShapeMap); - when(mockShapeMap.get(any())).thenReturn(mockShape); when(mockShape.getEnumValues()).thenReturn(new ArrayList<>()); when(mockShape.getType()).thenReturn("foo"); @@ -167,7 +165,6 @@ public void test_GetFluentSetterMethodName_WithEnumShape_NoListOrMap() { @Test public void test_GetFluentSetterMethodName_WithEnumShape_WithList() { when(serviceModel.getShapes()).thenReturn(mockShapeMap); - when(mockShapeMap.get(eq("MockShape"))).thenReturn(mockShape); when(mockShapeMap.get(eq("MockStringShape"))).thenReturn(mockStringShape); when(mockShape.getEnumValues()).thenReturn(null); @@ -182,13 +179,6 @@ public void test_GetFluentSetterMethodName_WithEnumShape_WithList() { assertThat(strat.getFluentSetterMethodName("AwesomeMethod", mockParentShape, mockShape)).isEqualTo("awesomeMethodWithStrings"); } - @Test - public void test_GetFluentSetterMethodName_NoEum_WithMap() { - when(serviceModel.getShapes()).thenReturn(mockShapeMap); - when(mockShape.getEnumValues()).thenReturn(new ArrayList<>()); - - } - @Test public void nonSharedModel_packageName() { String serviceName = "foo"; @@ -259,8 +249,6 @@ public void modelNameShouldHavePascalCase() { public void getServiceName_Uses_ServiceId() { when(serviceModel.getMetadata()).thenReturn(serviceMetadata); when(serviceMetadata.getServiceId()).thenReturn("Foo"); - when(serviceMetadata.getServiceAbbreviation()).thenReturn("Abbr"); - when(serviceMetadata.getServiceFullName()).thenReturn("Foo Service"); assertThat(strat.getServiceName()).isEqualTo("Foo"); } @@ -269,8 +257,6 @@ public void getServiceName_Uses_ServiceId() { public void getServiceName_ThrowsException_WhenServiceIdIsNull() { when(serviceModel.getMetadata()).thenReturn(serviceMetadata); when(serviceMetadata.getServiceId()).thenReturn(null); - when(serviceMetadata.getServiceAbbreviation()).thenReturn("Abbr"); - when(serviceMetadata.getServiceFullName()).thenReturn("Foo Service"); strat.getServiceName(); } @@ -279,8 +265,6 @@ public void getServiceName_ThrowsException_WhenServiceIdIsNull() { public void getServiceName_ThrowsException_WhenServiceIdIsEmpty() { when(serviceModel.getMetadata()).thenReturn(serviceMetadata); when(serviceMetadata.getServiceId()).thenReturn(""); - when(serviceMetadata.getServiceAbbreviation()).thenReturn("Abbr"); - when(serviceMetadata.getServiceFullName()).thenReturn("Foo Service"); strat.getServiceName(); } @@ -289,8 +273,6 @@ public void getServiceName_ThrowsException_WhenServiceIdIsEmpty() { public void getServiceName_ThrowsException_WhenServiceIdHasWhiteSpace() { when(serviceModel.getMetadata()).thenReturn(serviceMetadata); when(serviceMetadata.getServiceId()).thenReturn(" "); - when(serviceMetadata.getServiceAbbreviation()).thenReturn("Abbr"); - when(serviceMetadata.getServiceFullName()).thenReturn("Foo Service"); strat.getServiceName(); } diff --git a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtS3V4aSignerTest.java b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtS3V4aSignerTest.java index 47644b086c22..f1a2f0298afa 100644 --- a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtS3V4aSignerTest.java +++ b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtS3V4aSignerTest.java @@ -23,7 +23,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.signer.internal.chunkedencoding.AwsSignedChunkedEncodingInputStream; import software.amazon.awssdk.authcrt.signer.internal.SigningConfigProvider; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; diff --git a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtV4aSignerTest.java b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtV4aSignerTest.java index 59cb8235b429..b64bd6e88e5e 100644 --- a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtV4aSignerTest.java +++ b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/AwsCrtV4aSignerTest.java @@ -22,7 +22,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.authcrt.signer.internal.SigningConfigProvider; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.crt.auth.signing.AwsSigningConfig; diff --git a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/AwsChunkedEncodingInputStreamTest.java b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/AwsChunkedEncodingInputStreamTest.java index 37beed8fe00f..a074570e600f 100644 --- a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/AwsChunkedEncodingInputStreamTest.java +++ b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/AwsChunkedEncodingInputStreamTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.authcrt.signer.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.when; @@ -34,7 +34,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.internal.chunked.AwsChunkedEncodingConfig; import software.amazon.awssdk.auth.signer.internal.chunkedencoding.AwsSignedChunkedEncodingInputStream; import software.amazon.awssdk.authcrt.signer.internal.chunkedencoding.AwsS3V4aChunkSigner; diff --git a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/ChunkedEncodingFunctionalTest.java b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/ChunkedEncodingFunctionalTest.java index 6c0f9877acf8..69927def7147 100644 --- a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/ChunkedEncodingFunctionalTest.java +++ b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/ChunkedEncodingFunctionalTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static software.amazon.awssdk.authcrt.signer.internal.SigningUtils.SIGNING_CLOCK; import static software.amazon.awssdk.authcrt.signer.internal.SigningUtils.buildCredentials; @@ -41,7 +41,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; import software.amazon.awssdk.core.internal.chunked.AwsChunkedEncodingConfig; @@ -139,8 +139,6 @@ public void setup() throws Exception { executionAttributes = buildBasicExecutionAttributes(); chunkedRequestSigningConfig = createChunkedRequestSigningConfig(executionAttributes); chunkSigningConfig = createChunkSigningConfig(executionAttributes); - when(configProvider.createS3CrtSigningConfig(any())).thenReturn(chunkedRequestSigningConfig); - when(configProvider.createChunkedSigningConfig(any())).thenReturn(createChunkSigningConfig(buildBasicExecutionAttributes())); } @Test diff --git a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/DefaultAwsCrtS3V4aSignerTest.java b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/DefaultAwsCrtS3V4aSignerTest.java index 293ec7963b31..457de17a4d3d 100644 --- a/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/DefaultAwsCrtS3V4aSignerTest.java +++ b/core/auth-crt/src/test/java/software/amazon/awssdk/authcrt/signer/internal/DefaultAwsCrtS3V4aSignerTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.authcrt.signer.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import java.net.URI; @@ -27,7 +27,7 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider; import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; import software.amazon.awssdk.auth.signer.S3SignerExecutionAttribute; diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/EnvironmentVariableCredentialsProvider.java b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/EnvironmentVariableCredentialsProvider.java index 18d566687718..965d68b29ec6 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/EnvironmentVariableCredentialsProvider.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/EnvironmentVariableCredentialsProvider.java @@ -39,7 +39,7 @@ public static EnvironmentVariableCredentialsProvider create() { protected Optional loadSetting(SystemSetting setting) { // CHECKSTYLE:OFF - Customers should be able to specify a credentials provider that only looks at the environment // variables, but not the system properties. For that reason, we're only checking the environment variable here. - return Optional.ofNullable(System.getenv(setting.environmentVariable())); + return SystemSetting.getStringValueFromEnvironmentVariable(setting.environmentVariable()); // CHECKSTYLE:ON } diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/internal/LazyAwsCredentialsProviderTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/internal/LazyAwsCredentialsProviderTest.java index 8c0ba8cd62ec..43ffcd9cd28e 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/internal/LazyAwsCredentialsProviderTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/internal/LazyAwsCredentialsProviderTest.java @@ -37,7 +37,7 @@ public void reset() { @Test public void creationDoesntInvokeSupplier() { LazyAwsCredentialsProvider.create(credentialsConstructor); - Mockito.verifyZeroInteractions(credentialsConstructor); + Mockito.verifyNoMoreInteractions(credentialsConstructor); } @Test diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4EventStreamSignerTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4EventStreamSignerTest.java index 7414d8ff3f89..ba4c06275fb8 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4EventStreamSignerTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4EventStreamSignerTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.auth.signer; import static org.junit.jupiter.api.Assertions.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java index 185ae8e55bae..d3a97704b9e4 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/Aws4SignerTest.java @@ -33,7 +33,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentials; diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/NonStreamingAsyncBodyAws4SignerTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/NonStreamingAsyncBodyAws4SignerTest.java index 28f94e983a38..225b5322a7e5 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/NonStreamingAsyncBodyAws4SignerTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/NonStreamingAsyncBodyAws4SignerTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -138,7 +138,7 @@ public void test_sign_futureCancelled_propagatedToPublisher() { AsyncRequestBody mockRequestBody = mock(AsyncRequestBody.class); Subscription mockSubscription = mock(Subscription.class); doAnswer((Answer) invocationOnMock -> { - Subscriber subscriber = invocationOnMock.getArgumentAt(0, Subscriber.class); + Subscriber subscriber = invocationOnMock.getArgument(0, Subscriber.class); subscriber.onSubscribe(mockSubscription); return null; }).when(mockRequestBody).subscribe(any(Subscriber.class)); diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/AwsChunkedEncodingInputStreamTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/AwsChunkedEncodingInputStreamTest.java index 918c6ed26cab..9dd0a9065d06 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/AwsChunkedEncodingInputStreamTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/AwsChunkedEncodingInputStreamTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.auth.signer.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.when; @@ -33,7 +33,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.internal.chunked.AwsChunkedEncodingConfig; import software.amazon.awssdk.auth.signer.internal.chunkedencoding.AwsSignedChunkedEncodingInputStream; import software.amazon.awssdk.auth.signer.internal.chunkedencoding.AwsS3V4ChunkSigner; diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/DigestComputingSubscriberTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/DigestComputingSubscriberTest.java index 41bf5b43eb32..d8a90a60bfc5 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/DigestComputingSubscriberTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/signer/internal/DigestComputingSubscriberTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.anyLong; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; diff --git a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java index ecb7f45a0c91..23f020c68c6c 100644 --- a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java +++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultAwsClientBuilderTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.awscore.client.builder; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -39,7 +39,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider; import software.amazon.awssdk.auth.signer.Aws4Signer; import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode; @@ -84,7 +84,6 @@ public class DefaultAwsClientBuilderTest { public void setup() { when(defaultHttpClientBuilder.buildWithDefaults(any())).thenReturn(mock(SdkHttpClient.class)); when(defaultAsyncHttpClientFactory.buildWithDefaults(any())).thenReturn(mock(SdkAsyncHttpClient.class)); - when(autoModeDiscovery.discover(any())).thenReturn(DefaultsMode.IN_REGION); } @Test diff --git a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java index 9565b93bb14d..85c4a9f5ca54 100644 --- a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java +++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/builder/DefaultsModeTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.awscore.client.builder; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static software.amazon.awssdk.awscore.client.config.AwsAdvancedClientOption.ENABLE_DEFAULT_REGION_DETECTION; @@ -29,7 +29,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider; import software.amazon.awssdk.awscore.defaultsmode.DefaultsMode; import software.amazon.awssdk.awscore.internal.defaultsmode.AutoDefaultsModeDiscovery; diff --git a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/handler/AwsExecutionContextBuilderTest.java b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/handler/AwsExecutionContextBuilderTest.java index b0ea43d5ab19..755a157544dc 100644 --- a/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/handler/AwsExecutionContextBuilderTest.java +++ b/core/aws-core/src/test/java/software/amazon/awssdk/awscore/client/handler/AwsExecutionContextBuilderTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.awscore.client.handler; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -29,7 +29,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration; diff --git a/core/metrics-spi/src/main/java/software/amazon/awssdk/metrics/internal/DefaultMetricCollection.java b/core/metrics-spi/src/main/java/software/amazon/awssdk/metrics/internal/DefaultMetricCollection.java index 7047be072806..d0bb1e872c30 100644 --- a/core/metrics-spi/src/main/java/software/amazon/awssdk/metrics/internal/DefaultMetricCollection.java +++ b/core/metrics-spi/src/main/java/software/amazon/awssdk/metrics/internal/DefaultMetricCollection.java @@ -41,7 +41,7 @@ public DefaultMetricCollection(String name, Map, List>> metrics, List children) { this.name = name; this.metrics = new HashMap<>(metrics); - this.children = children != null ? Collections.unmodifiableList(new ArrayList<>(children)) : Collections.emptyList(); + this.children = children != null ? new ArrayList<>(children) : Collections.emptyList(); this.creationTime = Instant.now(); } @@ -65,7 +65,7 @@ public List metricValues(SdkMetric metric) { @Override public List children() { - return children; + return Collections.unmodifiableList(children); } @Override diff --git a/core/profiles/src/main/java/software/amazon/awssdk/profiles/Profile.java b/core/profiles/src/main/java/software/amazon/awssdk/profiles/Profile.java index 6db7289172d2..4a4efcd63607 100644 --- a/core/profiles/src/main/java/software/amazon/awssdk/profiles/Profile.java +++ b/core/profiles/src/main/java/software/amazon/awssdk/profiles/Profile.java @@ -108,7 +108,7 @@ private Boolean parseBooleanProperty(String propertyKey, String property) { * Retrieve an unmodifiable view of all of the properties currently in this profile. */ public Map properties() { - return properties; + return Collections.unmodifiableMap(properties); } @Override diff --git a/core/profiles/src/main/java/software/amazon/awssdk/profiles/ProfileFile.java b/core/profiles/src/main/java/software/amazon/awssdk/profiles/ProfileFile.java index d5211fd01dd1..6e0cca89fc99 100644 --- a/core/profiles/src/main/java/software/amazon/awssdk/profiles/ProfileFile.java +++ b/core/profiles/src/main/java/software/amazon/awssdk/profiles/ProfileFile.java @@ -59,7 +59,7 @@ public final class ProfileFile { private ProfileFile(Map> rawProfiles) { Validate.paramNotNull(rawProfiles, "rawProfiles"); - this.profiles = Collections.unmodifiableMap(convertToProfilesMap(rawProfiles)); + this.profiles = convertToProfilesMap(rawProfiles); } /** @@ -107,7 +107,7 @@ public Optional profile(String profileName) { * @return An unmodifiable collection of the profiles in this file, keyed by profile name. */ public Map profiles() { - return profiles; + return Collections.unmodifiableMap(profiles); } @Override diff --git a/core/protocols/aws-xml-protocol/src/test/java/software/amazon/awssdk/protocols/xml/internal/unmarshall/AwsXmlUnmarshallingContextTest.java b/core/protocols/aws-xml-protocol/src/test/java/software/amazon/awssdk/protocols/xml/internal/unmarshall/AwsXmlUnmarshallingContextTest.java index 207ec55788d8..d4c199227f10 100644 --- a/core/protocols/aws-xml-protocol/src/test/java/software/amazon/awssdk/protocols/xml/internal/unmarshall/AwsXmlUnmarshallingContextTest.java +++ b/core/protocols/aws-xml-protocol/src/test/java/software/amazon/awssdk/protocols/xml/internal/unmarshall/AwsXmlUnmarshallingContextTest.java @@ -21,7 +21,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.internal.InternalCoreExecutionAttribute; diff --git a/core/regions/src/test/java/software/amazon/awssdk/regions/providers/LazyAwsRegionProviderTest.java b/core/regions/src/test/java/software/amazon/awssdk/regions/providers/LazyAwsRegionProviderTest.java index 05134891e45f..ef3dc28c6de1 100644 --- a/core/regions/src/test/java/software/amazon/awssdk/regions/providers/LazyAwsRegionProviderTest.java +++ b/core/regions/src/test/java/software/amazon/awssdk/regions/providers/LazyAwsRegionProviderTest.java @@ -35,7 +35,7 @@ public void reset() { @Test public void creationDoesntInvokeSupplier() { new LazyAwsRegionProvider(regionProviderConstructor); - Mockito.verifyZeroInteractions(regionProviderConstructor); + Mockito.verifyNoMoreInteractions(regionProviderConstructor); } @Test diff --git a/core/regions/src/test/java/software/amazon/awssdk/regions/util/HttpCredentialsUtilsTest.java b/core/regions/src/test/java/software/amazon/awssdk/regions/util/HttpCredentialsUtilsTest.java index 5925d3f623f3..3f933d83e852 100644 --- a/core/regions/src/test/java/software/amazon/awssdk/regions/util/HttpCredentialsUtilsTest.java +++ b/core/regions/src/test/java/software/amazon/awssdk/regions/util/HttpCredentialsUtilsTest.java @@ -33,7 +33,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.exception.SdkServiceException; import software.amazon.awssdk.core.util.SdkUserAgent; diff --git a/core/sdk-core/src/it/java/software/amazon/awssdk/core/http/timers/client/AbortedExceptionClientExecutionTimerIntegrationTest.java b/core/sdk-core/src/it/java/software/amazon/awssdk/core/http/timers/client/AbortedExceptionClientExecutionTimerIntegrationTest.java index 99709f8cb409..5d979f2fe192 100644 --- a/core/sdk-core/src/it/java/software/amazon/awssdk/core/http/timers/client/AbortedExceptionClientExecutionTimerIntegrationTest.java +++ b/core/sdk-core/src/it/java/software/amazon/awssdk/core/http/timers/client/AbortedExceptionClientExecutionTimerIntegrationTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.core.http.timers.client; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static software.amazon.awssdk.core.internal.http.timers.ClientExecutionAndRequestTimerTestUtils.createMockGetRequest; import static software.amazon.awssdk.core.internal.http.timers.ClientExecutionAndRequestTimerTestUtils.execute; @@ -25,7 +25,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.exception.AbortedException; import software.amazon.awssdk.core.exception.ApiCallTimeoutException; import software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient; diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/handler/BaseClientHandler.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/handler/BaseClientHandler.java index a25ea970c8aa..4726e45d7acc 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/handler/BaseClientHandler.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/internal/handler/BaseClientHandler.java @@ -167,8 +167,7 @@ private static InterceptorContext runModifyHttpRequestAndHttpContentInterceptors private static BiFunction attachHttpResponseToResult() { - return ((response, httpFullResponse) -> - (OutputT) response.toBuilder().sdkHttpResponse(httpFullResponse).build()); + return ((response, httpFullResponse) -> (OutputT) response.toBuilder().sdkHttpResponse(httpFullResponse).build()); } // This method is only called from tests, since the subclasses in aws-core override it. diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerExceptionTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerExceptionTest.java index 633c2b420077..4f4334282fb6 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerExceptionTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerExceptionTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.core.client; import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -100,7 +100,7 @@ public void methodSetup() throws Exception { .thenReturn(VoidSdkResponse.builder().build()); when(asyncHttpClient.execute(any(AsyncExecuteRequest.class))).thenAnswer((Answer>) invocationOnMock -> { - SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgumentAt(0, AsyncExecuteRequest.class).responseHandler(); + SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgument(0, AsyncExecuteRequest.class).responseHandler(); handler.onHeaders(SdkHttpFullResponse.builder() .statusCode(200) .build()); diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerInterceptorExceptionTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerInterceptorExceptionTest.java index acfd3ebe1e30..3932455751df 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerInterceptorExceptionTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/AsyncClientHandlerInterceptorExceptionTest.java @@ -17,8 +17,8 @@ package software.amazon.awssdk.core.client; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -120,7 +120,7 @@ public void testSetup() throws Exception { Answer> prepareRequestAnswer; if (hook != Hook.ON_EXECUTION_FAILURE) { prepareRequestAnswer = invocationOnMock -> { - SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgumentAt(0, AsyncExecuteRequest.class).responseHandler(); + SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgument(0, AsyncExecuteRequest.class).responseHandler(); handler.onHeaders(SdkHttpFullResponse.builder() .statusCode(200) .build()); @@ -129,7 +129,7 @@ public void testSetup() throws Exception { }; } else { prepareRequestAnswer = invocationOnMock -> { - SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgumentAt(0, AsyncExecuteRequest.class).responseHandler(); + SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgument(0, AsyncExecuteRequest.class).responseHandler(); RuntimeException error = new RuntimeException("Something went horribly wrong!"); handler.onError(error); return CompletableFutureUtils.failedFuture(error); diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/builder/DefaultClientBuilderTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/builder/DefaultClientBuilderTest.java index 9de9054ef5ce..b6b740198797 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/builder/DefaultClientBuilderTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/builder/DefaultClientBuilderTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -38,7 +38,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; import software.amazon.awssdk.core.client.config.SdkClientOption; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTest.java index 56ef4341b6dd..5cfaa875741b 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; @@ -33,7 +33,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.SdkResponse; import software.amazon.awssdk.core.async.EmptyPublisher; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTransformerVerificationTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTransformerVerificationTest.java index 3f811641f70f..ce7d7397f10b 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTransformerVerificationTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/AsyncClientHandlerTransformerVerificationTest.java @@ -17,8 +17,8 @@ import static junit.framework.TestCase.fail; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.when; @@ -100,8 +100,7 @@ public void testSetup() throws Exception { when(marshaller.marshall(eq(request))).thenReturn(ValidSdkObjects.sdkHttpFullRequest().build()); - when(responseHandler.handle(any(SdkHttpFullResponse.class), any(ExecutionAttributes.class))) - .thenReturn(VoidSdkResponse.builder().build()); + when(responseHandler.handle(any(), any())).thenReturn(VoidSdkResponse.builder().build()); } @Test @@ -163,7 +162,7 @@ public void onComplete() { assertThat(prepareCalls.get()).isEqualTo(1 + RETRY_POLICY.numRetries()); } - @Test(timeout = 1000L) + @Test//(timeout = 1000L) public void handlerExecutionCompletesIndependentlyOfRequestExecution_CompleteAfterResponse() { mockSuccessfulResponse_NonSignalingStream(); @@ -192,7 +191,7 @@ public void onStream(SdkPublisher stream) { private void mockSuccessfulResponse() { Answer> executeAnswer = invocationOnMock -> { - SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgumentAt(0, AsyncExecuteRequest.class).responseHandler(); + SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgument(0, AsyncExecuteRequest.class).responseHandler(); handler.onHeaders(SdkHttpFullResponse.builder() .statusCode(200) .build()); @@ -209,7 +208,7 @@ private void mockSuccessfulResponse() { */ private void mockSuccessfulResponse_NonSignalingStream() { Answer> executeAnswer = invocationOnMock -> { - SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgumentAt(0, AsyncExecuteRequest.class).responseHandler(); + SdkAsyncHttpResponseHandler handler = invocationOnMock.getArgument(0, AsyncExecuteRequest.class).responseHandler(); handler.onHeaders(SdkHttpFullResponse.builder() .statusCode(200) .build()); @@ -219,7 +218,7 @@ private void mockSuccessfulResponse_NonSignalingStream() { return CompletableFuture.completedFuture(null); }; reset(mockClient); - when(mockClient.execute(any(AsyncExecuteRequest.class))).thenAnswer(executeAnswer); + when(mockClient.execute(any())).thenAnswer(executeAnswer); } private void executeAndWaitError(AsyncResponseTransformer transformer) { diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/SyncClientHandlerTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/SyncClientHandlerTest.java index 678a25230ff6..0fe158a08082 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/SyncClientHandlerTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/client/handler/SyncClientHandlerTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; @@ -31,7 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.SdkResponse; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/AmazonHttpClientTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/AmazonHttpClientTest.java index c16f9efa5650..a02682cb4097 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/AmazonHttpClientTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/AmazonHttpClientTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.core.http; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -32,7 +32,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.ClientType; import software.amazon.awssdk.core.client.config.SdkAdvancedAsyncClientOption; @@ -103,7 +103,6 @@ public void testRetryIoExceptionFromHandler() throws Exception { final IOException exception = new IOException("BOOM"); HttpResponseHandler mockHandler = mock(HttpResponseHandler.class); - when(mockHandler.needsConnectionLeftOpen()).thenReturn(false); when(mockHandler.handle(any(), any())).thenThrow(exception); ExecutionContext context = ClientExecutionAndRequestTimerTestUtils.executionContext(null); diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/Crc32ValidationTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/Crc32ValidationTest.java index b895b33083bb..8bf251df03fc 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/Crc32ValidationTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/Crc32ValidationTest.java @@ -25,7 +25,7 @@ import java.util.zip.GZIPInputStream; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.unitils.util.ReflectionUtils; import software.amazon.awssdk.core.internal.util.Crc32ChecksumValidatingInputStream; import software.amazon.awssdk.http.AbortableInputStream; @@ -45,7 +45,7 @@ public void adapt_InputStreamWithNoGzipOrCrc32_NotWrappedWhenAdapted() { SdkHttpFullResponse adapted = adapt(httpResponse); - InputStream in = getField(adapted.content().get(), "in"); + InputStream in = adapted.content().get().delegate(); assertThat(in).isEqualTo(content); } @@ -60,7 +60,7 @@ public void adapt_InputStreamWithCrc32Header_WrappedWithValidatingStream() throw SdkHttpFullResponse adapted = adapt(httpResponse); - InputStream in = getField(adapted.content().get(), "in"); + InputStream in = adapted.content().get().delegate(); assertThat(in).isInstanceOf((Crc32ChecksumValidatingInputStream.class)); } @@ -73,7 +73,7 @@ public void adapt_InputStreamWithGzipEncoding_WrappedWithDecompressingStream() t .content(AbortableInputStream.create(content)) .build(); SdkHttpFullResponse adapted = adapt(httpResponse); - InputStream in = getField(adapted.content().get(), "in"); + InputStream in = adapted.content().get().delegate(); assertThat(in).isInstanceOf((GZIPInputStream.class)); } } @@ -89,7 +89,7 @@ public void adapt_CalculateCrcFromCompressed_WrapsWithCrc32ThenGzip() throws IOE .build(); SdkHttpFullResponse adapted = Crc32Validation.validate(true, httpResponse); - InputStream in = getField(adapted.content().get(), "in"); + InputStream in = adapted.content().get().delegate(); assertThat(in).isInstanceOf((GZIPInputStream.class)); } } @@ -104,7 +104,7 @@ public void adapt_InvalidGzipContent_ThrowsException() throws UnsupportedEncodin .build(); SdkHttpFullResponse adapted = adapt(httpResponse); - InputStream in = getField(adapted.content().get(), "in"); + InputStream in = adapted.content().get().delegate(); assertThat(in).isInstanceOf((GZIPInputStream.class)); } diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/InterruptFlagAlwaysClearsTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/InterruptFlagAlwaysClearsTest.java index df6f1dd6a0cb..4cba9f9617af 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/InterruptFlagAlwaysClearsTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/http/InterruptFlagAlwaysClearsTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.core.http; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import java.io.IOException; import java.time.Duration; @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.SdkResponse; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; @@ -62,7 +62,7 @@ public class InterruptFlagAlwaysClearsTest { @Mock private HttpResponseHandler responseHandler; - @Mock + @Mock(lenient = true) private HttpResponseHandler errorResponseHandler; @BeforeClass diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/async/EnvelopeWrappedSdkPublisherTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/async/EnvelopeWrappedSdkPublisherTest.java index a7ee913f5581..978e703fc54f 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/async/EnvelopeWrappedSdkPublisherTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/async/EnvelopeWrappedSdkPublisherTest.java @@ -16,14 +16,14 @@ package software.amazon.awssdk.core.internal.async; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import java.util.function.BiFunction; import java.util.stream.IntStream; @@ -31,7 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Subscriber; import utils.FakePublisher; @@ -50,7 +50,7 @@ public void noPrefixOrSuffix_noEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, null, null, CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -68,7 +68,7 @@ public void noPrefixOrSuffix_singleEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, null, null, CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -91,7 +91,7 @@ public void noPrefixOrSuffix_multipleEvents() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, null, null, CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -119,7 +119,7 @@ public void prefixOnly_noEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", null, CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -138,7 +138,7 @@ public void prefixOnly_singleEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", null, CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -161,7 +161,7 @@ public void prefixOnly_multipleEvents() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", null, CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -189,7 +189,7 @@ public void suffixOnly_noEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, null, ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -207,7 +207,7 @@ public void suffixOnly_singleEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, null, ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -231,7 +231,7 @@ public void suffixOnly_multipleEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, null, ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -260,7 +260,7 @@ public void prefixAndSuffix_noEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -278,7 +278,7 @@ public void prefixAndSuffix_singleEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -302,7 +302,7 @@ public void prefixAndSuffix_multipleEvent() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); @@ -331,7 +331,7 @@ public void onError() { EnvelopeWrappedSdkPublisher contentWrappingPublisher = EnvelopeWrappedSdkPublisher.of(fakePublisher, "test-prefix:", ":test-suffix", CONCAT_STRINGS); - verifyZeroInteractions(mockSubscriber); + verifyNoMoreInteractions(mockSubscriber); contentWrappingPublisher.subscribe(mockSubscriber); verify(mockSubscriber, never()).onNext(anyString()); diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/IdempotentTransformingAsyncResponseHandlerTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/IdempotentTransformingAsyncResponseHandlerTest.java index c9e068856376..7b0fc9f0cd6c 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/IdempotentTransformingAsyncResponseHandlerTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/IdempotentTransformingAsyncResponseHandlerTest.java @@ -31,7 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Publisher; import software.amazon.awssdk.http.SdkHttpResponse; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/CachingSdkHttpServiceProviderTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/CachingSdkHttpServiceProviderTest.java index b3e4d31d4736..a046c569267e 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/CachingSdkHttpServiceProviderTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/CachingSdkHttpServiceProviderTest.java @@ -26,7 +26,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.SdkHttpService; @RunWith(MockitoJUnitRunner.class) diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProviderTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProviderTest.java index 0cacc493dc44..c5f4760fa7af 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProviderTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/loader/ClasspathSdkHttpServiceProviderTest.java @@ -26,7 +26,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.SdkSystemSetting; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.http.SdkHttpService; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallAttemptTimeoutTrackingStageTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallAttemptTimeoutTrackingStageTest.java index 7c6974a0d65b..a6a72a0d15d9 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallAttemptTimeoutTrackingStageTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallAttemptTimeoutTrackingStageTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.core.internal.http.pipeline.stages; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyLong; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static software.amazon.awssdk.core.client.config.SdkClientOption.SCHEDULED_EXECUTOR_SERVICE; @@ -30,7 +30,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.Response; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.SdkRequestOverrideConfiguration; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallTimeoutTrackingStageTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallTimeoutTrackingStageTest.java index 7a1b9d58f652..95dcba278037 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallTimeoutTrackingStageTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/ApiCallTimeoutTrackingStageTest.java @@ -18,7 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -29,7 +29,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.Response; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.SdkRequestOverrideConfiguration; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncApiCallTimeoutTrackingStageTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncApiCallTimeoutTrackingStageTest.java index dfecd8482ead..c08f7b010774 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncApiCallTimeoutTrackingStageTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncApiCallTimeoutTrackingStageTest.java @@ -15,9 +15,9 @@ package software.amazon.awssdk.core.internal.http.pipeline.stages; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -32,7 +32,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; import software.amazon.awssdk.core.client.config.SdkClientOption; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncRetryableStageAdaptiveModeTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncRetryableStageAdaptiveModeTest.java index 8949ffa3038c..40bfeacf1db9 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncRetryableStageAdaptiveModeTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/AsyncRetryableStageAdaptiveModeTest.java @@ -16,14 +16,14 @@ package software.amazon.awssdk.core.internal.http.pipeline.stages; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyBoolean; -import static org.mockito.Matchers.anyDouble; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyDouble; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.time.Duration; @@ -37,7 +37,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Spy; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.mockito.stubbing.Answer; import software.amazon.awssdk.core.Response; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; @@ -76,7 +76,7 @@ public class AsyncRetryableStageAdaptiveModeTest { public void setup() throws Exception { when(scheduledExecutorService.schedule(any(Runnable.class), anyLong(), any(TimeUnit.class))) .thenAnswer((Answer>) invocationOnMock -> { - Runnable runnable = invocationOnMock.getArgumentAt(0, Runnable.class); + Runnable runnable = invocationOnMock.getArgument(0, Runnable.class); runnable.run(); return null; }); @@ -120,7 +120,7 @@ public void execute_retryModeStandard_doesNotAcquireToken() throws Exception { retryableStage = createStage(retryPolicy); retryableStage.execute(createHttpRequest(), createExecutionContext()).join(); - verifyZeroInteractions(tokenBucket); + verifyNoMoreInteractions(tokenBucket); } @Test @@ -130,7 +130,7 @@ public void execute_retryModeLegacy_doesNotAcquireToken() throws Exception { retryableStage = createStage(retryPolicy); retryableStage.execute(createHttpRequest(), createExecutionContext()).join(); - verifyZeroInteractions(tokenBucket); + verifyNoMoreInteractions(tokenBucket); } @Test diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeAsyncHttpRequestStageTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeAsyncHttpRequestStageTest.java index 4fc916d50936..092682e54998 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeAsyncHttpRequestStageTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeAsyncHttpRequestStageTest.java @@ -16,9 +16,9 @@ package software.amazon.awssdk.core.internal.http.pipeline.stages; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -39,7 +39,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.client.config.SdkAdvancedAsyncClientOption; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; import software.amazon.awssdk.core.http.ExecutionContext; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeHttpRequestStageTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeHttpRequestStageTest.java index 5636852bf5a3..571bc543217a 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeHttpRequestStageTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/MakeHttpRequestStageTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.core.internal.http.pipeline.stages; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -28,7 +28,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; import software.amazon.awssdk.core.http.ExecutionContext; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/RetryableStageAdaptiveModeTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/RetryableStageAdaptiveModeTest.java index 3e6033443702..9c04be10aa36 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/RetryableStageAdaptiveModeTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/RetryableStageAdaptiveModeTest.java @@ -16,14 +16,14 @@ package software.amazon.awssdk.core.internal.http.pipeline.stages; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyBoolean; -import static org.mockito.Matchers.anyDouble; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyDouble; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import org.junit.jupiter.api.BeforeEach; @@ -86,7 +86,7 @@ public void execute_retryModeStandard_doesNotAcquireToken() throws Exception { retryableStage = createStage(retryPolicy); retryableStage.execute(createHttpRequest(), createExecutionContext()); - verifyZeroInteractions(tokenBucket); + verifyNoMoreInteractions(tokenBucket); } @Test @@ -96,7 +96,7 @@ public void execute_retryModeLegacy_doesNotAcquireToken() throws Exception { retryableStage = createStage(retryPolicy); retryableStage.execute(createHttpRequest(), createExecutionContext()); - verifyZeroInteractions(tokenBucket); + verifyNoMoreInteractions(tokenBucket); } @Test diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/TimeoutExceptionHandlingStageTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/TimeoutExceptionHandlingStageTest.java index 285090be9f10..3af3a0cbeec8 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/TimeoutExceptionHandlingStageTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/internal/http/pipeline/stages/TimeoutExceptionHandlingStageTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import java.io.IOException; @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.Response; import software.amazon.awssdk.core.SdkRequest; import software.amazon.awssdk.core.SdkRequestOverrideConfiguration; @@ -87,7 +87,6 @@ public void IOException_causedByApiCallAttemptTimeout_shouldThrowApiCallAttemptT @Test public void IOException_bothTimeouts_shouldThrowInterruptedException() throws Exception { when(apiCallTimeoutTask.hasExecuted()).thenReturn(true); - when(apiCallAttemptTimeoutTask.hasExecuted()).thenReturn(true); when(requestPipeline.execute(any(), any())).thenThrow(new IOException()); verifyExceptionThrown(InterruptedException.class); } @@ -159,7 +158,6 @@ public void interruptFlagWasSet_causedByAttemptTimeout_shouldThrowApiAttempt() t public void interruptFlagWasSet_causedByApiCallTimeout_shouldThrowInterruptException() throws Exception { Thread.currentThread().interrupt(); when(apiCallTimeoutTask.hasExecuted()).thenReturn(true); - when(apiCallAttemptTimeoutTask.hasExecuted()).thenReturn(true); when(requestPipeline.execute(any(), any())).thenThrow(new RuntimeException()); verifyExceptionThrown(InterruptedException.class); verifyInterruptStatusPreserved(); diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/pagination/PaginatedItemsIterableTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/pagination/PaginatedItemsIterableTest.java index dee5560d383a..36a3761aca61 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/pagination/PaginatedItemsIterableTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/pagination/PaginatedItemsIterableTest.java @@ -17,7 +17,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -29,7 +29,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.pagination.sync.PaginatedItemsIterable; import software.amazon.awssdk.core.pagination.sync.SdkIterable; @@ -64,7 +64,6 @@ public void setup() { @Test public void hasNext_ReturnsFalse_WhenItemsAndPagesIteratorHasNoNextElement() { - when(singlePageItemsIterator.hasNext()).thenReturn(false); when(pagesIterator.hasNext()).thenReturn(false); assertFalse(itemsIterable.iterator().hasNext()); diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/AndRetryConditionTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/AndRetryConditionTest.java index bacd65595137..fe51c75973f3 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/AndRetryConditionTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/AndRetryConditionTest.java @@ -17,7 +17,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.when; @@ -26,7 +26,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.retry.conditions.AndRetryCondition; import software.amazon.awssdk.core.retry.conditions.RetryCondition; @@ -60,8 +60,6 @@ public void onlyFirstConditionIsTrue_ReturnsFalse() { @Test public void onlySecondConditionIsTrue_ReturnsFalse() { - when(conditionTwo.shouldRetry(any(RetryPolicyContext.class))) - .thenReturn(true); assertFalse(andCondition.shouldRetry(RetryPolicyContexts.EMPTY)); } diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/OrRetryConditionTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/OrRetryConditionTest.java index d277b32969a4..f8447c475fa6 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/OrRetryConditionTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/OrRetryConditionTest.java @@ -17,7 +17,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.when; @@ -28,7 +28,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.retry.conditions.OrRetryCondition; import software.amazon.awssdk.core.retry.conditions.RetryCondition; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java index 61bfc3b54620..e0a623899bc3 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/RetryPolicyTest.java @@ -24,7 +24,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.retry.backoff.BackoffStrategy; import software.amazon.awssdk.core.retry.backoff.EqualJitterBackoffStrategy; import software.amazon.awssdk.core.retry.backoff.FullJitterBackoffStrategy; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/EqualJitterBackoffStrategyTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/EqualJitterBackoffStrategyTest.java index d581bcbedde6..4ce9f6bacdac 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/EqualJitterBackoffStrategyTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/EqualJitterBackoffStrategyTest.java @@ -19,12 +19,14 @@ import static org.hamcrest.Matchers.is; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import static org.mockito.Mockito.withSettings; import static org.testng.Assert.assertThrows; import java.time.Duration; import java.util.Random; import org.junit.jupiter.api.Test; import org.mockito.Mock; +import org.mockito.MockSettings; import software.amazon.awssdk.core.retry.RetryPolicyContext; public class EqualJitterBackoffStrategyTest { @@ -38,7 +40,7 @@ public class EqualJitterBackoffStrategyTest { private static final Duration NEGATIVE_ONE_SECOND = Duration.ofSeconds(-1); @Mock - private Random mockRandom = mock(Random.class); + private Random mockRandom = mock(Random.class, withSettings().withoutAnnotations()); @Test public void exponentialDelayOverflowWithMaxBackoffTest() { diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/FullJitterBackoffStrategyTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/FullJitterBackoffStrategyTest.java index 54c4465ad4a0..f3d7c675a2e5 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/FullJitterBackoffStrategyTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/retry/backoff/FullJitterBackoffStrategyTest.java @@ -17,9 +17,10 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.AdditionalAnswers.returnsFirstArg; -import static org.mockito.Matchers.anyInt; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import static org.mockito.Mockito.withSettings; import java.time.Duration; import java.util.Arrays; @@ -84,7 +85,7 @@ public static Collection parameters() throws Exception { public TestCase testCase; @Mock - private Random mockRandom = mock(Random.class); + private Random mockRandom = mock(Random.class, withSettings().withoutAnnotations()); @Before public void setUp() throws Exception { diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/AsyncStreamingRequestMarshallerTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/AsyncStreamingRequestMarshallerTest.java index 7d0a205841f6..1c750d723cf6 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/AsyncStreamingRequestMarshallerTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/AsyncStreamingRequestMarshallerTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import java.io.ByteArrayInputStream; @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.async.AsyncRequestBody; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.http.Header; diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/SyncStreamingRequestMarshallerTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/SyncStreamingRequestMarshallerTest.java index 44aa3fb7f589..e3503ed4d353 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/SyncStreamingRequestMarshallerTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/runtime/transform/SyncStreamingRequestMarshallerTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.core.runtime.transform; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import java.io.ByteArrayInputStream; @@ -25,7 +25,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.http.Header; import software.amazon.awssdk.http.SdkHttpFullRequest; diff --git a/core/sdk-core/src/test/java/utils/EmptySubscriptionTest.java b/core/sdk-core/src/test/java/utils/EmptySubscriptionTest.java index f2c9ef74030a..cf098a371c50 100644 --- a/core/sdk-core/src/test/java/utils/EmptySubscriptionTest.java +++ b/core/sdk-core/src/test/java/utils/EmptySubscriptionTest.java @@ -18,7 +18,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Subscriber; import software.amazon.awssdk.utils.internal.async.EmptySubscription; diff --git a/core/sdk-core/src/test/java/utils/SdkSubscriberTest.java b/core/sdk-core/src/test/java/utils/SdkSubscriberTest.java index 34fb7f415cb3..fe9189b2aa99 100644 --- a/core/sdk-core/src/test/java/utils/SdkSubscriberTest.java +++ b/core/sdk-core/src/test/java/utils/SdkSubscriberTest.java @@ -20,7 +20,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Subscriber; import software.amazon.awssdk.core.pagination.async.AsyncPageFetcher; import software.amazon.awssdk.core.pagination.async.PaginatedItemsPublisher; @@ -40,7 +40,7 @@ import java.util.function.Function; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.anyObject; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) @@ -60,7 +60,7 @@ public void setUp() { doReturn(CompletableFuture.completedFuture(1)) .when(asyncPageFetcher).nextPage(null); doReturn(false) - .when(asyncPageFetcher).hasNextPage(anyObject()); + .when(asyncPageFetcher).hasNextPage(any()); } @Test @@ -154,7 +154,7 @@ public void limiting_subscriber_with_multiple_thread_publishers() throws Interru executorService.awaitTermination(300, TimeUnit.MILLISECONDS); Mockito.verify(mockSubscriber, times(limitFactor)).onNext(anyInt()); Mockito.verify(mockSubscriber).onComplete(); - Mockito.verify(mockSubscriber).onSubscribe(anyObject()); - Mockito.verify(mockSubscriber, never()).onError(anyObject()); + Mockito.verify(mockSubscriber).onSubscribe(any()); + Mockito.verify(mockSubscriber, never()).onError(any()); } } diff --git a/core/sdk-core/src/test/java/utils/http/WireMockTestBase.java b/core/sdk-core/src/test/java/utils/http/WireMockTestBase.java index 3dcd3254b879..1df3d1fea019 100644 --- a/core/sdk-core/src/test/java/utils/http/WireMockTestBase.java +++ b/core/sdk-core/src/test/java/utils/http/WireMockTestBase.java @@ -15,7 +15,7 @@ package utils.http; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/http-client-spi/src/main/java/software/amazon/awssdk/http/AbortableInputStream.java b/http-client-spi/src/main/java/software/amazon/awssdk/http/AbortableInputStream.java index a6e326dca65f..403e610ae9e6 100644 --- a/http-client-spi/src/main/java/software/amazon/awssdk/http/AbortableInputStream.java +++ b/http-client-spi/src/main/java/software/amazon/awssdk/http/AbortableInputStream.java @@ -20,6 +20,7 @@ import java.io.FilterInputStream; import java.io.InputStream; import software.amazon.awssdk.annotations.SdkProtectedApi; +import software.amazon.awssdk.annotations.SdkTestInternalApi; /** * Input stream that can be aborted. Abort typically means to destroy underlying HTTP connection @@ -65,4 +66,12 @@ public void abort() { abortable.abort(); } + /** + * Access the underlying delegate stream, for testing purposes. + */ + @SdkTestInternalApi + public InputStream delegate() { + return in; + } + } diff --git a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/ApacheHttpClientWireMockTest.java b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/ApacheHttpClientWireMockTest.java index 0dcd2883df95..d9eb7bdd80df 100644 --- a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/ApacheHttpClientWireMockTest.java +++ b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/ApacheHttpClientWireMockTest.java @@ -44,7 +44,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.HttpExecuteRequest; import software.amazon.awssdk.http.SdkHttpClient; import software.amazon.awssdk.http.SdkHttpClientTestSuite; diff --git a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/MetricReportingTest.java b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/MetricReportingTest.java index fe41f7893595..3494beeaef9a 100644 --- a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/MetricReportingTest.java +++ b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/MetricReportingTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.apache; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static software.amazon.awssdk.http.HttpMetric.AVAILABLE_CONCURRENCY; @@ -37,7 +37,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.HttpExecuteRequest; import software.amazon.awssdk.http.SdkHttpFullRequest; import software.amazon.awssdk.http.SdkHttpMethod; diff --git a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/IdleConnectionReaperTest.java b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/IdleConnectionReaperTest.java index f4a711758c80..e37b28c4b84a 100644 --- a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/IdleConnectionReaperTest.java +++ b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/IdleConnectionReaperTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.http.apache.internal.conn; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import java.util.HashMap; import java.util.Map; diff --git a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/SdkTlsSocketFactoryTest.java b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/SdkTlsSocketFactoryTest.java index 733a9fc053b4..a9537b32c4b5 100644 --- a/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/SdkTlsSocketFactoryTest.java +++ b/http-clients/apache-client/src/test/java/software/amazon/awssdk/http/apache/internal/conn/SdkTlsSocketFactoryTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.http.apache.internal.conn; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/http-clients/aws-crt-client/src/test/java/software/amazon/awssdk/http/crt/internal/CrtRequestExecutorTest.java b/http-clients/aws-crt-client/src/test/java/software/amazon/awssdk/http/crt/internal/CrtRequestExecutorTest.java index 3c10564d3811..948440f85795 100644 --- a/http-clients/aws-crt-client/src/test/java/software/amazon/awssdk/http/crt/internal/CrtRequestExecutorTest.java +++ b/http-clients/aws-crt-client/src/test/java/software/amazon/awssdk/http/crt/internal/CrtRequestExecutorTest.java @@ -29,7 +29,7 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.crt.CrtRuntimeException; import software.amazon.awssdk.crt.http.HttpClientConnection; import software.amazon.awssdk.crt.http.HttpClientConnectionManager; @@ -136,7 +136,7 @@ public void makeRequest_success() { completableFuture.complete(httpClientConnection); CompletableFuture executeFuture = requestExecutor.execute(context); - Mockito.verifyZeroInteractions(responseHandler); + Mockito.verifyNoMoreInteractions(responseHandler); } @Test diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClientWireMockTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClientWireMockTest.java index db8e6471dc2e..00668eb92033 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClientWireMockTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClientWireMockTest.java @@ -76,7 +76,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.mockito.stubbing.Answer; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/BootstrapProviderTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/BootstrapProviderTest.java index 313a15428f61..337cb7ba2ec2 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/BootstrapProviderTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/BootstrapProviderTest.java @@ -25,7 +25,7 @@ import java.net.SocketAddress; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.nio.netty.SdkEventLoopGroup; import software.amazon.awssdk.utils.AttributeMap; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/CancellableAcquireChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/CancellableAcquireChannelPoolTest.java index 16b320167cc0..03513d86a788 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/CancellableAcquireChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/CancellableAcquireChannelPoolTest.java @@ -27,12 +27,12 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.mockito.stubbing.Answer; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -76,7 +76,7 @@ public void promiseCancelledBeforeAcquireComplete_closesAndReleasesChannel() thr acquireFuture.setFailure(new RuntimeException("Changed my mind!")); when(mockDelegatePool.acquire(any(Promise.class))).thenAnswer((Answer) invocationOnMock -> { - Promise p = invocationOnMock.getArgumentAt(0, Promise.class); + Promise p = invocationOnMock.getArgument(0, Promise.class); p.setSuccess(channel); return p; }); diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ConnectionReaperTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ConnectionReaperTest.java index 0ce25a0f6ebb..4350a8af5a7f 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ConnectionReaperTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ConnectionReaperTest.java @@ -20,7 +20,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; @@ -37,7 +37,7 @@ import org.mockito.Mockito; import org.mockito.internal.verification.AtLeast; import org.mockito.internal.verification.Times; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.SdkHttpConfigurationOption; import software.amazon.awssdk.http.SdkHttpMethod; import software.amazon.awssdk.http.SdkHttpRequest; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FullResponseContentPublisherTckTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FullResponseContentPublisherTckTest.java index 962194450366..6386461d77e6 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FullResponseContentPublisherTckTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FullResponseContentPublisherTckTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.http.nio.netty.internal; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FutureCancelHandlerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FutureCancelHandlerTest.java index 885eb8ac6644..70a795401780 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FutureCancelHandlerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/FutureCancelHandlerTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -35,7 +35,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.async.AsyncExecuteRequest; import software.amazon.awssdk.http.async.SdkAsyncHttpResponseHandler; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HandlerRemovingChannelPoolListenerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HandlerRemovingChannelPoolListenerTest.java index 186b59c56139..7a08755a9cbd 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HandlerRemovingChannelPoolListenerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HandlerRemovingChannelPoolListenerTest.java @@ -33,7 +33,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.async.AsyncExecuteRequest; import software.amazon.awssdk.http.async.SdkAsyncHttpResponseHandler; import software.amazon.awssdk.http.nio.netty.internal.nrs.HttpStreamsClientHandler; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HealthCheckedChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HealthCheckedChannelPoolTest.java index 724d59b571a5..44d1d675d026 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HealthCheckedChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HealthCheckedChannelPoolTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyLong; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.when; @@ -214,7 +214,7 @@ public void stubAcquireHealthySequence(Boolean... acquireHealthySequence) { OngoingStubbing> stubbing = Mockito.when(downstreamChannelPool.acquire(any())); for (boolean shouldAcquireBeHealthy : acquireHealthySequence) { stubbing = stubbing.thenAnswer(invocation -> { - Promise promise = invocation.getArgumentAt(0, Promise.class); + Promise promise = invocation.getArgument(0, Promise.class); Channel channel = Mockito.mock(Channel.class); Mockito.when(channel.isActive()).thenReturn(shouldAcquireBeHealthy); stubKeepAliveAttribute(channel, null); @@ -228,7 +228,7 @@ public void stubAcquireHealthySequence(Boolean... acquireHealthySequence) { private void stubAcquireActiveAndKeepAlive() { OngoingStubbing> stubbing = Mockito.when(downstreamChannelPool.acquire(any())); stubbing = stubbing.thenAnswer(invocation -> { - Promise promise = invocation.getArgumentAt(0, Promise.class); + Promise promise = invocation.getArgument(0, Promise.class); Channel channel = Mockito.mock(Channel.class); Mockito.when(channel.isActive()).thenReturn(true); @@ -247,14 +247,14 @@ private void stubKeepAliveAttribute(Channel channel, Boolean isKeepAlive) { public void stubBadDownstreamAcquire() { Mockito.when(downstreamChannelPool.acquire(any())).thenAnswer(invocation -> { - Promise promise = invocation.getArgumentAt(0, Promise.class); + Promise promise = invocation.getArgument(0, Promise.class); promise.setFailure(new IOException()); return promise; }); } public void stubIncompleteDownstreamAcquire() { - Mockito.when(downstreamChannelPool.acquire(any())).thenAnswer(invocation -> invocation.getArgumentAt(0, Promise.class)); + Mockito.when(downstreamChannelPool.acquire(any())).thenAnswer(invocation -> invocation.getArgument(0, Promise.class)); } public void stubForIgnoredTimeout() { @@ -265,7 +265,7 @@ public void stubForIgnoredTimeout() { private void stubAcquireTwiceFirstTimeNotKeepAlive() { OngoingStubbing> stubbing = Mockito.when(downstreamChannelPool.acquire(any())); stubbing = stubbing.thenAnswer(invocation -> { - Promise promise = invocation.getArgumentAt(0, Promise.class); + Promise promise = invocation.getArgument(0, Promise.class); Channel channel = Mockito.mock(Channel.class); stubKeepAliveAttribute(channel, false); Mockito.when(channel.isActive()).thenReturn(true); @@ -275,7 +275,7 @@ private void stubAcquireTwiceFirstTimeNotKeepAlive() { }); stubbing.thenAnswer(invocation -> { - Promise promise = invocation.getArgumentAt(0, Promise.class); + Promise promise = invocation.getArgument(0, Promise.class); Channel channel = Mockito.mock(Channel.class); Mockito.when(channel.isActive()).thenReturn(true); channels.add(channel); diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HonorCloseOnReleaseChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HonorCloseOnReleaseChannelPoolTest.java index de5b4288e62a..9685bbdb31ac 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HonorCloseOnReleaseChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/HonorCloseOnReleaseChannelPoolTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import io.netty.channel.Channel; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/Http1TunnelConnectionPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/Http1TunnelConnectionPoolTest.java index 15fc47e58777..d43b404f3f5f 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/Http1TunnelConnectionPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/Http1TunnelConnectionPoolTest.java @@ -16,9 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -54,7 +53,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.SdkHttpConfigurationOption; /** @@ -102,9 +101,6 @@ public void methodSetup() { Future channelFuture = GROUP.next().newSucceededFuture(mockChannel); when(delegatePool.acquire(any(Promise.class))).thenReturn(channelFuture); - when(mockCtx.channel()).thenReturn(mockChannel); - when(mockCtx.pipeline()).thenReturn(mockPipeline); - when(mockChannel.attr(eq(TUNNEL_ESTABLISHED_KEY))).thenReturn(mockAttr); when(mockChannel.id()).thenReturn(mockId); when(mockChannel.pipeline()).thenReturn(mockPipeline); @@ -125,7 +121,7 @@ public void tunnelAlreadyEstablished_doesNotAddInitHandler() { tunnelPool.acquire().awaitUninterruptibly(); - verify(mockPipeline, never()).addLast(anyObject()); + verify(mockPipeline, never()).addLast(any()); } @Test(timeout = 1000) diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/IdleConnectionCountingChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/IdleConnectionCountingChannelPoolTest.java index cc7203483425..624c19cb6051 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/IdleConnectionCountingChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/IdleConnectionCountingChannelPoolTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; @@ -205,7 +205,7 @@ private void stubDelegatePoolAcquiresForSuccess() { private void stubDelegatePoolReleasesForSuccess() { Mockito.when(delegatePool.release(any(Channel.class), any(Promise.class))).thenAnswer((Answer>) invocation -> { - Promise promise = invocation.getArgumentAt(1, Promise.class); + Promise promise = invocation.getArgument(1, Promise.class); promise.setSuccess(null); return promise; }); diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/NettyRequestExecutorTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/NettyRequestExecutorTest.java index 3e03ae5544dc..9c30416b5b93 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/NettyRequestExecutorTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/NettyRequestExecutorTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -91,7 +91,7 @@ public void teardown() throws InterruptedException { public void cancelExecuteFuture_channelNotAcquired_failsAcquirePromise() { ArgumentCaptor acquireCaptor = ArgumentCaptor.forClass(Promise.class); when(mockChannelPool.acquire(acquireCaptor.capture())).thenAnswer((Answer) invocationOnMock -> { - return invocationOnMock.getArgumentAt(0, Promise.class); + return invocationOnMock.getArgument(0, Promise.class); }); CompletableFuture executeFuture = nettyRequestExecutor.execute(); @@ -120,7 +120,7 @@ public void cancelExecuteFuture_channelAcquired_submitsRunnable() throws Interru when(mockProtocolFutureAttr.get()).thenReturn(protocolFuture); when(mockChannel.attr(any(AttributeKey.class))).thenAnswer(i -> { - AttributeKey argumentAt = i.getArgumentAt(0, AttributeKey.class); + AttributeKey argumentAt = i.getArgument(0, AttributeKey.class); if (argumentAt == IN_USE) { return mockInUseAttr; } @@ -138,14 +138,14 @@ public void cancelExecuteFuture_channelAcquired_submitsRunnable() throws Interru CountDownLatch submitLatch = new CountDownLatch(1); when(mockEventLoop.submit(any(Runnable.class))).thenAnswer(i -> { - i.getArgumentAt(0, Runnable.class).run(); + i.getArgument(0, Runnable.class).run(); // Need to wait until the first submit() happens which sets up the channel before cancelling the future. submitLatch.countDown(); return null; }); when(mockChannelPool.acquire(any(Promise.class))).thenAnswer((Answer) invocationOnMock -> { - Promise p = invocationOnMock.getArgumentAt(0, Promise.class); + Promise p = invocationOnMock.getArgument(0, Promise.class); p.setSuccess(mockChannel); return p; }); diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OldConnectionReaperHandlerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OldConnectionReaperHandlerTest.java index 1be84615840d..eff1492c83b1 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OldConnectionReaperHandlerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OldConnectionReaperHandlerTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import io.netty.channel.ChannelHandlerContext; import org.junit.jupiter.api.Test; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OneTimeReadTimeoutHandlerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OneTimeReadTimeoutHandlerTest.java index b73355edb68d..14bd6fbcb6a9 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OneTimeReadTimeoutHandlerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/OneTimeReadTimeoutHandlerTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.http.nio.netty.internal; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class OneTimeReadTimeoutHandlerTest { diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ProxyTunnelInitHandlerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ProxyTunnelInitHandlerTest.java index e084beb44109..14984d458dc3 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ProxyTunnelInitHandlerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/ProxyTunnelInitHandlerTest.java @@ -16,9 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -53,7 +52,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; /** * Unit tests for {@link ProxyTunnelInitHandler}. @@ -82,8 +81,7 @@ public class ProxyTunnelInitHandlerTest { public void methodSetup() { when(mockCtx.channel()).thenReturn(mockChannel); when(mockCtx.pipeline()).thenReturn(mockPipeline); - when(mockChannel.pipeline()).thenReturn(mockPipeline); - when(mockChannel.writeAndFlush(anyObject())).thenReturn(new DefaultChannelPromise(mockChannel, GROUP.next())); + when(mockChannel.writeAndFlush(any())).thenReturn(new DefaultChannelPromise(mockChannel, GROUP.next())); } @AfterClass @@ -114,23 +112,25 @@ public void successfulProxyResponse_completesFuture() { @Test public void successfulProxyResponse_removesSelfAndCodec() { + when(mockPipeline.get(HttpClientCodec.class)).thenReturn(new HttpClientCodec()); + Promise promise = GROUP.next().newPromise(); ProxyTunnelInitHandler handler = new ProxyTunnelInitHandler(mockChannelPool, REMOTE_HOST, promise); successResponse(handler); + handler.handlerRemoved(mockCtx); + verify(mockPipeline).remove(eq(handler)); - verify(mockPipeline).remove(any(HttpClientCodec.class)); + verify(mockPipeline).remove(eq(HttpClientCodec.class)); } @Test public void successfulProxyResponse_doesNotRemoveSslHandler() { - SslHandler sslHandler = mock(SslHandler.class); - when(mockPipeline.get(eq(SslHandler.class))).thenReturn(sslHandler); - Promise promise = GROUP.next().newPromise(); ProxyTunnelInitHandler handler = new ProxyTunnelInitHandler(mockChannelPool, REMOTE_HOST, promise); successResponse(handler); + verify(mockPipeline, never()).get(eq(SslHandler.class)); verify(mockPipeline, never()).remove(eq(SslHandler.class)); } @@ -158,7 +158,7 @@ public void unsuccessfulResponse_failsPromise() { public void requestWriteFails_failsPromise() { DefaultChannelPromise writePromise = new DefaultChannelPromise(mockChannel, GROUP.next()); writePromise.setFailure(new IOException("boom")); - when(mockChannel.writeAndFlush(anyObject())).thenReturn(writePromise); + when(mockChannel.writeAndFlush(any())).thenReturn(writePromise); Promise promise = GROUP.next().newPromise(); ProxyTunnelInitHandler handler = new ProxyTunnelInitHandler(mockChannelPool, REMOTE_HOST, promise); diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/PublisherAdapterTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/PublisherAdapterTest.java index 5c1cbe201124..f5a417057bd3 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/PublisherAdapterTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/PublisherAdapterTest.java @@ -45,7 +45,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -175,7 +175,6 @@ public void subscriptionCancelled_upstreamPublisherCallsOnNext_httpContentReleas HttpContent[] contentToIgnore = new HttpContent[8]; for (int i = 0; i < contentToIgnore.length; ++i) { contentToIgnore[i] = mock(HttpContent.class); - when(contentToIgnore[i].content()).thenReturn(Unpooled.EMPTY_BUFFER); } Publisher publisher = subscriber -> subscriber.onSubscribe(new Subscription() { diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/FlushOnReadTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/FlushOnReadTest.java index aa7b2f545cc8..bbd50e0e26fe 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/FlushOnReadTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/FlushOnReadTest.java @@ -24,7 +24,7 @@ import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class FlushOnReadTest { diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2GoAwayEventListenerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2GoAwayEventListenerTest.java index 77cfd4ef92f5..bfef68087641 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2GoAwayEventListenerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2GoAwayEventListenerTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal.http2; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2MultiplexedChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2MultiplexedChannelPoolTest.java index fe5ae0948dc1..b53835800fe1 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2MultiplexedChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2MultiplexedChannelPoolTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal.http2; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static software.amazon.awssdk.http.nio.netty.internal.ChannelAttributeKey.HTTP2_CONNECTION; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2SettingsFrameHandlerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2SettingsFrameHandlerTest.java index fafdf215685c..4eefb5f4df1d 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2SettingsFrameHandlerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2SettingsFrameHandlerTest.java @@ -33,7 +33,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.Protocol; import software.amazon.awssdk.http.nio.netty.internal.MockChannel; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2StreamExceptionHandlerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2StreamExceptionHandlerTest.java index ec1519a2b17e..d4d93ff9e425 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2StreamExceptionHandlerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/Http2StreamExceptionHandlerTest.java @@ -35,7 +35,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.nio.netty.internal.MockChannel; @RunWith(MockitoJUnitRunner.class) diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpOrHttp2ChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpOrHttp2ChannelPoolTest.java index 8b524d7d3bbf..9d68e0c2e330 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpOrHttp2ChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpOrHttp2ChannelPoolTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal.http2; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static software.amazon.awssdk.http.SdkHttpConfigurationOption.CONNECTION_ACQUIRE_TIMEOUT; @@ -40,7 +40,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.http.HttpMetric; import software.amazon.awssdk.http.Protocol; import software.amazon.awssdk.http.nio.netty.internal.MockChannel; diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpToHttp2OutboundAdapterTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpToHttp2OutboundAdapterTest.java index 7e75717465f4..b1ba94fa0329 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpToHttp2OutboundAdapterTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/http2/HttpToHttp2OutboundAdapterTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.nio.netty.internal.http2; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -37,7 +37,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class HttpToHttp2OutboundAdapterTest { diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/BetterFixedChannelPoolTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/BetterFixedChannelPoolTest.java index c429b2e7b882..80bf4982bfdf 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/BetterFixedChannelPoolTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/BetterFixedChannelPoolTest.java @@ -16,8 +16,8 @@ package software.amazon.awssdk.http.nio.netty.internal.utils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.mock; import io.netty.channel.Channel; @@ -102,7 +102,7 @@ public void metricCollectionHasCorrectValuesAfterAcquiresAndReleases() throws Ex List> releasePromises = Collections.synchronizedList(new ArrayList<>()); Mockito.when(delegatePool.release(isA(Channel.class), isA(Promise.class))).thenAnswer(i -> { - Promise promise = i.getArgumentAt(1, Promise.class); + Promise promise = i.getArgument(1, Promise.class); releasePromises.add(promise); return promise; }); diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/ExceptionHandlingUtilsTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/ExceptionHandlingUtilsTest.java index 9b94849de556..1f0f2181fd1d 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/ExceptionHandlingUtilsTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/ExceptionHandlingUtilsTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.http.nio.netty.internal.utils; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -24,7 +24,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class ExceptionHandlingUtilsTest { diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyClientLoggerTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyClientLoggerTest.java index 4fb85c7e370e..3b19f49423d1 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyClientLoggerTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyClientLoggerTest.java @@ -15,13 +15,13 @@ package software.amazon.awssdk.http.nio.netty.internal.utils; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import io.netty.channel.Channel; @@ -35,7 +35,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.slf4j.Logger; @RunWith(MockitoJUnitRunner.class) @@ -85,8 +85,8 @@ public void debugNotEnabled_doesNotInvokeLogger() { logger.debug(channel, msgSupplier, null); verify(delegateLogger, never()).debug(anyString(), any(Throwable.class)); - verifyZeroInteractions(msgSupplier); - verifyZeroInteractions(channel); + verifyNoMoreInteractions(msgSupplier); + verifyNoMoreInteractions(channel); } @Test @@ -106,7 +106,7 @@ public void debugNotEnabled_channelNotProvided_doesNotInvokeLogger() { logger.debug(null, msgSupplier, null); verify(delegateLogger, never()).debug(anyString(), any(Throwable.class)); - verifyZeroInteractions(msgSupplier); + verifyNoMoreInteractions(msgSupplier); } @Test @@ -127,8 +127,8 @@ public void warnNotEnabled_doesNotInvokeLogger() { logger.warn(channel, msgSupplier, null); verify(delegateLogger, never()).warn(anyString(), any(Throwable.class)); - verifyZeroInteractions(msgSupplier); - verifyZeroInteractions(channel); + verifyNoMoreInteractions(msgSupplier); + verifyNoMoreInteractions(channel); } @Test @@ -160,7 +160,7 @@ public void errorNotEnabled_noChannelProvided_doesNotInvokeLogger() { logger.error(null, msgSupplier, null); verify(delegateLogger, never()).error(anyString(), any(Throwable.class)); - verifyZeroInteractions(msgSupplier); + verifyNoMoreInteractions(msgSupplier); } @Test @@ -181,8 +181,8 @@ public void errorNotEnabled_doesNotInvokeLogger() { logger.error(channel, msgSupplier, null); verify(delegateLogger, never()).error(anyString(), any(Throwable.class)); - verifyZeroInteractions(msgSupplier); - verifyZeroInteractions(channel); + verifyNoMoreInteractions(msgSupplier); + verifyNoMoreInteractions(channel); } @Test @@ -214,7 +214,7 @@ public void warnNotEnabled_noChannelProvided_doesNotInvokeLogger() { logger.warn(null, msgSupplier, null); verify(delegateLogger, never()).warn(anyString(), any(Throwable.class)); - verifyZeroInteractions(msgSupplier); + verifyNoMoreInteractions(msgSupplier); } @Test @@ -235,8 +235,8 @@ public void traceNotEnabled_doesNotInvokeLogger() { logger.trace(channel, msgSupplier); verify(delegateLogger, never()).trace(anyString()); - verifyZeroInteractions(msgSupplier); - verifyZeroInteractions(channel); + verifyNoMoreInteractions(msgSupplier); + verifyNoMoreInteractions(channel); } @Test @@ -256,7 +256,7 @@ public void traceNotEnabled_noChannelProvided_doesNotInvokeLogger() { logger.trace(null, msgSupplier); verify(delegateLogger, never()).trace(anyString()); - verifyZeroInteractions(msgSupplier); + verifyNoMoreInteractions(msgSupplier); } @Test diff --git a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtilsTest.java b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtilsTest.java index e4a17e2ab983..626554e7d1a3 100644 --- a/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtilsTest.java +++ b/http-clients/netty-nio-client/src/test/java/software/amazon/awssdk/http/nio/netty/internal/utils/NettyUtilsTest.java @@ -16,11 +16,11 @@ package software.amazon.awssdk.http.nio.netty.internal.utils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import io.netty.channel.Channel; @@ -203,7 +203,7 @@ public void runAndLogError_runnableDoesNotThrow_loggerNotInvoked() { NettyUtils.runAndLogError(logger, "Something went wrong", () -> {}); - verifyZeroInteractions(delegateLogger); + verifyNoMoreInteractions(delegateLogger); } @Test diff --git a/http-clients/url-connection-client/src/test/java/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClientWithCustomCreateWireMockTest.java b/http-clients/url-connection-client/src/test/java/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClientWithCustomCreateWireMockTest.java index 71c792fb3ce6..f9c24e1ce28a 100644 --- a/http-clients/url-connection-client/src/test/java/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClientWithCustomCreateWireMockTest.java +++ b/http-clients/url-connection-client/src/test/java/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClientWithCustomCreateWireMockTest.java @@ -15,13 +15,18 @@ package software.amazon.awssdk.http.urlconnection; import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.spy; import static software.amazon.awssdk.utils.FunctionalUtils.invokeSafely; import static software.amazon.awssdk.utils.FunctionalUtils.safeFunction; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.net.HttpURLConnection; +import java.net.ProtocolException; +import java.net.URL; +import java.security.Permission; +import java.util.List; +import java.util.Map; import java.util.function.Function; import org.junit.Ignore; import org.junit.Test; @@ -63,10 +68,11 @@ public void connectionsAreNotReusedOn5xxErrors() throws Exception { @Test public void testGetResponseCodeNpeIsWrappedAsIo() throws Exception { - connectionInterceptor = safeFunction(connection -> { - connection = spy(connection); - doThrow(new NullPointerException()).when(connection).getResponseCode(); - return connection; + connectionInterceptor = safeFunction(connection -> new DelegateHttpURLConnection(connection) { + @Override + public int getResponseCode() { + throw new NullPointerException(); + } }); assertThatThrownBy(() -> testForResponseCode(HttpURLConnection.HTTP_OK)) @@ -74,4 +80,278 @@ public void testGetResponseCodeNpeIsWrappedAsIo() throws Exception { .hasMessage("Unexpected NullPointerException when trying to read response from HttpURLConnection") .hasCauseInstanceOf(NullPointerException.class); } + + private class DelegateHttpURLConnection extends HttpURLConnection { + private final HttpURLConnection delegate; + + private DelegateHttpURLConnection(HttpURLConnection delegate) { + super(delegate.getURL()); + this.delegate = delegate; + } + + @Override + public String getHeaderFieldKey(int n) { + return delegate.getHeaderFieldKey(n); + } + + @Override + public void setFixedLengthStreamingMode(int contentLength) { + delegate.setFixedLengthStreamingMode(contentLength); + } + + @Override + public void setFixedLengthStreamingMode(long contentLength) { + delegate.setFixedLengthStreamingMode(contentLength); + } + + @Override + public void setChunkedStreamingMode(int chunklen) { + delegate.setChunkedStreamingMode(chunklen); + } + + @Override + public String getHeaderField(int n) { + return delegate.getHeaderField(n); + } + + @Override + public void setInstanceFollowRedirects(boolean followRedirects) { + delegate.setInstanceFollowRedirects(followRedirects); + } + + @Override + public boolean getInstanceFollowRedirects() { + return delegate.getInstanceFollowRedirects(); + } + + @Override + public void setRequestMethod(String method) throws ProtocolException { + delegate.setRequestMethod(method); + } + + @Override + public String getRequestMethod() { + return delegate.getRequestMethod(); + } + + @Override + public int getResponseCode() throws IOException { + return delegate.getResponseCode(); + } + + @Override + public String getResponseMessage() throws IOException { + return delegate.getResponseMessage(); + } + + @Override + public long getHeaderFieldDate(String name, long Default) { + return delegate.getHeaderFieldDate(name, Default); + } + + @Override + public void disconnect() { + delegate.disconnect(); + } + + @Override + public boolean usingProxy() { + return delegate.usingProxy(); + } + + @Override + public Permission getPermission() throws IOException { + return delegate.getPermission(); + } + + @Override + public InputStream getErrorStream() { + return delegate.getErrorStream(); + } + + @Override + public void connect() throws IOException { + delegate.connect(); + } + + @Override + public void setConnectTimeout(int timeout) { + delegate.setConnectTimeout(timeout); + } + + @Override + public int getConnectTimeout() { + return delegate.getConnectTimeout(); + } + + @Override + public void setReadTimeout(int timeout) { + delegate.setReadTimeout(timeout); + } + + @Override + public int getReadTimeout() { + return delegate.getReadTimeout(); + } + + @Override + public URL getURL() { + return delegate.getURL(); + } + + @Override + public int getContentLength() { + return delegate.getContentLength(); + } + + @Override + public long getContentLengthLong() { + return delegate.getContentLengthLong(); + } + + @Override + public String getContentType() { + return delegate.getContentType(); + } + + @Override + public String getContentEncoding() { + return delegate.getContentEncoding(); + } + + @Override + public long getExpiration() { + return delegate.getExpiration(); + } + + @Override + public long getDate() { + return delegate.getDate(); + } + + @Override + public long getLastModified() { + return delegate.getLastModified(); + } + + @Override + public String getHeaderField(String name) { + return delegate.getHeaderField(name); + } + + @Override + public Map> getHeaderFields() { + return delegate.getHeaderFields(); + } + + @Override + public int getHeaderFieldInt(String name, int Default) { + return delegate.getHeaderFieldInt(name, Default); + } + + @Override + public long getHeaderFieldLong(String name, long Default) { + return delegate.getHeaderFieldLong(name, Default); + } + + @Override + public Object getContent() throws IOException { + return delegate.getContent(); + } + + @Override + public InputStream getInputStream() throws IOException { + return delegate.getInputStream(); + } + + @Override + public OutputStream getOutputStream() throws IOException { + return delegate.getOutputStream(); + } + + @Override + public String toString() { + return delegate.toString(); + } + + @Override + public void setDoInput(boolean doinput) { + delegate.setDoInput(doinput); + } + + @Override + public boolean getDoInput() { + return delegate.getDoInput(); + } + + @Override + public void setDoOutput(boolean dooutput) { + delegate.setDoOutput(dooutput); + } + + @Override + public boolean getDoOutput() { + return delegate.getDoOutput(); + } + + @Override + public void setAllowUserInteraction(boolean allowuserinteraction) { + delegate.setAllowUserInteraction(allowuserinteraction); + } + + @Override + public boolean getAllowUserInteraction() { + return delegate.getAllowUserInteraction(); + } + + @Override + public void setUseCaches(boolean usecaches) { + delegate.setUseCaches(usecaches); + } + + @Override + public boolean getUseCaches() { + return delegate.getUseCaches(); + } + + @Override + public void setIfModifiedSince(long ifmodifiedsince) { + delegate.setIfModifiedSince(ifmodifiedsince); + } + + @Override + public long getIfModifiedSince() { + return delegate.getIfModifiedSince(); + } + + @Override + public boolean getDefaultUseCaches() { + return delegate.getDefaultUseCaches(); + } + + @Override + public void setDefaultUseCaches(boolean defaultusecaches) { + delegate.setDefaultUseCaches(defaultusecaches); + } + + @Override + public void setRequestProperty(String key, String value) { + delegate.setRequestProperty(key, value); + } + + @Override + public void addRequestProperty(String key, String value) { + delegate.addRequestProperty(key, value); + } + + @Override + public String getRequestProperty(String key) { + return delegate.getRequestProperty(key); + } + + @Override + public Map> getRequestProperties() { + return delegate.getRequestProperties(); + } + } } diff --git a/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/CloudWatchMetricPublisherTest.java b/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/CloudWatchMetricPublisherTest.java index 1482c15a0a5a..b71aa0433524 100644 --- a/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/CloudWatchMetricPublisherTest.java +++ b/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/CloudWatchMetricPublisherTest.java @@ -17,7 +17,7 @@ import static java.util.concurrent.TimeUnit.SECONDS; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import java.time.Duration; diff --git a/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/internal/MetricUploaderTest.java b/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/internal/MetricUploaderTest.java index df3198860d42..c9366f633fe4 100644 --- a/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/internal/MetricUploaderTest.java +++ b/metric-publishers/cloudwatch-metric-publisher/src/test/java/software/amazon/awssdk/metrics/publishers/cloudwatch/internal/MetricUploaderTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.metrics.publishers.cloudwatch.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; diff --git a/pom.xml b/pom.xml index 19355ffcb9d7..1969caca826e 100644 --- a/pom.xml +++ b/pom.xml @@ -106,7 +106,7 @@ 3.4.6 1.3 UTF-8 - 4.1.4 + 4.2.3 2.0.5 1.13.0 3.10.0 @@ -120,8 +120,7 @@ 5.8.1 4.13.2 1.3 - 1.10.19 - 2.28.2 + 4.3.1 3.20.2 29.0-jre 1.1 @@ -143,12 +142,12 @@ 3.1.1 1.6 8.42 - 0.8.5 + 0.8.7 1.6.8 1.6.0 2.8.2 3.0.0 - 0.14.4 + 0.15.6 2.4.0 @@ -657,6 +656,17 @@ + + jdk-13-plus + + [13,) + + + + -XX:+AllowRedefinitionToAddDeleteMethods + + + quick diff --git a/services-custom/dynamodb-enhanced/pom.xml b/services-custom/dynamodb-enhanced/pom.xml index 32842234d502..67dcdecf6c00 100644 --- a/services-custom/dynamodb-enhanced/pom.xml +++ b/services-custom/dynamodb-enhanced/pom.xml @@ -170,7 +170,7 @@ org.mockito mockito-core - ${mockito2.version} + ${mockito.version} test diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/converters/attribute/InstantAsStringAttributeConvertersTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/converters/attribute/InstantAsStringAttributeConvertersTest.java index ddbff47377a5..01fc4c0da118 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/converters/attribute/InstantAsStringAttributeConvertersTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/converters/attribute/InstantAsStringAttributeConvertersTest.java @@ -79,12 +79,6 @@ public void InstantAsStringAttributeConverterNotAcceptLocalDateTimeTest() { .toAttributeValue())); } - @Test - public void InstantAsStringAttributeConverterNotAcceptOffsetTimeTest() { - assertFails(() -> transformTo(CONVERTER, EnhancedAttributeValue.fromString("1988-05-21T00:12:00+01:00") - .toAttributeValue())); - } - @Test public void InstantAsStringAttributeConverterNotAcceptZonedTimeTest() { assertFails(() -> transformTo(CONVERTER, EnhancedAttributeValue.fromString("1988-05-21T00:12:00+01:00[Europe/Paris]") diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ConditionCheckTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ConditionCheckTest.java index f4ecf19ad4e3..1e376d402f1b 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ConditionCheckTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ConditionCheckTest.java @@ -21,7 +21,7 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue; import java.util.Map; @@ -80,7 +80,7 @@ public void generateTransactWriteItem() { .build()) .build(); assertThat(result, is(expectedResult)); - verifyZeroInteractions(mockDynamoDbEnhancedClientExtension); + verifyNoMoreInteractions(mockDynamoDbEnhancedClientExtension); } @Test diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactGetItemsOperationTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactGetItemsOperationTest.java index 1f487b595684..09d39a435f2f 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactGetItemsOperationTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactGetItemsOperationTest.java @@ -24,7 +24,7 @@ import static org.hamcrest.Matchers.sameInstance; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import static software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem.createUniqueFakeItem; import static software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItemWithSort.createUniqueFakeItemWithSort; @@ -191,7 +191,7 @@ public void transformResponse_doesNotInteractWithExtension() { operation.transformResponse(response, mockExtension); - verifyZeroInteractions(mockExtension); + verifyNoMoreInteractions(mockExtension); } @Test diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactWriteItemsOperationTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactWriteItemsOperationTest.java index 9696e01954ac..c4fa48fdc21c 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactWriteItemsOperationTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/TransactWriteItemsOperationTest.java @@ -21,7 +21,7 @@ import static org.hamcrest.Matchers.sameInstance; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.util.Map; @@ -93,7 +93,7 @@ public void generateRequest_singleTransaction() { .build(); assertThat(actualRequest, is(expectedRequest)); - verifyZeroInteractions(mockDynamoDbEnhancedClientExtension); + verifyNoMoreInteractions(mockDynamoDbEnhancedClientExtension); } @Test @@ -112,7 +112,7 @@ public void generateRequest_multipleTransactions() { .build(); assertThat(actualRequest, is(expectedRequest)); - verifyZeroInteractions(mockDynamoDbEnhancedClientExtension); + verifyNoMoreInteractions(mockDynamoDbEnhancedClientExtension); } @Test @@ -123,7 +123,7 @@ public void generateRequest_noTransactions() { TransactWriteItemsRequest expectedRequest = TransactWriteItemsRequest.builder().build(); assertThat(actualRequest, is(expectedRequest)); - verifyZeroInteractions(mockDynamoDbEnhancedClientExtension); + verifyNoMoreInteractions(mockDynamoDbEnhancedClientExtension); } @Test @@ -141,7 +141,7 @@ public void getServiceCall_callsServiceAndReturnsResult() { assertThat(actualResponse, is(sameInstance(expectedResponse))); verify(mockDynamoDbClient).transactWriteItems(request); - verifyZeroInteractions(mockDynamoDbEnhancedClientExtension); + verifyNoMoreInteractions(mockDynamoDbEnhancedClientExtension); } @Test @@ -151,7 +151,7 @@ public void transformResponse_doesNothing() { operation.transformResponse(response, mockDynamoDbEnhancedClientExtension); - verifyZeroInteractions(mockDynamoDbEnhancedClientExtension); + verifyNoMoreInteractions(mockDynamoDbEnhancedClientExtension); } private TransactWriteItemsEnhancedRequest emptyRequest() { diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DefaultS3CrtAsyncClientTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DefaultS3CrtAsyncClientTest.java index ad519ff38e52..d128810617e0 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DefaultS3CrtAsyncClientTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DefaultS3CrtAsyncClientTest.java @@ -22,7 +22,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.signer.AwsS3V4Signer; import software.amazon.awssdk.core.async.AsyncRequestBody; import software.amazon.awssdk.core.async.AsyncResponseTransformer; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DownloadDirectoryHelperTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DownloadDirectoryHelperTest.java index a7339eb4134e..bbebeabbabdd 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DownloadDirectoryHelperTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/DownloadDirectoryHelperTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.transfer.s3.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/ListObjectsHelperTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/ListObjectsHelperTest.java index 09ffaa0f80f5..5bf5de8a655d 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/ListObjectsHelperTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/ListObjectsHelperTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.transfer.s3.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtAsyncHttpClientTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtAsyncHttpClientTest.java index 3bc8f16b34d2..6bd3908b8156 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtAsyncHttpClientTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtAsyncHttpClientTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.transfer.s3.internal; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static software.amazon.awssdk.http.Header.CONTENT_LENGTH; @@ -31,7 +31,7 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.crt.http.HttpRequest; import software.amazon.awssdk.crt.s3.S3Client; import software.amazon.awssdk.crt.s3.S3MetaRequest; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtResponseHandlerAdapterTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtResponseHandlerAdapterTest.java index d67741d55e5b..bd73d45dbdd2 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtResponseHandlerAdapterTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtResponseHandlerAdapterTest.java @@ -27,7 +27,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.crt.http.HttpHeader; import software.amazon.awssdk.http.SdkHttpResponse; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3NativeClientConfigurationTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3NativeClientConfigurationTest.java index 13c4584a2564..5ef654213129 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3NativeClientConfigurationTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3NativeClientConfigurationTest.java @@ -25,7 +25,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.client.config.ClientAsyncConfiguration; import software.amazon.awssdk.crt.CrtResource; @@ -63,6 +63,6 @@ public void customExecutor_close_shouldNotShutdownCustomExecutor() { .build(); configuration.close(); - Mockito.verifyZeroInteractions(executorService); + Mockito.verifyNoMoreInteractions(executorService); } } diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerListenerTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerListenerTest.java index 048918643cc6..092bacb17c8e 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerListenerTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerListenerTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.timeout; @@ -334,7 +334,7 @@ private static TransferListener throwingListener() { private static Answer> drainPutRequestBody() { return invocationOnMock -> { - AsyncRequestBody requestBody = invocationOnMock.getArgumentAt(1, AsyncRequestBody.class); + AsyncRequestBody requestBody = invocationOnMock.getArgument(1, AsyncRequestBody.class); CompletableFuture cf = new CompletableFuture<>(); requestBody.subscribe(new DrainingSubscriber() { @Override @@ -354,7 +354,7 @@ public void onComplete() { private static Answer> randomGetResponseBody(long contentLength) { return invocationOnMock -> { AsyncResponseTransformer responseTransformer = - invocationOnMock.getArgumentAt(1, AsyncResponseTransformer.class); + invocationOnMock.getArgument(1, AsyncResponseTransformer.class); CompletableFuture cf = responseTransformer.prepare(); responseTransformer.onResponse(GetObjectResponse.builder() .contentLength(contentLength) diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerTest.java index 66058c35c56c..ddfd819f3d62 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/UploadDirectoryHelperTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/UploadDirectoryHelperTest.java index ffe911f21341..27d0963c99a7 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/UploadDirectoryHelperTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/UploadDirectoryHelperTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/util/S3ApiCallMockUtils.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/util/S3ApiCallMockUtils.java index 9a15b7cd144c..270ceb52d912 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/util/S3ApiCallMockUtils.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/util/S3ApiCallMockUtils.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.transfer.s3.util; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import io.reactivex.Flowable; diff --git a/services/apigateway/src/test/java/software/amazon/awssdk/services/apigateway/internal/AcceptJsonInterceptorTest.java b/services/apigateway/src/test/java/software/amazon/awssdk/services/apigateway/internal/AcceptJsonInterceptorTest.java index 325722fcb239..dc1a6e9a9a21 100644 --- a/services/apigateway/src/test/java/software/amazon/awssdk/services/apigateway/internal/AcceptJsonInterceptorTest.java +++ b/services/apigateway/src/test/java/software/amazon/awssdk/services/apigateway/internal/AcceptJsonInterceptorTest.java @@ -19,7 +19,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.interceptor.Context; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.http.SdkHttpFullRequest; diff --git a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java b/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java index b44639b16f53..b753b559fb93 100644 --- a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java +++ b/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.autoscaling.waiters; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static software.amazon.awssdk.services.autoscaling.model.LifecycleState.IN_SERVICE; diff --git a/services/docdb/src/test/java/software/amazon/awssdk/services/docdb/internal/PresignRequestWireMockTest.java b/services/docdb/src/test/java/software/amazon/awssdk/services/docdb/internal/PresignRequestWireMockTest.java index 37cf55b604e2..6342bbabc251 100644 --- a/services/docdb/src/test/java/software/amazon/awssdk/services/docdb/internal/PresignRequestWireMockTest.java +++ b/services/docdb/src/test/java/software/amazon/awssdk/services/docdb/internal/PresignRequestWireMockTest.java @@ -33,7 +33,7 @@ import org.junit.ClassRule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.regions.Region; diff --git a/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/EndpointDiscoveryTest.java b/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/EndpointDiscoveryTest.java index 7faf2d75338b..d48d6a7da16c 100644 --- a/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/EndpointDiscoveryTest.java +++ b/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/EndpointDiscoveryTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeastOnce; import org.junit.Test; diff --git a/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/WaitersUserAgentTest.java b/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/WaitersUserAgentTest.java index dd4b3999d296..7538bc2f95ca 100644 --- a/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/WaitersUserAgentTest.java +++ b/services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/WaitersUserAgentTest.java @@ -31,7 +31,7 @@ import org.junit.Rule; import org.junit.Test; import org.mockito.ArgumentCaptor; -import org.mockito.Matchers; +import org.mockito.ArgumentMatchers; import org.mockito.Mockito; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; @@ -84,7 +84,7 @@ public void syncWaiters_shouldHaveWaitersUserAgent() { assertThatThrownBy(() -> waiter.waitUntilTableExists(DescribeTableRequest.builder().tableName("table").build())).isNotNull(); ArgumentCaptor context = ArgumentCaptor.forClass(Context.BeforeTransmission.class); - Mockito.verify(interceptor).beforeTransmission(context.capture(), Matchers.any()); + Mockito.verify(interceptor).beforeTransmission(context.capture(), ArgumentMatchers.any()); assertTrue(context.getValue().httpRequest().headers().get("User-Agent").toString().contains("waiter")); } @@ -95,7 +95,7 @@ public void asyncWaiters_shouldHaveWaitersUserAgent() { CompletableFuture> responseFuture = waiter.waitUntilTableExists(DescribeTableRequest.builder().tableName("table").build()); ArgumentCaptor context = ArgumentCaptor.forClass(Context.BeforeTransmission.class); - Mockito.verify(interceptor).beforeTransmission(context.capture(), Matchers.any()); + Mockito.verify(interceptor).beforeTransmission(context.capture(), ArgumentMatchers.any()); assertTrue(context.getValue().httpRequest().headers().get("User-Agent").toString().contains("waiter")); diff --git a/services/ec2/src/test/java/software/amazon/awssdk/services/ec2/transform/internal/GeneratePreSignUrlInterceptorTest.java b/services/ec2/src/test/java/software/amazon/awssdk/services/ec2/transform/internal/GeneratePreSignUrlInterceptorTest.java index f7c25287a02e..f2614e868191 100644 --- a/services/ec2/src/test/java/software/amazon/awssdk/services/ec2/transform/internal/GeneratePreSignUrlInterceptorTest.java +++ b/services/ec2/src/test/java/software/amazon/awssdk/services/ec2/transform/internal/GeneratePreSignUrlInterceptorTest.java @@ -26,7 +26,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.core.interceptor.Context; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; diff --git a/services/ecs/src/it/java/software/amazon/awssdk/services/ecs/waiters/EcsWaiterTest.java b/services/ecs/src/it/java/software/amazon/awssdk/services/ecs/waiters/EcsWaiterTest.java index 4d6b694628dd..eec10828b3d9 100644 --- a/services/ecs/src/it/java/software/amazon/awssdk/services/ecs/waiters/EcsWaiterTest.java +++ b/services/ecs/src/it/java/software/amazon/awssdk/services/ecs/waiters/EcsWaiterTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.ecs.waiters; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/DateTimeUnmarshallingTest.java b/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/DateTimeUnmarshallingTest.java index 42c0135440e8..4fc8932d0cd2 100644 --- a/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/DateTimeUnmarshallingTest.java +++ b/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/DateTimeUnmarshallingTest.java @@ -30,7 +30,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.kinesis.model.Record; diff --git a/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/SubscribeToShardUnmarshallingTest.java b/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/SubscribeToShardUnmarshallingTest.java index 3468ad438c9d..9e65a7ffa4d2 100644 --- a/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/SubscribeToShardUnmarshallingTest.java +++ b/services/kinesis/src/test/java/software/amazon/awssdk/services/kinesis/SubscribeToShardUnmarshallingTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static software.amazon.awssdk.utils.FunctionalUtils.invokeSafely; @@ -36,7 +36,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.mockito.stubbing.Answer; import org.reactivestreams.Subscription; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; @@ -213,7 +213,7 @@ private List subscribeToShard() throws Throwable { private void stubResponse(SdkHttpFullResponse response) { when(sdkHttpClient.execute(any(AsyncExecuteRequest.class))).thenAnswer((Answer>) invocationOnMock -> { CompletableFuture cf = new CompletableFuture<>(); - AsyncExecuteRequest req = invocationOnMock.getArgumentAt(0, AsyncExecuteRequest.class); + AsyncExecuteRequest req = invocationOnMock.getArgument(0, AsyncExecuteRequest.class); SdkAsyncHttpResponseHandler value = req.responseHandler(); value.onHeaders(response); value.onStream(subscriber -> subscriber.onSubscribe(new Subscription() { diff --git a/services/neptune/src/test/java/software/amazon/awssdk/services/neptune/internal/PresignRequestWireMockTest.java b/services/neptune/src/test/java/software/amazon/awssdk/services/neptune/internal/PresignRequestWireMockTest.java index a69a83d6b043..10afc6f4544f 100644 --- a/services/neptune/src/test/java/software/amazon/awssdk/services/neptune/internal/PresignRequestWireMockTest.java +++ b/services/neptune/src/test/java/software/amazon/awssdk/services/neptune/internal/PresignRequestWireMockTest.java @@ -22,7 +22,7 @@ import org.junit.ClassRule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.regions.Region; diff --git a/services/rds/src/test/java/software/amazon/awssdk/services/rds/internal/PresignRequestWireMockTest.java b/services/rds/src/test/java/software/amazon/awssdk/services/rds/internal/PresignRequestWireMockTest.java index db3ec796d5a5..2b5ccde98944 100644 --- a/services/rds/src/test/java/software/amazon/awssdk/services/rds/internal/PresignRequestWireMockTest.java +++ b/services/rds/src/test/java/software/amazon/awssdk/services/rds/internal/PresignRequestWireMockTest.java @@ -33,7 +33,7 @@ import org.junit.ClassRule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.regions.Region; diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/SignedAsyncRequestBodyUploadIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/SignedAsyncRequestBodyUploadIntegrationTest.java index c8752045d1a5..0a10df11d35d 100644 --- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/SignedAsyncRequestBodyUploadIntegrationTest.java +++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/SignedAsyncRequestBodyUploadIntegrationTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.s3; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -66,9 +66,9 @@ public static void setup() throws Exception { when(mockSigner.sign(any(SdkHttpFullRequest.class), any(AsyncRequestBody.class), any(ExecutionAttributes.class))) .thenAnswer(i -> { - SdkHttpFullRequest request = i.getArgumentAt(0, SdkHttpFullRequest.class); - AsyncRequestBody body = i.getArgumentAt(1, AsyncRequestBody.class); - ExecutionAttributes executionAttributes = i.getArgumentAt(2, ExecutionAttributes.class); + SdkHttpFullRequest request = i.getArgument(0, SdkHttpFullRequest.class); + AsyncRequestBody body = i.getArgument(1, AsyncRequestBody.class); + ExecutionAttributes executionAttributes = i.getArgument(2, ExecutionAttributes.class); return realSigner.sign(request, body, executionAttributes); }); diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/EndpointOverrideEndpointResolutionTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/EndpointOverrideEndpointResolutionTest.java index 84acc67637ae..5f49a00e1bb9 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/EndpointOverrideEndpointResolutionTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/EndpointOverrideEndpointResolutionTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.s3; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import java.io.UnsupportedEncodingException; import java.net.URI; @@ -98,8 +98,8 @@ public EndpointOverrideEndpointResolutionTest(TestCase testCase) throws Unsuppor .build(); mockHttpClient.stubNextResponse(S3MockUtils.mockListObjectsResponse()); - Mockito.when(mockSigner.sign(any(), any())).thenAnswer(r -> r.getArgumentAt(0, SdkHttpFullRequest.class)); - Mockito.when(mockSigner.presign(any(), any())).thenAnswer(r -> r.getArgumentAt(0, SdkHttpFullRequest.class) + Mockito.when(mockSigner.sign(any(), any())).thenAnswer(r -> r.getArgument(0, SdkHttpFullRequest.class)); + Mockito.when(mockSigner.presign(any(), any())).thenAnswer(r -> r.getArgument(0, SdkHttpFullRequest.class) .copy(h -> h.putRawQueryParameter("X-Amz-SignedHeaders", "host"))); } diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java index eb40bd09f838..38892629fae9 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/S3PresignerTest.java @@ -32,7 +32,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/checksums/ChecksumCalculatingInputStreamTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/checksums/ChecksumCalculatingInputStreamTest.java index 33b075be7142..9a73fd2584d2 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/checksums/ChecksumCalculatingInputStreamTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/checksums/ChecksumCalculatingInputStreamTest.java @@ -22,7 +22,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.checksums.SdkChecksum; /** diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/AsyncResponseTransformerTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/AsyncResponseTransformerTest.java index ba47ab3c6c36..4c2c5e748c0b 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/AsyncResponseTransformerTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/AsyncResponseTransformerTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.s3.functionaltests; import static org.assertj.core.api.Assertions.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -24,7 +24,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.core.async.AsyncResponseTransformer; diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileDisableMultiRegionProviderTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileDisableMultiRegionProviderTest.java index 5169ac9a11e4..a7ca5fd7363c 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileDisableMultiRegionProviderTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileDisableMultiRegionProviderTest.java @@ -18,7 +18,7 @@ import static java.lang.Boolean.TRUE; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static software.amazon.awssdk.profiles.ProfileFileSystemSetting.AWS_CONFIG_FILE; import java.util.Optional; diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileUseArnRegionProviderTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileUseArnRegionProviderTest.java index f2b8e98bdc0f..044142d23103 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileUseArnRegionProviderTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/settingproviders/ProfileUseArnRegionProviderTest.java @@ -19,7 +19,7 @@ import static java.lang.Boolean.TRUE; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static software.amazon.awssdk.profiles.ProfileFileSystemSetting.AWS_CONFIG_FILE; import java.util.Optional; diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/presigner/model/PresignedGetObjectRequestTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/presigner/model/PresignedGetObjectRequestTest.java index b1e6a70d21ce..f1df08c45c65 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/presigner/model/PresignedGetObjectRequestTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/presigner/model/PresignedGetObjectRequestTest.java @@ -36,7 +36,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.http.SdkHttpMethod; import software.amazon.awssdk.http.SdkHttpRequest; diff --git a/services/s3control/src/test/java/software/amazon/awssdk/services/s3control/EndpointOverrideEndpointResolutionTest.java b/services/s3control/src/test/java/software/amazon/awssdk/services/s3control/EndpointOverrideEndpointResolutionTest.java index bf78e66a5e06..eb6e0234f15d 100644 --- a/services/s3control/src/test/java/software/amazon/awssdk/services/s3control/EndpointOverrideEndpointResolutionTest.java +++ b/services/s3control/src/test/java/software/amazon/awssdk/services/s3control/EndpointOverrideEndpointResolutionTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.s3control; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import java.net.URI; import java.util.ArrayList; @@ -78,8 +78,8 @@ public EndpointOverrideEndpointResolutionTest(TestCase testCase) { .build(); mockHttpClient.stubNextResponse(response); - Mockito.when(mockSigner.sign(any(), any())).thenAnswer(r -> r.getArgumentAt(0, SdkHttpFullRequest.class)); - Mockito.when(mockSigner.presign(any(), any())).thenAnswer(r -> r.getArgumentAt(0, SdkHttpFullRequest.class) + Mockito.when(mockSigner.sign(any(), any())).thenAnswer(r -> r.getArgument(0, SdkHttpFullRequest.class)); + Mockito.when(mockSigner.presign(any(), any())).thenAnswer(r -> r.getArgument(0, SdkHttpFullRequest.class) .copy(h -> h.putRawQueryParameter("X-Amz-SignedHeaders", "host"))); } diff --git a/services/sts/src/test/java/software/amazon/awssdk/services/sts/auth/StsCredentialsProviderTestBase.java b/services/sts/src/test/java/software/amazon/awssdk/services/sts/auth/StsCredentialsProviderTestBase.java index 5b5eae898d48..628712614099 100644 --- a/services/sts/src/test/java/software/amazon/awssdk/services/sts/auth/StsCredentialsProviderTestBase.java +++ b/services/sts/src/test/java/software/amazon/awssdk/services/sts/auth/StsCredentialsProviderTestBase.java @@ -26,7 +26,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsSessionCredentials; import software.amazon.awssdk.services.sts.StsClient; import software.amazon.awssdk.services.sts.model.Credentials; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/AsyncSignerOverrideTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/AsyncSignerOverrideTest.java index 1762d341fb08..24db96223a66 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/AsyncSignerOverrideTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/AsyncSignerOverrideTest.java @@ -15,13 +15,13 @@ package software.amazon.awssdk.services; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import static software.amazon.awssdk.core.client.config.SdkAdvancedClientOption.SIGNER; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.async.AsyncRequestBody; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ExecutionAttributesTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ExecutionAttributesTest.java index f842fd021ddb..a853db87411a 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ExecutionAttributesTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ExecutionAttributesTest.java @@ -1,7 +1,7 @@ package software.amazon.awssdk.services; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/HttpChecksumRequiredTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/HttpChecksumRequiredTest.java index f481d4ebcd3f..41ac889a7751 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/HttpChecksumRequiredTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/HttpChecksumRequiredTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import io.reactivex.Flowable; import java.io.IOException; @@ -82,7 +82,7 @@ public void setup() throws IOException { Mockito.when(httpClient.prepareRequest(any())).thenReturn(request); Mockito.when(httpAsyncClient.execute(any())).thenAnswer(invocation -> { - AsyncExecuteRequest asyncExecuteRequest = invocation.getArgumentAt(0, AsyncExecuteRequest.class); + AsyncExecuteRequest asyncExecuteRequest = invocation.getArgument(0, AsyncExecuteRequest.class); asyncExecuteRequest.responseHandler().onHeaders(successfulHttpResponse); asyncExecuteRequest.responseHandler().onStream(Flowable.empty()); return CompletableFuture.completedFuture(null); diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ProfileFileConfigurationTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ProfileFileConfigurationTest.java index 91985092e83f..1e3ca4056fd8 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ProfileFileConfigurationTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/ProfileFileConfigurationTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import org.junit.jupiter.api.Test; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/documenttype/DocumentTypeTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/documenttype/DocumentTypeTest.java index b2e4a65125fe..976b7fd1417d 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/documenttype/DocumentTypeTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/documenttype/DocumentTypeTest.java @@ -1,7 +1,7 @@ package software.amazon.awssdk.services.documenttype; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import com.github.tomakehurst.wiremock.junit.WireMockRule; import java.io.BufferedReader; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventDispatchTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventDispatchTest.java index 62daf1df6062..fff8003265f2 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventDispatchTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventDispatchTest.java @@ -26,7 +26,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.services.eventstreamrestjson.model.EventOne; import software.amazon.awssdk.services.eventstreamrestjson.model.EventStream; import software.amazon.awssdk.services.eventstreamrestjson.model.EventStreamOperationResponseHandler; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventMarshallingTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventMarshallingTest.java index 2d5382e32966..9132777be342 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventMarshallingTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/eventstreams/EventMarshallingTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.services.eventstreams; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import io.reactivex.Flowable; import java.nio.ByteBuffer; @@ -30,7 +30,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.invocation.InvocationOnMock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; @@ -126,7 +126,7 @@ public void onComplete() { } private CompletableFuture mockExecute(InvocationOnMock invocation) { - AsyncExecuteRequest request = invocation.getArgumentAt(0, AsyncExecuteRequest.class); + AsyncExecuteRequest request = invocation.getArgument(0, AsyncExecuteRequest.class); SdkHttpContentPublisher content = request.requestContentPublisher(); List chunks = Flowable.fromPublisher(content).toList().blockingGet(); diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java index 8b126a829ecb..0594f635d7ad 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java @@ -16,10 +16,10 @@ package software.amazon.awssdk.services.metrics; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.io.ByteArrayInputStream; @@ -35,7 +35,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.core.metrics.CoreMetric; @@ -142,7 +142,7 @@ public void testApiCall_publisherOverriddenOnRequest_requestPublisherTakesPreced client.allTypes(r -> r.overrideConfiguration(o -> o.addMetricPublisher(requestMetricPublisher))); verify(requestMetricPublisher).publish(any(MetricCollection.class)); - verifyZeroInteractions(mockPublisher); + verifyNoMoreInteractions(mockPublisher); } @Test @@ -156,7 +156,7 @@ public void testPaginatingApiCall_publisherOverriddenOnRequest_requestPublisherT List resultingItems = iterable.items().stream().collect(Collectors.toList()); verify(requestMetricPublisher).publish(any(MetricCollection.class)); - verifyZeroInteractions(mockPublisher); + verifyNoMoreInteractions(mockPublisher); } @Test diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/SyncClientMetricPublisherResolutionTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/SyncClientMetricPublisherResolutionTest.java index d224b3c0e384..e07c73703883 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/SyncClientMetricPublisherResolutionTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/SyncClientMetricPublisherResolutionTest.java @@ -15,10 +15,10 @@ package software.amazon.awssdk.services.metrics; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.http.AbortableInputStream; @@ -121,8 +121,8 @@ public void testApiCall_publishersSetOnClientAndRequest_requestPublishersInvoked } finally { verify(requestPublisher1).publish(any(MetricCollection.class)); verify(requestPublisher2).publish(any(MetricCollection.class)); - verifyZeroInteractions(clientPublisher1); - verifyZeroInteractions(clientPublisher2); + verifyNoMoreInteractions(clientPublisher1); + verifyNoMoreInteractions(clientPublisher2); } } diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncClientMetricPublisherResolutionTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncClientMetricPublisherResolutionTest.java index 62fd4a3b0908..64d43fbe7560 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncClientMetricPublisherResolutionTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncClientMetricPublisherResolutionTest.java @@ -16,10 +16,10 @@ package software.amazon.awssdk.services.metrics.async; import static org.hamcrest.Matchers.instanceOf; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import com.github.tomakehurst.wiremock.junit.WireMockRule; import java.io.IOException; @@ -32,7 +32,7 @@ import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.metrics.MetricCollection; @@ -142,8 +142,8 @@ public void testApiCall_publishersSetOnClientAndRequest_requestPublishersInvoked } finally { verify(requestPublisher1).publish(any(MetricCollection.class)); verify(requestPublisher2).publish(any(MetricCollection.class)); - verifyZeroInteractions(clientPublisher1); - verifyZeroInteractions(clientPublisher2); + verifyNoMoreInteractions(clientPublisher1); + verifyNoMoreInteractions(clientPublisher2); } } diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncCoreMetricsTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncCoreMetricsTest.java index 7df73f9fe7df..7649fbae6fb0 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncCoreMetricsTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncCoreMetricsTest.java @@ -15,10 +15,10 @@ package software.amazon.awssdk.services.metrics.async; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import com.github.tomakehurst.wiremock.junit.WireMockRule; @@ -36,7 +36,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.metrics.MetricCollection; @@ -129,7 +129,7 @@ public void apiCall_publisherOverriddenOnRequest_requestPublisherTakesPrecedence client.allTypes(r -> r.overrideConfiguration(o -> o.addMetricPublisher(requestMetricPublisher))).join(); verify(requestMetricPublisher).publish(any(MetricCollection.class)); - verifyZeroInteractions(mockPublisher); + verifyNoMoreInteractions(mockPublisher); } @Test @@ -145,6 +145,6 @@ public void testPaginatingApiCall_publisherOverriddenOnRequest_requestPublisherT future.get(); verify(requestMetricPublisher).publish(any(MetricCollection.class)); - verifyZeroInteractions(mockPublisher); + verifyNoMoreInteractions(mockPublisher); } } diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncEventStreamingCoreMetricsTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncEventStreamingCoreMetricsTest.java index b6043f83ba33..534217c04110 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncEventStreamingCoreMetricsTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncEventStreamingCoreMetricsTest.java @@ -26,7 +26,7 @@ import org.junit.Rule; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.core.async.EmptyPublisher; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncStreamingCoreMetricsTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncStreamingCoreMetricsTest.java index 1474c44921a1..15b1aa5bf129 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncStreamingCoreMetricsTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/AsyncStreamingCoreMetricsTest.java @@ -27,7 +27,7 @@ import org.junit.Rule; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.core.async.AsyncRequestBody; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/BaseAsyncCoreMetricsTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/BaseAsyncCoreMetricsTest.java index 4500a41d3cea..5fad4e59b00e 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/BaseAsyncCoreMetricsTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/async/BaseAsyncCoreMetricsTest.java @@ -31,7 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.metrics.CoreMetric; import software.amazon.awssdk.http.HttpMetric; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolquery/AsyncOperationCancelTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolquery/AsyncOperationCancelTest.java index 4cff1fa28f0b..e243a489ddbb 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolquery/AsyncOperationCancelTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolquery/AsyncOperationCancelTest.java @@ -19,7 +19,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.ResponseBytes; @@ -34,7 +34,7 @@ import java.util.concurrent.CompletableFuture; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; /** diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/AsyncOperationCancelTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/AsyncOperationCancelTest.java index 5af311ab04eb..77c66e39b345 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/AsyncOperationCancelTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/AsyncOperationCancelTest.java @@ -19,7 +19,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.ResponseBytes; @@ -38,7 +38,7 @@ import java.util.concurrent.CompletableFuture; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; /** diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestxml/AsyncOperationCancelTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestxml/AsyncOperationCancelTest.java index f6dad3b4355e..51deef21c7e5 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestxml/AsyncOperationCancelTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestxml/AsyncOperationCancelTest.java @@ -19,7 +19,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.ResponseBytes; @@ -38,7 +38,7 @@ import java.util.concurrent.CompletableFuture; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; /** diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaiterResourceTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaiterResourceTest.java index 298cac2447ee..a98fcde3f2c9 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaiterResourceTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaiterResourceTest.java @@ -20,7 +20,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.services.restjsonwithwaiters.RestJsonWithWaitersAsyncClient; import software.amazon.awssdk.services.restjsonwithwaiters.RestJsonWithWaitersClient; import software.amazon.awssdk.services.restjsonwithwaiters.waiters.RestJsonWithWaitersAsyncWaiter; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersAsyncFunctionalTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersAsyncFunctionalTest.java index ef4bf293c5cf..4b958d34b329 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersAsyncFunctionalTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersAsyncFunctionalTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersSyncFunctionalTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersSyncFunctionalTest.java index 695c4489837f..e645f3db903a 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersSyncFunctionalTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/waiters/WaitersSyncFunctionalTest.java @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; diff --git a/test/http-client-tests/pom.xml b/test/http-client-tests/pom.xml index 18f586acb7cc..5269353ef90b 100644 --- a/test/http-client-tests/pom.xml +++ b/test/http-client-tests/pom.xml @@ -119,6 +119,12 @@ netty-tcnative-boringssl-static compile + + org.bouncycastle + bcpkix-jdk15on + 1.70 + compile + diff --git a/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientDefaultTestSuite.java b/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientDefaultTestSuite.java index 1ab78d013780..95ba819ea980 100644 --- a/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientDefaultTestSuite.java +++ b/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientDefaultTestSuite.java @@ -38,7 +38,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.utils.IoUtils; /** diff --git a/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientTestSuite.java b/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientTestSuite.java index 2c05d43533f7..0fac30fec631 100644 --- a/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientTestSuite.java +++ b/test/http-client-tests/src/main/java/software/amazon/awssdk/http/SdkHttpClientTestSuite.java @@ -47,7 +47,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.utils.IoUtils; import software.amazon.awssdk.utils.Logger; diff --git a/test/protocol-tests-core/src/main/java/software/amazon/awssdk/protocol/asserts/unmarshalling/UnmarshalledResultAssertion.java b/test/protocol-tests-core/src/main/java/software/amazon/awssdk/protocol/asserts/unmarshalling/UnmarshalledResultAssertion.java index 9e0355f292ad..25b1c75a6a44 100644 --- a/test/protocol-tests-core/src/main/java/software/amazon/awssdk/protocol/asserts/unmarshalling/UnmarshalledResultAssertion.java +++ b/test/protocol-tests-core/src/main/java/software/amazon/awssdk/protocol/asserts/unmarshalling/UnmarshalledResultAssertion.java @@ -15,14 +15,23 @@ package software.amazon.awssdk.protocol.asserts.unmarshalling; +import static junit.framework.Assert.fail; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.unitils.reflectionassert.ReflectionAssert.assertReflectionEquals; import com.fasterxml.jackson.databind.JsonNode; import java.io.InputStream; import java.lang.reflect.Field; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import org.apache.commons.io.IOUtils; +import org.unitils.reflectionassert.ReflectionComparator; +import org.unitils.reflectionassert.ReflectionComparatorFactory; +import org.unitils.reflectionassert.comparator.Comparator; +import org.unitils.reflectionassert.difference.Difference; +import org.unitils.reflectionassert.report.impl.DefaultDifferenceReport; import software.amazon.awssdk.protocol.reflect.ShapeModelReflector; /** @@ -62,7 +71,11 @@ private void assertFieldEquals(Field field, Object actual, Object expectedResult assertTrue(IOUtils.contentEquals((InputStream) field.get(expectedResult), (InputStream) field.get(actual))); } else { - assertReflectionEquals(field.get(expectedResult), field.get(actual)); + Difference difference = CustomComparatorFactory.getComparator() + .getDifference(field.get(expectedResult), field.get(actual)); + if (difference != null) { + fail(new DefaultDifferenceReport().createReport(difference)); + } } } @@ -77,4 +90,36 @@ private String getOutputClassName(UnmarshallingTestContext context) { return context.getModel().getOperations().get(context.getOperationName()).getReturnType() .getReturnType(); } + + private static class CustomComparatorFactory extends ReflectionComparatorFactory { + private static ReflectionComparator getComparator() { + List comparators = new ArrayList<>(); + comparators.add(new InstantComparator()); + comparators.addAll(ReflectionComparatorFactory.getComparatorChain(Collections.emptySet())); + return new ReflectionComparator(comparators); + } + } + + private static class InstantComparator implements Comparator { + @Override + public boolean canCompare(Object left, Object right) { + return left instanceof Instant || right instanceof Instant; + } + + @Override + public Difference compare(Object left, + Object right, + boolean onlyFirstDifference, + ReflectionComparator reflectionComparator) { + if (right == null) { + return new Difference("Right value null.", left, null); + } + + if (!left.equals(right)) { + return new Difference("Different values.", left, right); + } + + return null; + } + } } diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/AsyncResponseThreadingTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/AsyncResponseThreadingTest.java index da9c40cee1b7..6619023ba7fa 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/AsyncResponseThreadingTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/AsyncResponseThreadingTest.java @@ -20,7 +20,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.verify; import static software.amazon.awssdk.core.client.config.SdkAdvancedAsyncClientOption.FUTURE_COMPLETION_EXECUTOR; diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ExecutionInterceptorTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ExecutionInterceptorTest.java index ddbaa8ef3155..d635ac365a9c 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ExecutionInterceptorTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ExecutionInterceptorTest.java @@ -25,7 +25,7 @@ import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.CALLS_REAL_METHODS; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java index 7bc21c98f844..2b047680921d 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.protocol.tests; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/endpoint/EndpointTraitTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/endpoint/EndpointTraitTest.java index 2b9be83f5474..f0e9cfc74a7e 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/endpoint/EndpointTraitTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/endpoint/EndpointTraitTest.java @@ -16,7 +16,7 @@ package software.amazon.awssdk.protocol.tests.endpoint; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -28,7 +28,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; diff --git a/test/test-utils/pom.xml b/test/test-utils/pom.xml index f8b374c19da3..095c0ff13122 100644 --- a/test/test-utils/pom.xml +++ b/test/test-utils/pom.xml @@ -112,4 +112,16 @@ test + + + + + com.github.spotbugs + spotbugs-maven-plugin + + true + + + + diff --git a/test/test-utils/src/main/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java b/test/test-utils/src/main/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java index 13f67785017c..4b16d82e0cd1 100644 --- a/test/test-utils/src/main/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java +++ b/test/test-utils/src/main/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java @@ -15,41 +15,23 @@ package software.amazon.awssdk.testutils; -import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; import java.util.function.Consumer; import org.junit.rules.ExternalResource; import software.amazon.awssdk.utils.SystemSetting; +import software.amazon.awssdk.utils.internal.SystemSettingUtilsTestBackdoor; /** - * A utility that can temporarily forcibly set environment variables and - * then allows resetting them to the original values. + * A utility that can temporarily forcibly set environment variables and then allows resetting them to the original values. + * + * This only works for environment variables read by the SDK. */ public class EnvironmentVariableHelper extends ExternalResource { - - private final Map originalEnvironmentVariables; - private final Map modifiableMap; - private volatile boolean mutated = false; - - public EnvironmentVariableHelper() { - // CHECKSTYLE:OFF - This is a specific utility around system environment variables - originalEnvironmentVariables = new HashMap<>(System.getenv()); - modifiableMap = Optional.ofNullable(processEnv()).orElse(envMap()); - // CHECKSTYLE:ON - } - public void remove(SystemSetting setting) { remove(setting.environmentVariable()); } public void remove(String key) { - mutated = true; - modifiableMap.remove(key); + SystemSettingUtilsTestBackdoor.addEnvironmentVariableOverride(key, null); } public void set(SystemSetting setting, String value) { @@ -57,20 +39,11 @@ public void set(SystemSetting setting, String value) { } public void set(String key, String value) { - mutated = true; - modifiableMap.put(key, value); + SystemSettingUtilsTestBackdoor.addEnvironmentVariableOverride(key, value); } public void reset() { - if (mutated) { - synchronized (this) { - if (mutated) { - modifiableMap.clear(); - modifiableMap.putAll(originalEnvironmentVariables); - mutated = false; - } - } - } + SystemSettingUtilsTestBackdoor.clearEnvironmentVariableOverrides(); } @Override @@ -78,13 +51,6 @@ protected void after() { reset(); } - private PrivilegedExceptionAction setAccessible(Field f) { - return () -> { - f.setAccessible(true); - return null; - }; - } - /** * Static run method that allows for "single-use" environment variable modification. * @@ -110,37 +76,4 @@ public static void run(Consumer helperConsumer) { helper.reset(); } } - - private Map envMap() { - // CHECKSTYLE:OFF - This is a specific utility around system environment variables - return getField(System.getenv().getClass(), System.getenv(), "m"); - // CHECKSTYLE:ON - } - - /** - * Windows is using a different process environment. - * - * See http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/windows/classes/java/lang/ProcessEnvironment.java#l235 - */ - private Map processEnv() { - Class processEnvironment; - try { - processEnvironment = Class.forName("java.lang.ProcessEnvironment"); - return getField(processEnvironment, null, "theCaseInsensitiveEnvironment"); - } catch (ClassNotFoundException e) { - return null; - } - } - - @SuppressWarnings("unchecked") - private Map getField(Class processEnvironment, Object obj, String fieldName) { - try { - Field declaredField = processEnvironment.getDeclaredField(fieldName); - AccessController.doPrivileged(setAccessible(declaredField)); - - return (Map) declaredField.get(obj); - } catch (IllegalAccessException | NoSuchFieldException | PrivilegedActionException e) { - return null; - } - } -} +} \ No newline at end of file diff --git a/test/test-utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelperTest.java b/test/test-utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelperTest.java index 3dd91e0a33e0..54e442c9ebe0 100644 --- a/test/test-utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelperTest.java +++ b/test/test-utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelperTest.java @@ -17,55 +17,27 @@ import static org.assertj.core.api.Assertions.assertThat; -import java.util.HashMap; -import java.util.Map; -import org.junit.AfterClass; -import org.junit.Rule; import org.junit.Test; -import org.junit.experimental.runners.Enclosed; -import org.junit.runner.RunWith; +import software.amazon.awssdk.utils.SystemSetting; -@RunWith(Enclosed.class) public class EnvironmentVariableHelperTest { - - private static Map environmentVariables = new HashMap<>(System.getenv()); - - @AfterClass - public static void ensureCleanup() { - assertThat(System.getenv()).hasSameSizeAs(environmentVariables).containsAllEntriesOf(environmentVariables); - } - - public static class Normal { - @Test - public void testCanUseStaticRun() { - assertThat(System.getenv("hello")).isEqualTo(null); - EnvironmentVariableHelper.run(helper -> { - helper.set("hello", "world"); - assertThat(System.getenv("hello")).isEqualTo("world"); - }); - assertThat(System.getenv("hello")).isEqualTo(null); - } - - @Test - public void testCanManuallyReset() { - EnvironmentVariableHelper helper = new EnvironmentVariableHelper(); - assertThat(System.getenv("hello")).isEqualTo(null); + @Test + public void testCanUseStaticRun() { + assertThat(SystemSetting.getStringValueFromEnvironmentVariable("hello")).isEmpty(); + EnvironmentVariableHelper.run(helper -> { helper.set("hello", "world"); - assertThat(System.getenv("hello")).isEqualTo("world"); - helper.reset(); - assertThat(System.getenv("hello")).isEqualTo(null); - } + assertThat(SystemSetting.getStringValueFromEnvironmentVariable("hello")).hasValue("world"); + }); + assertThat(SystemSetting.getStringValueFromEnvironmentVariable("hello")).isEmpty(); } - public static class AsRule { - - @Rule - public EnvironmentVariableHelper helper = new EnvironmentVariableHelper(); - - @Test - public void helperAsRuleIsResetAfterEachUse() { - helper.set("yo yo yo", "blah"); - } - + @Test + public void testCanManuallyReset() { + EnvironmentVariableHelper helper = new EnvironmentVariableHelper(); + assertThat(SystemSetting.getStringValueFromEnvironmentVariable("hello")).isEmpty(); + helper.set("hello", "world"); + assertThat(SystemSetting.getStringValueFromEnvironmentVariable("hello")).hasValue("world"); + helper.reset(); + assertThat(SystemSetting.getStringValueFromEnvironmentVariable("hello")).isEmpty(); } } diff --git a/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableActionTest.java b/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableActionTest.java index 885c42ec0a63..56cdbbb0f805 100644 --- a/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableActionTest.java +++ b/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableActionTest.java @@ -23,7 +23,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class RetryableActionTest { diff --git a/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableAssertionTest.java b/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableAssertionTest.java index 80fbcb83e225..ef3e6cdc4afd 100644 --- a/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableAssertionTest.java +++ b/test/test-utils/src/test/java/software/amazon/awssdk/testutils/retry/RetryableAssertionTest.java @@ -21,7 +21,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class RetryableAssertionTest { diff --git a/utils/src/main/java/software/amazon/awssdk/utils/ReflectionMethodInvoker.java b/utils/src/main/java/software/amazon/awssdk/utils/ReflectionMethodInvoker.java index 5523b6e63fd0..f17b9d5bac24 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/ReflectionMethodInvoker.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/ReflectionMethodInvoker.java @@ -117,7 +117,7 @@ private Method getTargetMethod() throws NoSuchMethodException { try { targetMethod = clazz.getMethod(methodName, parameterTypes); return targetMethod; - } catch (NullPointerException e) { + } catch (RuntimeException e) { throw new RuntimeException(createInvocationErrorMessage(), e); } } diff --git a/utils/src/main/java/software/amazon/awssdk/utils/SystemSetting.java b/utils/src/main/java/software/amazon/awssdk/utils/SystemSetting.java index b2ebbb0b6fab..a5460f30791f 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/SystemSetting.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/SystemSetting.java @@ -55,6 +55,19 @@ default Optional getStringValue() { return SystemSettingUtils.resolveSetting(this); } + /** + * Attempt to load a system setting from {@link System#getenv(String)}. This should NOT BE USED, so checkstyle will + * complain about using it. The only reason this is made available is for when we ABSOLUTELY CANNOT support a system + * property for a specific setting. That should be the exception, NOT the rule. We should almost always provide a system + * property alternative for all environment variables. + * + * @return The requested setting, or {@link Optional#empty()} if the values were not set, or the security manager did not + * allow reading the setting. + */ + static Optional getStringValueFromEnvironmentVariable(String key) { + return SystemSettingUtils.resolveEnvironmentVariable(key); + } + /** * Attempt to load a system setting from {@link System#getProperty(String)} and {@link System#getenv(String)}. This should be * used in favor of those methods because the SDK should support both methods of configuration. diff --git a/utils/src/main/java/software/amazon/awssdk/utils/UserHomeDirectoryUtils.java b/utils/src/main/java/software/amazon/awssdk/utils/UserHomeDirectoryUtils.java index 1677b5221c4a..d5155023e9a4 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/UserHomeDirectoryUtils.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/UserHomeDirectoryUtils.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.utils; +import java.util.Optional; import software.amazon.awssdk.annotations.SdkProtectedApi; /** @@ -31,10 +32,10 @@ private UserHomeDirectoryUtils() { public static String userHomeDirectory() { // To match the logic of the CLI we have to consult environment variables directly. // CHECKSTYLE:OFF - String home = System.getenv("HOME"); + Optional home = SystemSetting.getStringValueFromEnvironmentVariable("HOME"); - if (home != null) { - return home; + if (home.isPresent()) { + return home.get(); } boolean isWindows = JavaSystemSetting.OS_NAME.getStringValue() @@ -42,17 +43,17 @@ public static String userHomeDirectory() { .orElse(false); if (isWindows) { - String userProfile = System.getenv("USERPROFILE"); + Optional userProfile = SystemSetting.getStringValueFromEnvironmentVariable("USERPROFILE"); - if (userProfile != null) { - return userProfile; + if (userProfile.isPresent()) { + return userProfile.get(); } - String homeDrive = System.getenv("HOMEDRIVE"); - String homePath = System.getenv("HOMEPATH"); + Optional homeDrive = SystemSetting.getStringValueFromEnvironmentVariable("HOMEDRIVE"); + Optional homePath = SystemSetting.getStringValueFromEnvironmentVariable("HOMEPATH"); - if (homeDrive != null && homePath != null) { - return homeDrive + homePath; + if (homeDrive.isPresent() && homePath.isPresent()) { + return homeDrive.get() + homePath.get(); } } diff --git a/utils/src/main/java/software/amazon/awssdk/utils/async/FlatteningSubscriber.java b/utils/src/main/java/software/amazon/awssdk/utils/async/FlatteningSubscriber.java index 3303485e1250..2053a4e820cf 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/async/FlatteningSubscriber.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/async/FlatteningSubscriber.java @@ -107,7 +107,7 @@ public void onNext(Iterable nextItems) { Validate.notNull(nextItems, "Collections flattened by the flattening subscriber must not contain null."); allItems.add(item); }); - } catch (NullPointerException e) { + } catch (RuntimeException e) { upstreamSubscription.cancel(); onError(e); throw e; diff --git a/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtils.java b/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtils.java index 39447b081dda..0be56a39d988 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtils.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtils.java @@ -74,13 +74,18 @@ private static Optional resolveProperty(SystemSetting setting) { * Attempt to load this setting from the environment variables. */ public static Optional resolveEnvironmentVariable(SystemSetting setting) { + return resolveEnvironmentVariable(setting.environmentVariable()); + } + + /** + * Attempt to load a key from the environment variables. + */ + public static Optional resolveEnvironmentVariable(String key) { try { - // CHECKSTYLE:OFF - This is the only place we're allowed to use System.getenv - return Optional.ofNullable(setting.environmentVariable()).map(System::getenv); - // CHECKSTYLE:ON + return Optional.ofNullable(key).map(SystemSettingUtilsTestBackdoor::getEnvironmentVariable); } catch (SecurityException e) { LOG.debug("Unable to load the environment variable '{}' because the security manager did not allow the SDK" + - " to read this system property. This setting will be assumed to be null", setting.environmentVariable(), e); + " to read this system property. This setting will be assumed to be null", key, e); return Optional.empty(); } } diff --git a/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtilsTestBackdoor.java b/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtilsTestBackdoor.java new file mode 100644 index 000000000000..07cb131fbb98 --- /dev/null +++ b/utils/src/main/java/software/amazon/awssdk/utils/internal/SystemSettingUtilsTestBackdoor.java @@ -0,0 +1,52 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.utils.internal; + +import java.util.HashMap; +import java.util.Map; +import software.amazon.awssdk.annotations.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkTestInternalApi; +import software.amazon.awssdk.utils.SystemSetting; + +/** + * This is a backdoor to add overrides to the results of querying {@link SystemSetting}s. This is used for testing environment + * variables within the SDK + */ +@SdkTestInternalApi +@SdkInternalApi +public final class SystemSettingUtilsTestBackdoor { + private static final Map ENVIRONMENT_OVERRIDES = new HashMap<>(); + + private SystemSettingUtilsTestBackdoor() { + } + + public static void addEnvironmentVariableOverride(String key, String value) { + ENVIRONMENT_OVERRIDES.put(key, value); + } + + public static void clearEnvironmentVariableOverrides() { + ENVIRONMENT_OVERRIDES.clear(); + } + + static String getEnvironmentVariable(String key) { + if (!ENVIRONMENT_OVERRIDES.isEmpty() && ENVIRONMENT_OVERRIDES.containsKey(key)) { + return ENVIRONMENT_OVERRIDES.get(key); + } + // CHECKSTYLE:OFF - This is the only place we should access environment variables + return System.getenv(key); + // CHECKSTYLE:ON + } +} diff --git a/utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java b/utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java index 13f67785017c..372b75c4291e 100644 --- a/utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java +++ b/utils/src/test/java/software/amazon/awssdk/testutils/EnvironmentVariableHelper.java @@ -15,41 +15,23 @@ package software.amazon.awssdk.testutils; -import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; import java.util.function.Consumer; import org.junit.rules.ExternalResource; import software.amazon.awssdk.utils.SystemSetting; +import software.amazon.awssdk.utils.internal.SystemSettingUtilsTestBackdoor; /** - * A utility that can temporarily forcibly set environment variables and - * then allows resetting them to the original values. + * A utility that can temporarily forcibly set environment variables and then allows resetting them to the original values. + * + * This only works for environment variables read by the SDK. */ public class EnvironmentVariableHelper extends ExternalResource { - - private final Map originalEnvironmentVariables; - private final Map modifiableMap; - private volatile boolean mutated = false; - - public EnvironmentVariableHelper() { - // CHECKSTYLE:OFF - This is a specific utility around system environment variables - originalEnvironmentVariables = new HashMap<>(System.getenv()); - modifiableMap = Optional.ofNullable(processEnv()).orElse(envMap()); - // CHECKSTYLE:ON - } - public void remove(SystemSetting setting) { remove(setting.environmentVariable()); } public void remove(String key) { - mutated = true; - modifiableMap.remove(key); + SystemSettingUtilsTestBackdoor.addEnvironmentVariableOverride(key, null); } public void set(SystemSetting setting, String value) { @@ -57,20 +39,11 @@ public void set(SystemSetting setting, String value) { } public void set(String key, String value) { - mutated = true; - modifiableMap.put(key, value); + SystemSettingUtilsTestBackdoor.addEnvironmentVariableOverride(key, value); } public void reset() { - if (mutated) { - synchronized (this) { - if (mutated) { - modifiableMap.clear(); - modifiableMap.putAll(originalEnvironmentVariables); - mutated = false; - } - } - } + SystemSettingUtilsTestBackdoor.clearEnvironmentVariableOverrides(); } @Override @@ -78,13 +51,6 @@ protected void after() { reset(); } - private PrivilegedExceptionAction setAccessible(Field f) { - return () -> { - f.setAccessible(true); - return null; - }; - } - /** * Static run method that allows for "single-use" environment variable modification. * @@ -110,37 +76,4 @@ public static void run(Consumer helperConsumer) { helper.reset(); } } - - private Map envMap() { - // CHECKSTYLE:OFF - This is a specific utility around system environment variables - return getField(System.getenv().getClass(), System.getenv(), "m"); - // CHECKSTYLE:ON - } - - /** - * Windows is using a different process environment. - * - * See http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/windows/classes/java/lang/ProcessEnvironment.java#l235 - */ - private Map processEnv() { - Class processEnvironment; - try { - processEnvironment = Class.forName("java.lang.ProcessEnvironment"); - return getField(processEnvironment, null, "theCaseInsensitiveEnvironment"); - } catch (ClassNotFoundException e) { - return null; - } - } - - @SuppressWarnings("unchecked") - private Map getField(Class processEnvironment, Object obj, String fieldName) { - try { - Field declaredField = processEnvironment.getDeclaredField(fieldName); - AccessController.doPrivileged(setAccessible(declaredField)); - - return (Map) declaredField.get(obj); - } catch (IllegalAccessException | NoSuchFieldException | PrivilegedActionException e) { - return null; - } - } } diff --git a/utils/src/test/java/software/amazon/awssdk/utils/LazyTest.java b/utils/src/test/java/software/amazon/awssdk/utils/LazyTest.java index 288f74ce9d38..8bf80a1022cb 100644 --- a/utils/src/test/java/software/amazon/awssdk/utils/LazyTest.java +++ b/utils/src/test/java/software/amazon/awssdk/utils/LazyTest.java @@ -38,7 +38,7 @@ public void setup() { @Test public void delegateNotCalledOnCreation() { - Mockito.verifyZeroInteractions(mockDelegate); + Mockito.verifyNoMoreInteractions(mockDelegate); } @Test diff --git a/utils/src/test/java/software/amazon/awssdk/utils/ReflectionMethodInvokerTest.java b/utils/src/test/java/software/amazon/awssdk/utils/ReflectionMethodInvokerTest.java index de1393eb9b89..7cfd270604a0 100644 --- a/utils/src/test/java/software/amazon/awssdk/utils/ReflectionMethodInvokerTest.java +++ b/utils/src/test/java/software/amazon/awssdk/utils/ReflectionMethodInvokerTest.java @@ -26,7 +26,7 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class ReflectionMethodInvokerTest { diff --git a/utils/src/test/java/software/amazon/awssdk/utils/async/BufferingSubscriberTest.java b/utils/src/test/java/software/amazon/awssdk/utils/async/BufferingSubscriberTest.java index 416019706d47..5db4325ded2a 100644 --- a/utils/src/test/java/software/amazon/awssdk/utils/async/BufferingSubscriberTest.java +++ b/utils/src/test/java/software/amazon/awssdk/utils/async/BufferingSubscriberTest.java @@ -15,8 +15,8 @@ package software.amazon.awssdk.utils.async; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyLong; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -26,7 +26,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; diff --git a/utils/src/test/java/software/amazon/awssdk/utils/internal/MappingSubscriberTest.java b/utils/src/test/java/software/amazon/awssdk/utils/internal/MappingSubscriberTest.java index b4f750352ce8..77eb022a1501 100644 --- a/utils/src/test/java/software/amazon/awssdk/utils/internal/MappingSubscriberTest.java +++ b/utils/src/test/java/software/amazon/awssdk/utils/internal/MappingSubscriberTest.java @@ -22,7 +22,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription;