testcontainers / testcontainers/testcontainers-java
Ability to use external resources instead of Docker depending on system or environment property
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 1.9k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 9
Description
I have faced with following issue. We use Testcontainers for our project, but on some laptops we do not have permissions to run Docker. Therefore we can't build the project and run all tests.
I have fixed this issue using Junit5 extension. I check system or environment property e.g. (mvn -Dhost=129.16.1.1). If this property does not exists, then I use Testcontainsers out of the box. Otherwise, I use instances that already deployed in given host.
This helps us run tests normally e.g. on Jenkins. By default if property host is not set. Or on laptop user can set up e.g. AWS EC2 instance with docker with required resources and use that remote docker to run application.
I think this could be useful feature for the whole project and offer to make me able to do a PullRequest instead of create my own smal Junit5 plugin and deploy it to the maven central.
Please, if you interested in this feature, I am ready to do it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposed JUnit5 extension and Testcontainers' normal Docker usage path. Define how a system or environment host property selects already-deployed resources while preserving the default Docker behavior. Done should include an agreed configuration contract and coverage for both default and remote-host execution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java
- Domain
- devops, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100