I am working with Docker to run my integration tests, it works pretty nice:
- I startup my docker containers (one with my server and one with the database)
- I run the IT using arquillian against these containers
Now we are moving to AWS and we would like to use Amazon RedShift for some analysis. The problem is that RedShift is only available in AWS, so I cannot create a RedShift image for Docker.
I would like to have a way that many developers + CI server can run tests in parallel (without affecting each other's results).
I've searched for any references about how people do it, but I could not find anything except for this post from Serenytics, which is not exactly what I need.
The possibilities I see are:
- Use one schema for each developer/CI server
- Use a Postgres Docker image for the developers and a real RedShift for the CI Server.
About number 1: it would run against the real DB in all instances, but we would need to have some "private" configuration for each developer and we would have multiple schemas in the database just for testing.
Number 2: We would not run against the real DB engine, so maybe not everything would be supported by Postgres. It could cause problems in the near future.
I imagine I am not the first one with this problem. How can I setup my tests so many people can run the tests in parallel and it doesn't pollute my database?