From e5468f2e1a7e593a9940f00a15248430a9f38e33 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sun, 17 Nov 2024 01:00:00 +0100 Subject: [PATCH] database/tests/schema_details: Use async queries --- Cargo.lock | 2 ++ crates/crates_io_database/Cargo.toml | 2 ++ .../crates_io_database/tests/schema_details.rs | 18 ++++++++++-------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5c97b471045..f42b658f746 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1142,7 +1142,9 @@ version = "0.0.0" dependencies = [ "crates_io_test_db", "diesel", + "diesel-async", "diesel_full_text_search", + "tokio", ] [[package]] diff --git a/crates/crates_io_database/Cargo.toml b/crates/crates_io_database/Cargo.toml index fce02eb6b48..f0bb3eea390 100644 --- a/crates/crates_io_database/Cargo.toml +++ b/crates/crates_io_database/Cargo.toml @@ -13,3 +13,5 @@ diesel_full_text_search = "=2.2.0" [dev-dependencies] crates_io_test_db = { path = "../crates_io_test_db" } +diesel-async = { version = "=0.5.1", features = ["postgres"] } +tokio = { version = "=1.41.1", features = ["macros", "rt"] } diff --git a/crates/crates_io_database/tests/schema_details.rs b/crates/crates_io_database/tests/schema_details.rs index 3a75399cba2..6d7add20301 100644 --- a/crates/crates_io_database/tests/schema_details.rs +++ b/crates/crates_io_database/tests/schema_details.rs @@ -1,10 +1,11 @@ use crates_io_test_db::TestDatabase; use diesel::prelude::*; use diesel::sql_types::Text; +use diesel_async::RunQueryDsl; -#[test] -fn all_columns_called_crate_id_have_a_cascading_foreign_key() { - for row in get_fk_constraint_definitions("crate_id") { +#[tokio::test] +async fn all_columns_called_crate_id_have_a_cascading_foreign_key() { + for row in get_fk_constraint_definitions("crate_id").await { let constraint = match row.constraint { Some(c) => c, None => panic!( @@ -22,9 +23,9 @@ fn all_columns_called_crate_id_have_a_cascading_foreign_key() { } } -#[test] -fn all_columns_called_version_id_have_a_cascading_foreign_key() { - for row in get_fk_constraint_definitions("version_id") { +#[tokio::test] +async fn all_columns_called_version_id_have_a_cascading_foreign_key() { + for row in get_fk_constraint_definitions("version_id").await { let constraint = match row.constraint { Some(c) => c, None => panic!( @@ -66,14 +67,15 @@ struct TableNameAndConstraint { constraint: Option, } -fn get_fk_constraint_definitions(column_name: &str) -> Vec { +async fn get_fk_constraint_definitions(column_name: &str) -> Vec { use diesel::sql_query; let test_db = TestDatabase::new(); - let mut conn = test_db.connect(); + let mut conn = test_db.async_connect().await; sql_query(include_str!("load_foreign_key_constraints.sql")) .bind::(column_name) .load(&mut conn) + .await .unwrap() }