gradle-docker-compose-plugin
otj-pg-embedded
gradle-docker-compose-plugin | otj-pg-embedded | |
---|---|---|
1 | 6 | |
402 | 669 | |
0.0% | 0.6% | |
6.3 | 6.5 | |
7 days ago | 25 days ago | |
Groovy | Java | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gradle-docker-compose-plugin
-
Testcontainers
Something that improved developer experience by far and also sped up our builds is starting the container dependencies via docker-compose and connect to it for integration testing. This allows reuse of containers, you can connect to it after/during an integration test to debug without having to keep searching for ports constantly.
With TestContainers - I've perceived that running integration tests / a single test repeatedly locally is extremely slow as the containers are shut down when the java process is killed. This approach allows for this while also allowing to keep it consistent - example, just mount the migrations folder in the start volume of your DB container and you have a like-for-like schema of your prod DB ready for integration tests.
I've found the https://github.com/avast/gradle-docker-compose-plugin/ very useful for this.
otj-pg-embedded
-
Testcontainers
Anyone have an opinion of embedded-postgres vs https://github.com/opentable/otj-pg-embedded (of which its a fork) for Clojure use?
-
What's the best approach for creating an embedded Postgresql to be used in production?
Can you elaborate a bit on this part? I'm still unsure why it's unadvised to do this, as I understood from other commenters it's because there is no official support for it correct? Why can't I use opentable for instance? https://github.com/opentable/otj-pg-embedded
-
SQLite Is Dynamically Typed (2020)
It's pretty easy to run embedded postgres on the JVM: https://github.com/opentable/otj-pg-embedded
The defaults create a temporary DB which is useful for dev & tests, but a pair of calls to .setCleanDataDirectory(false) and .setDataDirectory("...") will change that.
If you don't like the default postgres version, you may select one from https://search.maven.org/search?q=io.zonky.test.postgres or include your own postgres binary.
- Experiment: using PostgreSQL as a user process
-
Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
I've been using this embedded PostgreSQL thing for tests:
https://github.com/opentable/otj-pg-embedded
It's very simple to use and works perfectly. The one problem, and it's a significant one, is that it only ships one version of PostgreSQL, and adding another was difficult enough that I didn't.
What are some alternatives?
services-flake - NixOS-like services for Nix flakes
testcontainers-go - Testcontainers for Go is a Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.
embedded-postgres-binaries - Lightweight bundles of PostgreSQL binaries with reduced size intended for testing purposes.
Testcontainers - Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
nammayatri - A Direct-to-Driver open mobility platform powering the next-generation of mobility applications in India.
postgresql-embedded - Embedded PostgreSQL Server
latte - Latte is a modern data engineering toolkit.
integresql - IntegreSQL manages isolated PostgreSQL databases for your integration tests.
testcontainers-node - Testcontainers is a NodeJS library that supports tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
dagger - Application Delivery as Code that Runs Anywhere
embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test