105. Integration Testing on AWS
In this episode, we discuss integration testing event-driven systems and explore AWS's new Integration Application Test Kit (IATK). We cover the challenges of testing events and common approaches like logging, end-to-end testing, and using temporary queues. We then introduce IATK, walk through how to use it for EventBridge testing, and share our experience trying out the X-Ray trace validation. We found IATK promising but still rough around the edges, though overall a useful addition to help test complex event flows.
? SPONSORS ?
AWS Bites is brought to you by fourTheorem, an Advanced AWS Partner. If you are moving to AWS or need a partner to help you go faster, check us out at fourtheorem.com !
? Chapters:
00:00 Introduction to integration testing challenges
00:54 Overview of integration testing approaches
04:30 Common techniques for testing events
06:01 Difference between integration tests and end-to-end (E2E) tests
06:44 Existing tools like SLS Test Tools
08:14 Introducing AWS IATK
09:34 Using IATK for EventBridge testing
12:09 Walkthrough of creating IATK tests
15:12 Validating traces with IATK and X-Ray
19:01 Issues faced with trace validation
21:06 Generating mock events with IATK
23:02 Thoughts and pros and cons of IATK
27:37 Closing notes
In this episode, we mentioned the following resources:
- sls-test-tools on GitHub:
https://github.com/aleios-cloud/sls-test-tools- Sarah Hamilton’s article on Integration testing and how to use sls-test-tool:
https://medium.com/serverless-transformation/bridge-integrity-integration-testing-strategy-for-eventbridge-based-serverless-architectures-b73529397251- Our previous episode on building a cross-account Event Bridge deployment:
https://awsbites.com/39-how-do-you-build-a-cross-account-event-backbone-with-eventbridge/- Our IATK tests for the cross-account Event Bridge project:
https://github.com/fourTheorem/cross-account-eventbridge/blob/main/test/integration/test_events.py- IATK tutorial:
https://awslabs.github.io/aws-iatk/tutorial/- IATK examples:
https://awslabs.github.io/aws-iatk/tutorial/examples/retrieve_cfn_info/You can listen to AWS Bites wherever you get your podcasts:
- Apple Podcasts:
https://podcasts.apple.com/us/podcast/aws-bites/id1585489017- Spotify:
https://open.spotify.com/show/3Lh7PzqBFV6yt5WsTAmO5q - Google:
https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy82YTMzMTJhMC9wb2RjYXN0L3Jzcw== - Breaker:
https://www.breaker.audio/aws-bites- RSS:
https://anchor.fm/s/6a3312a0/podcast/rss Do you have any AWS questions you would like us to address?
Leave a comment here or connect with us on X, formerly Twitter:
-
https://twitter.com/eoins-
https://twitter.com/loige#aws #testing #integration
...
https://www.youtube.com/watch?v=1bt01ks5D6c