Open petemounce opened 4 years ago
httpbin
Used within integration-tests/goss/goss-shared.yaml
.
Could replace with a trivial golang http server.
dnstest
Used within integration-tests\goss\goss-shared.yaml
.
Could replace with a https://coredns.io/ - I don't know very much about DNS server choices, but this looked at a glance easy to configure.
We'd need to spin up both dependencies, then run the integration tests, then tear down the dependencies. I think that could be achieved via a docker-compose.yml
with some judicious port-maps.
I think that could form the basis of reworking the linux-based integration tests, since each test-container could maybe become registered into the compose file - I think that might simplify away a bunch of shell script & makefile.
If I start this before someone else does (please say hi!), I think I'd
docker-compose up --daemon
to the integration-tests/test.sh at the top, and tear it down in a trap ... EXIT
That would get us to a working loop, even if it's inefficient to spin up and tear down per test-suite rather than for the whole CI run.
I'd probably then
One thing I would be interested in before actual work is done on this is a brief research on the pros/cons of using docker-compose vs https://github.com/testcontainers/testcontainers-go
The later may be less flexible, but one less build dependency to worry about? shrug
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Marking this as approved.
Status update:
Describe the bug
Our tests have external dependencies
How To Reproduce
Keep retrying.
Expected Behavior
Tests don't fail for external reasons.
Actual Behavior
If an external dependency is unavailable, our tests fail.
Environment: