pub struct IsolatedTestDb { /* private fields */ }Expand description
A test database scoped to a single test. Call cleanup() to drop it immediately,
or rely on future test runs to clean up orphaned databases.
Implementations§
Source§impl IsolatedTestDb
impl IsolatedTestDb
Sourcepub async fn setup(
test_name: &str,
internal_sql: &str,
migrations_dir: &Path,
) -> Result<IsolatedTestDb, ForgeError>
pub async fn setup( test_name: &str, internal_sql: &str, migrations_dir: &Path, ) -> Result<IsolatedTestDb, ForgeError>
Convenience: from_env() → isolated() → run_sql(internal_sql) → migrate().
pub fn pool(&self) -> &Pool<Postgres>
pub fn db_name(&self) -> &str
Sourcepub async fn run_sql(&self, sql: &str) -> Result<(), ForgeError>
pub async fn run_sql(&self, sql: &str) -> Result<(), ForgeError>
Run multi-statement SQL, handling PL/pgSQL dollar-quoted strings.
Sourcepub async fn cleanup(self) -> Result<(), ForgeError>
pub async fn cleanup(self) -> Result<(), ForgeError>
Drop the isolated database and close all connections.
Auto Trait Implementations§
impl Freeze for IsolatedTestDb
impl !RefUnwindSafe for IsolatedTestDb
impl Send for IsolatedTestDb
impl Sync for IsolatedTestDb
impl Unpin for IsolatedTestDb
impl UnsafeUnpin for IsolatedTestDb
impl !UnwindSafe for IsolatedTestDb
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more