Crate with_postgres_ready
source ·Expand description
with_postgres_ready makes it easy to write tests that relies on a postgres database being ready to accept connections.
It does this by starting a Docker container with postgres, polling the database until it is ready, and then executing the block.
Examples
To get a connection url with the default configuration:
use with_postgres_ready::*;
#[test_log::test]
fn it_can_use_defaults() {
with_postgres_ready(|url| async move {
// Connect to the database using the url.
});
}To get more control, use the Runner builder:
use with_postgres_ready::*;
#[test_log::test]
fn it_can_use_customer_timeout_and_tokio_postgres() {
Runner::new().connection_timeout(Duration::from_secs(5)).run(|url| async move {
// Connect to the database using the url.
});
}Structs
Functions
- Run a test with a postgres container. The test will be passed a postgres connection url.