Make the SDK ad hoc tests pass against the orchestrator (#2708)
## Motivation and Context This PR refactors the client protocol test generator machinery to use a client instead of calling `make_operation` directly, and then fixes the ad hoc tests for the orchestrator. The ad hoc tests revealed that overriding the signing region/service via endpoint config was lost when porting SigV4 signing to the orchestrator, so this PR updates the SigV4 `HttpRequestSigner` implementation to restore this functionality. It is doing this in the signer directly rather than via an interceptor since it should only run this logic when SigV4 is the selected auth scheme. Other notable changes: - Adds `--no-fail-fast` arg to `cargoTest` targets so that all Rust tests run in CI rather than stopping on the first failure - Changes `EndpointResolver::resolve_and_apply_endpoint` to just `resolve_endpoint` so that the orchestrator can place the endpoint config into the request state, which is required for the signer to make use of it - Adds a `set_region` method to SDK service configs - Deletes the API Gateway model and integration test from the SDK smoke test since it is covered by the ad hoc tests - Adds a comment explaining where the API Gateway model comes from in the ad hoc tests - Adds a `smithy.runtime.mode` Gradle property to `aws:sdk` and `aws:sdk-adhoc-test` to trivially switch between middleware and orchestrator when testing/generating locally ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
Loading
Please register or sign in to comment