Skip to content
Unverified Commit b6bb3991 authored by Aaron Todd's avatar Aaron Todd Committed by GitHub
Browse files

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._
parent db90ed1f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment