#docker #tester #test #database-tester

docker_tester

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

5 releases

0.1.4 Nov 28, 2022
0.1.3 Nov 25, 2022
0.1.2 Nov 25, 2022
0.1.1 Nov 24, 2022
0.1.0 Nov 24, 2022

#1120 in Database interfaces

MIT license

14KB
240 lines

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
}

License

This project is distributed under the terms of MIT.

See LICENSE for details.

Copyright 2022 startdusk

Dependencies

~21–35MB
~685K SLoC