mockgres 0.0.29

An in-memory database that replicates a reasonable subset of Postgres functionality to make unit tests that rely on a database to run.
Documentation
mod common;

use common::start;
use tokio_postgres::types::Type;

#[tokio::test(flavor = "multi_thread")]
async fn select_version_functions() {
    let ctx = start().await;

    for sql in ["select version()", "select pg_catalog.version()"] {
        let rows = ctx.client.query(sql, &[]).await.expect("query ok");
        assert_eq!(rows.len(), 1);
        assert_eq!(rows[0].columns()[0].type_(), &Type::TEXT);
        let v: String = rows[0].get(0);
        assert!(
            v.starts_with(&format!("PostgreSQL {}", mockgres::POSTGRES_COMPAT_VERSION)),
            "unexpected version string: {v}"
        );
    }

    let _ = ctx.shutdown.send(());
}