Skip to content

Commit 0cf30e1

Browse files
committed
Addressed review comments
1 parent 5c420e5 commit 0cf30e1

File tree

5 files changed

+75
-24
lines changed

5 files changed

+75
-24
lines changed

core/aws-core/src/main/java/software/amazon/awssdk/awscore/client/builder/AwsDefaultClientBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.net.URI;
2121
import java.util.Arrays;
2222
import java.util.List;
23-
import java.util.Objects;
2423
import java.util.Optional;
2524
import java.util.function.Supplier;
2625
import software.amazon.awssdk.annotations.SdkProtectedApi;
@@ -471,7 +470,7 @@ private static Pair<Region, Optional<Boolean>> transformFipsPseudoRegionIfNecess
471470

472471
private Supplier<ProfileFile> profileFileSupplierOrFallbackToProfileFile(SdkClientConfiguration config) {
473472
Supplier<ProfileFile> profileFile = config.option(SdkClientOption.PROFILE_FILE_SUPPLIER);
474-
if (Objects.nonNull(profileFile)) {
473+
if (profileFile != null) {
475474
return profileFile;
476475
}
477476

core/aws-core/src/test/java/software/amazon/awssdk/awscore/internal/AwsExecutionContextBuilderTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,7 @@ public void invokeInterceptorsAndCreateExecutionContext_multipleExecutionContext
183183

184184
@Test
185185
public void invokeInterceptorsAndCreateExecutionContext_profileFileSupplier_storesValueInExecutionAttributes() {
186-
HttpChecksum httpCrc32Checksum = HttpChecksum.builder().requestAlgorithm("crc32").isRequestStreaming(true).build();
187-
ClientExecutionParams<SdkRequest, SdkResponse> executionParams = clientExecutionParams()
188-
.putExecutionAttribute(SdkInternalExecutionAttribute.HTTP_CHECKSUM, httpCrc32Checksum);
186+
ClientExecutionParams<SdkRequest, SdkResponse> executionParams = clientExecutionParams();
189187
Supplier<ProfileFile> profileFileSupplier = () -> null;
190188
SdkClientConfiguration clientConfig = testClientConfiguration()
191189
.option(SdkClientOption.PROFILE_FILE_SUPPLIER, profileFileSupplier)

services/dynamodb/src/test/java/software/amazon/awssdk/services/dynamodb/DynamoDbRetryPolicyTest.java

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import software.amazon.awssdk.testutils.EnvironmentVariableHelper;
1818
import software.amazon.awssdk.utils.StringInputStream;
1919

20-
public class DynamoDbRetryPolicyTest {
20+
class DynamoDbRetryPolicyTest {
2121

2222
private EnvironmentVariableHelper environmentVariableHelper;
2323

@@ -32,23 +32,23 @@ public void reset() {
3232
}
3333

3434
@Test
35-
public void test_numRetries_with_standardRetryPolicy() {
35+
void test_numRetries_with_standardRetryPolicy() {
3636
environmentVariableHelper.set(SdkSystemSetting.AWS_RETRY_MODE.environmentVariable(), "standard");
3737
final SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration.builder().build();
3838
final RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
3939
assertThat(retryPolicy.numRetries()).isEqualTo(8);
4040
}
4141

4242
@Test
43-
public void test_numRetries_with_legacyRetryPolicy() {
43+
void test_numRetries_with_legacyRetryPolicy() {
4444
environmentVariableHelper.set(SdkSystemSetting.AWS_RETRY_MODE.environmentVariable(), "legacy");
4545
final SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration.builder().build();
4646
final RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
4747
assertThat(retryPolicy.numRetries()).isEqualTo(8);
4848
}
4949

5050
@Test
51-
public void test_backoffBaseDelay_with_standardRetryPolicy() {
51+
void test_backoffBaseDelay_with_standardRetryPolicy() {
5252
environmentVariableHelper.set(SdkSystemSetting.AWS_RETRY_MODE.environmentVariable(), "standard");
5353
SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration.builder().build();
5454
RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
@@ -60,7 +60,7 @@ public void test_backoffBaseDelay_with_standardRetryPolicy() {
6060
}
6161

6262
@Test
63-
public void resolve_retryModeSetInEnv_doesNotCallSupplier() {
63+
void resolve_retryModeSetInEnv_doesNotCallSupplier() {
6464
environmentVariableHelper.set(SdkSystemSetting.AWS_RETRY_MODE.environmentVariable(), "standard");
6565
SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration.builder().build();
6666
RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
@@ -70,7 +70,26 @@ public void resolve_retryModeSetInEnv_doesNotCallSupplier() {
7070
}
7171

7272
@Test
73-
public void resolve_retryModeNotSetInEnv_resolvesFromupplier() {
73+
void resolve_retryModeSetWithEnvAndSupplier_resolvesFromEnv() {
74+
environmentVariableHelper.set(SdkSystemSetting.AWS_RETRY_MODE.environmentVariable(), "standard");
75+
ProfileFile profileFile = ProfileFile.builder()
76+
.content(new StringInputStream("[profile default]\n"
77+
+ "retry_mode = adaptive"))
78+
.type(ProfileFile.Type.CONFIGURATION)
79+
.build();
80+
SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration
81+
.builder()
82+
.option(SdkClientOption.PROFILE_FILE_SUPPLIER, () -> profileFile)
83+
.option(SdkClientOption.PROFILE_NAME, "default")
84+
.build();
85+
RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
86+
RetryMode retryMode = retryPolicy.retryMode();
87+
88+
assertThat(retryMode).isEqualTo(RetryMode.STANDARD);
89+
}
90+
91+
@Test
92+
void resolve_retryModeSetWithSupplier_resolvesFromSupplier() {
7493
ProfileFile profileFile = ProfileFile.builder()
7594
.content(new StringInputStream("[profile default]\n"
7695
+ "retry_mode = adaptive"))
@@ -87,4 +106,39 @@ public void resolve_retryModeNotSetInEnv_resolvesFromupplier() {
87106
assertThat(retryMode).isEqualTo(RetryMode.ADAPTIVE);
88107
}
89108

109+
@Test
110+
void resolve_retryModeSetWithSdkClientOption_resolvesFromSdkClientOption() {
111+
ProfileFile profileFile = ProfileFile.builder()
112+
.content(new StringInputStream("[profile default]\n"))
113+
.type(ProfileFile.Type.CONFIGURATION)
114+
.build();
115+
SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration
116+
.builder()
117+
.option(SdkClientOption.PROFILE_FILE_SUPPLIER, () -> profileFile)
118+
.option(SdkClientOption.PROFILE_NAME, "default")
119+
.option(SdkClientOption.DEFAULT_RETRY_MODE, RetryMode.STANDARD)
120+
.build();
121+
RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
122+
RetryMode retryMode = retryPolicy.retryMode();
123+
124+
assertThat(retryMode).isEqualTo(RetryMode.STANDARD);
125+
}
126+
127+
@Test
128+
void resolve_retryModeNotSetWithEnvNorSupplier_resolvesFromSdkDefault() {
129+
ProfileFile profileFile = ProfileFile.builder()
130+
.content(new StringInputStream("[profile default]\n"))
131+
.type(ProfileFile.Type.CONFIGURATION)
132+
.build();
133+
SdkClientConfiguration sdkClientConfiguration = SdkClientConfiguration
134+
.builder()
135+
.option(SdkClientOption.PROFILE_FILE_SUPPLIER, () -> profileFile)
136+
.option(SdkClientOption.PROFILE_NAME, "default")
137+
.build();
138+
RetryPolicy retryPolicy = DynamoDbRetryPolicy.resolveRetryPolicy(sdkClientConfiguration);
139+
RetryMode retryMode = retryPolicy.retryMode();
140+
141+
assertThat(retryMode).isEqualTo(RetryMode.LEGACY);
142+
}
143+
90144
}

services/ssooidc/src/main/java/software/amazon/awssdk/services/ssooidc/SsoOidcProfileTokenProviderFactory.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,21 @@ public final class SsoOidcProfileTokenProviderFactory implements ChildProfileTok
4242

4343
@Override
4444
public SdkTokenProvider create(ProfileFile profileFile, Profile profile) {
45-
return new SsooidcProfileTokenProvider(profileFile, profile);
45+
return new SsoOidcProfileTokenProvider(profileFile, profile);
4646
}
4747

4848
public SdkTokenProvider create(Supplier<ProfileFile> profileFile, String profileName) {
49-
return new SsooidcSuppliedProfileTokenProvider(profileFile, profileName);
49+
return new SsoOidcSuppliedProfileTokenProvider(profileFile, profileName);
5050
}
5151

52-
private static final class SsooidcSuppliedProfileTokenProvider implements SdkTokenProvider, SdkAutoCloseable {
52+
private static final class SsoOidcSuppliedProfileTokenProvider implements SdkTokenProvider, SdkAutoCloseable {
5353

5454
private final Supplier<ProfileFile> profileFile;
5555
private final String profileName;
5656
private volatile ProfileFile currentProfileFile;
57-
private volatile SsooidcProfileTokenProvider currentTokenProvider;
57+
private volatile SsoOidcProfileTokenProvider currentTokenProvider;
5858

59-
private SsooidcSuppliedProfileTokenProvider(Supplier<ProfileFile> profileFile, String profileName) {
59+
private SsoOidcSuppliedProfileTokenProvider(Supplier<ProfileFile> profileFile, String profileName) {
6060
this.profileFile = profileFile;
6161
this.profileName = profileName;
6262
}
@@ -73,7 +73,7 @@ private SdkTokenProvider sdkTokenProvider() {
7373
if (!Objects.equals(profileFileInstance, currentProfileFile)) {
7474
Profile profileInstance = resolveProfile(profileFileInstance, profileName);
7575
currentProfileFile = profileFileInstance;
76-
currentTokenProvider = new SsooidcProfileTokenProvider(profileFileInstance, profileInstance);
76+
currentTokenProvider = new SsoOidcProfileTokenProvider(profileFileInstance, profileInstance);
7777
}
7878
}
7979
}
@@ -102,10 +102,10 @@ public void close() {
102102
* A wrapper for a {@link SdkTokenProvider} that is returned by this factory when {@link #create(ProfileFile,Profile)} is
103103
* invoked. This wrapper is important because it ensures the token provider is closed when it is no longer needed.
104104
*/
105-
private static final class SsooidcProfileTokenProvider implements SdkTokenProvider, SdkAutoCloseable {
105+
private static final class SsoOidcProfileTokenProvider implements SdkTokenProvider, SdkAutoCloseable {
106106
private final SsoOidcTokenProvider sdkTokenProvider;
107107

108-
private SsooidcProfileTokenProvider(ProfileFile profileFile, Profile profile) {
108+
private SsoOidcProfileTokenProvider(ProfileFile profileFile, Profile profile) {
109109
String profileSsoSectionName = profile.property(
110110
ProfileSection.SSO_SESSION
111111
.getPropertyKeyName()).orElseThrow(() -> new IllegalStateException(

services/ssooidc/src/test/java/software/amazon/awssdk/services/ssooidc/internal/SsoOidcProfileTokenProviderFactoryTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ void create_SsooidcTokenProvider_from_SsooidcSpecificProfile() {
9595
}
9696

9797
@Test
98-
void create_SsooidcTokenProvider_from_SsooidcSpecificProfileSupplier() {
98+
void create_SsoOidcTokenProvider_from_SsooidcSpecificProfileSupplier() {
9999
String profileContent = "[profile ssotoken]\n" +
100100
"sso_session=admin\n" +
101101
"[sso-session admin]\n" +
@@ -105,13 +105,13 @@ void create_SsooidcTokenProvider_from_SsooidcSpecificProfileSupplier() {
105105
.content(new StringInputStream(profileContent))
106106
.type(ProfileFile.Type.CONFIGURATION)
107107
.build();
108-
SdkTokenProvider sdkTokenProvider = new SsoOidcProfileTokenProviderFactory().create(() -> profiles,"ssotoken");
108+
SdkTokenProvider sdkTokenProvider = new SsoOidcProfileTokenProviderFactory().create(() -> profiles, "ssotoken");
109109
Assertions.assertThat(sdkTokenProvider).isNotNull();
110110

111111
}
112112

113113
@Test
114-
void create_SsooidcTokenProvider_with_ssoAccountIdInProfile() {
114+
void create_SsoOidcTokenProvider_with_ssoAccountIdInProfile() {
115115
String profileContent = "[profile sso]\n" +
116116
"sso_region=us-east-1\n" +
117117
"sso_account_id=1234567\n" +
@@ -127,7 +127,7 @@ void create_SsooidcTokenProvider_with_ssoAccountIdInProfile() {
127127
}
128128

129129
@Test
130-
void create_SsooidcTokenProvider_with_ssoRoleNameInProfile() {
130+
void create_SsoOidcTokenProvider_with_ssoRoleNameInProfile() {
131131
String profileContent = "[profile sso]\n" +
132132
"sso_region=us-east-1\n" +
133133
"sso_role_name=ssoSpecificRole\n" +
@@ -143,7 +143,7 @@ void create_SsooidcTokenProvider_with_ssoRoleNameInProfile() {
143143
}
144144

145145
@Test
146-
void create_SsooidcTokenProvider_with_ssoRoleNameInProfileSupplier() {
146+
void create_SsoOidcTokenProvider_with_ssoRoleNameInProfileSupplier() {
147147
String profileContent = "[profile sso]\n" +
148148
"sso_region=us-east-1\n" +
149149
"sso_role_name=ssoSpecificRole\n" +

0 commit comments

Comments
 (0)