promote aws-smithy-mocks out of experimental (#4098)
## Motivation and Context * https://github.com/smithy-lang/smithy-rs/issues/4074 * https://github.com/smithy-lang/smithy-rs/issues/3926 ## Description * Rename `aws-smithy-mocks-experimental` to `aws-smithy-mocks` and reset version to `0.1.0` * Fix [#3926](https://github.com/smithy-lang/smithy-rs/issues/3926) by having `mock_client!` macro always set an HTTP client. By default it returns a dummy I'm a teapot response to aid in debugging and be easy to tell where that response is coming from. Also when a rule sets an HTTP response it is not set as an extension in the request and returned by the HTTP client. This allows for more thorough and accurate integration testing as the client/runtime will see the response coming from the HTTP client instead of being ignored and then replaced as it was before * Added a new sequence builder API for allowing a rule to generate more than one response. This allows for testing retries for example. * Also deleted a hyper 1.x test that is no longer needed and was ignored anyway ## Questions * In this PR I've simply renamed/moved `aws-smithy-mocks-experimental` to `aws-smithy-mocks`. Do we want or need to publish one last version of `aws-smithy-mocks-experimental` with a deprecated API that instructs users it has moved? Alternatively we could publish an [informational advisory notice](https://github.com/RustSec/advisory-db#advisory-format) about the rename. We don't currently promote the crate anywhere and the dev guide will get updated so I'm on the fence for what we want to do. ## Testing * Added new unit tests to exercise the API without needing an SDK client by leveraging the manual `Operation` APIs. * Added new integration tests for S3 to cover the macros and test the library e2e. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x] For changes to the smithy-rs codegen or runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "client," "server," or both in the `applies_to` key. - [x] For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "aws-sdk-rust" in the `applies_to` key. ---- _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