Skip to content
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

Dockerized integration test #25

Closed

Conversation

ldcasillas-progreso
Copy link

@ldcasillas-progreso ldcasillas-progreso commented Aug 5, 2016

This patch changes the integration test suite to use the TestContainers library to provision Vault as Docker containers from the official image. This means that apart from setting up Docker, there are no prerequisites for running the integration tests—just running ./gradlew integrationTests will provision and tear down Vault servers for the tests.

All tests pass on my environment (OS X 10.10.4, Docker For Mac 1.12).

Note that this patch is not without its downsides:

  1. TestContainers requires Java 8. This is only necessary for running the integration test; I don't know if there is some way to tell Gradle to use Java 7 for everything except the integration test.
  2. TestContainers currently doesn't support Docker on Windows.

@steve-perkins
Copy link
Contributor

Thanks so much for the PR, and apologies for it taking so long to get to it.

I absolutely love this idea, but I'd like to hold off for now. A couple of reasons:

  • Most of us here at BetterCloud are on OS X or Linux, but there's a broader audience out there. I'm not crazy about taking away the ability to run the integration test suite on Windows machines. I'd like to see if TestContainers (and Docker) work out the cross-platform issues at they matures a bit.
  • Again, my own company happens to be on Java 8 across the board, but there are lots of shops that are still on Java 7 (especially for legacy projects). I'm sure we'll drop Java 7 support eventually... but I'd hate to do so simply for the test suite, and I'd like to at least wait for Java 9's release so that we're always maintaining one version back.

@bsideup
Copy link

bsideup commented Feb 21, 2017

Hey folks,

FYI

  1. your product can continue to be on Java 7, only testing environment should be >=8. You can configure Gradle to compile main with 7 and tests with 8
  2. TestContainers works on Windows with docker-machine, just not currently tested on a regular basis, see the docs: https://www.testcontainers.org/compatibility.html
  3. Docker for Windows support is coming, see Docker for Windows support testcontainers/testcontainers-java#291

We're very welcome new TestContainers users and ready to help and prioritize the issues if they are blockers for you :)

@steve-perkins
Copy link
Contributor

I believe that things have progressed well enough with the TestContainers project that I'm comfortable pulling this in now, and doing away with the current manual integration tests setup.

Unfortunately, this PR has picked up some merge conflicts since it was originally created. I'm not sure if you'd like to merge from master and clean those up here, or resubmit a different PR from a fresh recent branch. But if you're still interested, @ldcasillas-progreso, I'd rather give you a chance to get "credit" for before adding it myself.

@steve-perkins
Copy link
Contributor

It's been about a month, and this looks to be abandoned. Apologies for the length of time that I let it sit in limbo... I just really didn't want to pull the trigger on this until TestContainers support for Windows was in a decent place.

At any rate, since this PR had grown chock full of merge conflicts, I ended up adding TestContainers support in #54 instead.

dttung2905 pushed a commit to dttung2905/vault-java-driver that referenced this pull request Apr 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants