-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integration tests #31
Comments
I definitely want the ability to automate the execution of these kinds of stack verification steps. For example, the file linked above has: /*
* Stack verification steps:
* * `curl -s -o /dev/null -w "%{http_code}" <url>` should return 401
* * `curl -s -o /dev/null -w "%{http_code}" -H 'Authorization: deny' <url>` should return 403
* * `curl -s -o /dev/null -w "%{http_code}" -H 'Authorization: allow' <url>` should return 200
*/ So if I run I believe this included in the task Support Assertions, based on the first bullet point in #88. |
Thanks, copying @nija-at |
Hey, so I have just came across this PR and as I am currently implementation a solution for my team I wanted to just share my somewhat simplistic approach to performing post deploying integration testing on a stack.
My approach was to simply create a secondary jest configuration that would allow us to distinguish between unit and integration test files (
We have created some support utilities to make it simpler for developers to export those values within having a lot of duplicated When we execute the
This may have already been discussed and ruled out as an approach and if so it would be great to hear back from those who may have more experience with this approach to highlight some of the long term issues. Regards :) |
Thanks for your comment @robert-pitt-foodhub. Could you also provide details into how you execute these integration tests? Ex: do they run as part of your CI pipeline? Are you deploying a fresh stack each time for every integration test? How have you set up your AWS accounts? How do you clean up after a failure? |
Our team has been experimenting with Step Functions to perform integration testing. We like this approach because the errors are easy to see in the execution history, they can take as long as they need, and it's easy to get at any x-ray traces to see where faults lie. It's also pretty easy to bundle up any custom lambdas and invoke them in one or several of the state machine steps - the code for that stuff can live right next to the definition of the test. We've been starting the state machines from staging environment pipeline steps. We built a tool called We've also been starting and monitoring a few state machine integration tests via Custom Resources. We've liked these because they back out of deployments automatically if something is wrong, but we use them more sparingly. We're also experimenting with low-code ways to make assertions in the state machines, but we're not sure yet what we'll do there. |
integ-runner is available |
Description
Progress
The text was updated successfully, but these errors were encountered: