Description
Summary
At the moment, Powertools (.NET) only has unit and some integration tests with a Lambda or DynamoDB mock. This worked well until now, but we need more runtime coverage, especially since the support of AOT which will have issues that only occur at runtime.
Why is this needed?
With the introduction of AOT (Ahead-Of-Time) compilation, there are potential runtime issues that cannot be caught by unit or integration tests alone. AOT can introduce unique challenges and bugs that only manifest during actual execution in the runtime environment. To ensure the robustness and reliability of Powertools, we need to have end-to-end tests that cover these runtime scenarios.
Which area does this relate to?
Tests
Solution
To address this, we propose the following steps:
- Implement End-to-End (E2E) Tests: Develop comprehensive E2E tests that simulate real-world usage of Powertools with Lambda.
- Deploy and Test in Real Environments: Use AWS CDK to deploy the application stacks (including AOT-compiled functions) in a real AWS environment and run the E2E tests against these deployments.
- Automate Testing in CI/CD Pipeline: Integrate the E2E tests into GH Actions to ensure they are run automatically on every push to the develop branch or manually, providing continuous feedback on the application's runtime behavior.
By implementing these steps, we can achieve better runtime coverage and catch issues that only occur in the actual execution environment.
Acknowledgment
- This request meets Powertools for AWS Lambda (.NET) Tenets