Crate docker_tester

source ·
Expand description

Docker tester

This library provides simple functions for starting and stopping containers using Docker

Getting started

You must have Docker installed and started

use docker_tester::start_container;

fn main() {
    let image = "postgres:latest"
    let port = "5432"
    let args = &[
        "-e",
        "POSTGRES_USER=postgres",
        "-e",
        "POSTGRES_PASSWORD=password"
    ];
    let container = start_container(image, port, args)
        .expect("Failed to start Postgres contaienr");    
    assert!(container.id);
    assert!(container.host);
    assert!(container.port);
}

db-tester

use docker_tester::TestPostgres;

#[tokio::test]
async fn it_works() {
    let test_postgres = TestPostgres::new("./migrations").await.unwrap();
    let pool = test_postgres.get_pool().await;

    // do something with the pool

    // when test_postgres gets dropped, the database will be dropped on Docker
}

Structs

Container tracks information about the docker container started for tests.
TestPostgres contains a db connection infomation.

Functions

Starts the specified container for running tests.
Stops and removes the specified container.