mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-12-28 19:49:23 +00:00
test: add a regression test for the bugs discovered with #527
This commit is contained in:
parent
cc736df4d6
commit
9befdc81bf
@ -1,11 +1,13 @@
|
||||
use futures::{FutureExt, TryFutureExt};
|
||||
use sqlx::any::AnyPoolOptions;
|
||||
use sqlx::prelude::*;
|
||||
use sqlx_core::any::AnyPool;
|
||||
use sqlx_test::new;
|
||||
use std::sync::{
|
||||
atomic::{AtomicUsize, Ordering},
|
||||
Arc,
|
||||
};
|
||||
use std::time::Duration;
|
||||
|
||||
#[sqlx_macros::test]
|
||||
async fn pool_should_invoke_after_connect() -> anyhow::Result<()> {
|
||||
@ -35,3 +37,32 @@ async fn pool_should_invoke_after_connect() -> anyhow::Result<()> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// https://github.com/launchbadge/sqlx/issues/527
|
||||
#[sqlx_macros::test]
|
||||
async fn pool_should_be_returned_failed_transactions() -> anyhow::Result<()> {
|
||||
let pool = AnyPoolOptions::new()
|
||||
.max_connections(2)
|
||||
.connect_timeout(Duration::from_secs(3))
|
||||
.connect(&dotenv::var("DATABASE_URL")?)
|
||||
.await?;
|
||||
|
||||
let query = "blah blah";
|
||||
|
||||
let mut tx = pool.begin().await?;
|
||||
let res = sqlx::query(query).execute(&mut tx).await;
|
||||
assert!(res.is_err());
|
||||
drop(tx);
|
||||
|
||||
let mut tx = pool.begin().await?;
|
||||
let res = sqlx::query(query).execute(&mut tx).await;
|
||||
assert!(res.is_err());
|
||||
drop(tx);
|
||||
|
||||
let mut tx = pool.begin().await?;
|
||||
let res = sqlx::query(query).execute(&mut tx).await;
|
||||
assert!(res.is_err());
|
||||
drop(tx);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user