Add AWS QUERY protocol support#663
Open
arandito wants to merge 3 commits intosmithy-lang:feat/add-query-protocolfrom
Open
Add AWS QUERY protocol support#663arandito wants to merge 3 commits intosmithy-lang:feat/add-query-protocolfrom
arandito wants to merge 3 commits intosmithy-lang:feat/add-query-protocolfrom
Conversation
b4369c1 to
b9a4a2c
Compare
alexgromero
reviewed
Mar 23, 2026
|
|
||
| def test_aws_query_resolves_modeled_error_from_query_error_trait() -> None: | ||
| protocol = AwsQueryClientProtocol(_SERVICE_SCHEMA, "2020-01-08") | ||
| error = getattr(protocol, "_create_error")( |
Contributor
There was a problem hiding this comment.
Minor testing thought: could these error cases go through deserialize_response() instead of calling _create_error via getattr?
Using getattr works around the private access check, but testing the public path may be cleaner. Generally we try to avoid accessing private attributes in tests to allow underlying code to change without affecting public behavior.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds
awsQuerysupport: a new protocol generator and protocol-test projection, plussmithy-aws-coreruntime client protocol support with URL form-encoded request serialization and modeledawsQueryErrorhandling forawsQueryservices.It also includes supporting infrastructure changes: generated operation error schema registration, SigV4 protocol-test config for AWS protocol tests, and shared protocol-test handling for
application/x-www-form-urlencodedbodies.Note
This PR includes a couple changes that are directly ported from the currently open AWS JSON protocol PR #645. This PR will be rebased once the other is merged.
Testing
All supported protocol tests are passing. Tests in the explicit skip list remain skipped because they cover features that are not yet supported.
I was also able to generate a client for AWS STS from its Smithy service model and make a successful call:
STS test script
Output
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.