aws / aws/aws-dotnet-messaging
Feature request: AWS.Messaging.Testing package
- Dominant language
- C#
- Stars
- 143
- Forks
- 27
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 4
Description
### Describe the feature
Introduce a package with tooling that allows for easy testing with AWS.messaging flows - from having payload enqueued all the way to consumption in handler.
### Use Case
Writing fast and simple test for flows in messaging (ie from enqueued event to consumption in your handler) is possible, but not really trivial unless you have good knowledge of event structures... and requires a bit of boilerplating. Having testing toolkit should make it easier for everyone to use.
### Proposed Solution
Introduce .Testing package that allows easy to use setup to test your AWS.messaging flows without necessity to connect to real SQS.
This could be just set of methods that will help you configure aws.messaging to local mock endpoint + `EventMock< T>` sort of wrapper for adding proper envelopes... Or go all the way including wiremock or similar to mock entire SQS and just use service collection extension method to inject it for testing scenarios.
### Other Information
This is early idea that would require proper feature list (wishlist) for desired functionality before design and implementation.
### Acknowledgements
- [x] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### AWS.Messaging (or related) package versions
AWS.Messaging 1.0.0+
### Targeted .NET Platform
NET6+
### Operating System and version
any
Contributor guide
Research direction
Start by reviewing the AWS.Messaging 1.0.0+ API and its .NET 6+ message-flow testing needs. The issue provides no files or tests, so first define the feature wishlist and design scope; done should include an agreed testing toolkit that exercises enqueue-to-handler flows without connecting to real SQS.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, csharp
- Domain
- backend, distributed-systems, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100