matrix-org / matrix-org/complement
Simplify internals
- Dominant language
- Go
- Stars
- 99
- Forks
- 72
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 8
Description
The idea of running docker containers in Go tests isn't new. It was reasonably new back when Complement started, but now there are libraries we could use instead, notably https://github.com/testcontainers/testcontainers-go
We should consider using this internally. This would be transparent to tests as they have a separate API shape, and greatly simplify the burden of maintaining Complement internals, as the cost of an extra dependency. This dependency though is backed by a number of companies and does test containers for other languages as well, [not just Go](https://github.com/testcontainers).
Contributor guide
Research direction
Start by tracing Complement’s current Docker-container setup used by its Go tests, then compare its internal API with testcontainers-go. Confirm whether the test-facing API can remain unchanged and run the existing Go tests; done means the internals use the dependency, container tests still pass, and maintenance code is simpler.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- infrastructure, testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100