testkit-postgres 0.1.1

PostgreSQL support for the testkit database testing library
Documentation
use async_trait::async_trait;

#[async_trait]
pub trait TransactionTrait: Send + Sync {
    type Error: Send + Sync;
    async fn commit(&mut self) -> Result<(), Self::Error>;
    async fn rollback(&mut self) -> Result<(), Self::Error>;
}

#[async_trait]
pub trait TransactionManager: Send + Sync {
    type Error: Send + Sync;
    type Tx: TransactionTrait<Error = Self::Error> + Send + Sync;
    type Connection: Send + Sync;

    async fn begin_transaction(&mut self) -> Result<Self::Tx, Self::Error>;
    async fn commit_transaction(tx: &mut Self::Tx) -> Result<(), Self::Error>;
    async fn rollback_transaction(tx: &mut Self::Tx) -> Result<(), Self::Error>;
}