integresql
otj-pg-embedded
Our great sponsors
integresql | otj-pg-embedded | |
---|---|---|
5 | 6 | |
710 | 665 | |
4.9% | 0.2% | |
8.9 | 6.4 | |
3 months ago | 9 days ago | |
Go | 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.
integresql
-
Mock unit test an API that uses postgres or integration test API with a "test" database?
For the case of PostgreSQL I've found IntegreSQL and its Javascript client really helpful because it can create a copy of the database per test case, which it helps to write integration tests with real DB calls.
-
Mocking database calls without a library?
Mocking has some advantages, but so does using a real database, at work we use https://github.com/allaboutapps/integresql and I quite like the approach that integresql has, since it makes possible to have a fresh database with your dummy data for every test without impacting the execution speed (compared to dropping an re-creating the database).
-
Ask HN: How do you test SQL?
Happy to hear that! When it comes to testing services that depend on PostgreSQL, this is still my preferred solution.
https://github.com/allaboutapps/integresql
disclaimer: author
- IntegreSQL – isolated PostgreSQL databases for integration tests
-
Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
I haven't had a change to try it yet, but IntegreSQL[0] looks like this on steroids. It allows you to create a template (runs migrations and seed dates), and then uses Postgres's built in cloning functionality to maintain a pool of fresh databases. They claim 500ms to clone a database without the pool, and that the pool pretty much hides the latency entirely.
[0]: https://github.com/allaboutapps/integresql
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?
flyway-spawn-demo - CI demo using Flyway and Spawn
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.
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.
spawn-demo - Demo application to show how Spawn can be integrated in Development and CI
postgresql-embedded - Embedded PostgreSQL Server
entr - Run arbitrary commands when files change
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test
rush - Production-driven prototyping. This starter is setup in a production-friendly way and will setup tests + dev environment exactly like a live project will work. Works the same both on your laptop or Github CI, so you can go from hacking on your laptop to a full gitops environment.