Currently, we have tests nested under the test folder. These are integration tests that runs a locally built controller binary against the testdata stacks. We also have some unit tests (pending being fixed in #387), but these are unused currently. We should expand on our unit tests by also running them in CI, and encouraging new feature development to also include unit testing, rather than only having integration testing.
Some potential next steps after landing #387:
[x] Enable running unit tests by including a Make target
[x] Running both integration and unit tests in CI
[ ] Most of the tests in stack_controller_test.go should be split up so they test one thing at a time
[ ] Most of the tests in stack_controller_test.go could be rewritten to not need AWS, with the exception of testing S3 bucket as a backend (which could be skipped locally)
[ ] Potentially running periodic CI tests against an actual Kubernetes cluster
Update:
CI targets were fixed. stack_controller_test.go is deprecated. This is tracking the remaining work to run some E2E tests against a live cluster.
Currently, we have tests nested under the
test
folder. These are integration tests that runs a locally built controller binary against the testdata stacks. We also have some unit tests (pending being fixed in #387), but these are unused currently. We should expand on our unit tests by also running them in CI, and encouraging new feature development to also include unit testing, rather than only having integration testing.Some potential next steps after landing #387:
Most of the tests in stack_controller_test.go should be split up so they test one thing at a timeMost of the tests in stack_controller_test.go could be rewritten to not need AWS, with the exception of testing S3 bucket as a backend (which could be skipped locally)Update:
CI targets were fixed.
stack_controller_test.go
is deprecated. This is tracking the remaining work to run some E2E tests against a live cluster.