-
Notifications
You must be signed in to change notification settings - Fork 910
Add additional backwards-compatibility testing for legacy clients. #4493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add additional backwards-compatibility testing for legacy clients. #4493
Conversation
millems
commented
Sep 27, 2023
- Ensure anonymous credentials function correctly
- Ensure attributes set in custom execution interceptors make it to the legacy signer
1. Ensure anonymous credentials function correctly 2. Ensure attributes set in custom execution interceptors make it to the legacy signer
T currentValue = get(attributes); | ||
if (currentValue == null) { | ||
set(attributes, value); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is more correct, since the presence of the real attribute does not necessarily indicate that the execution attribute value is present (e.g. a signer property's existence isn't guaranteed even if the selected auth scheme is present).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fixed issues we've identified in other testing, even with new clients, since we still have code in core that does putIfAbsent after auth scheme is selected. Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Were you thinking of testing S3SignerExecutionAttributes in later PR?
import software.amazon.awssdk.testutils.service.http.MockSyncHttpClient; | ||
|
||
/** | ||
* Ensure that attributes set in execution interceptors are passed to custom signers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: can you add a note here saying the attributes being tested here are SdkProtectedApi, but we still want to make sure if works if customer set these via interceptors.
…-compatible-testing-2
…-compatible-testing-2
SonarCloud Quality Gate failed.
|