libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 2e94ff95b271fa0c530d4e1ca0d5efa3878eea34
parent ad8c3edb0dd866376e411fea1fecc3d4a773e5fa
Author: Antoine A <>
Date:   Wed, 27 May 2026 14:43:01 +0200

bank: fix conversion tests

Diffstat:
Mcrates/libeufin-bank/src/api.rs | 26++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/crates/libeufin-bank/src/api.rs b/crates/libeufin-bank/src/api.rs @@ -252,11 +252,11 @@ pub mod test { use compact_str::CompactString; use jiff::Timestamp; use rand::{random_range, seq::IndexedRandom}; - use sqlx::{PgPool, Pool, Postgres, pool::PoolConnection}; use taler_api::db::BindHelper; use taler_common::{ api::{EddsaPublicKey, HashCode, ShortHashCode}, config::Config, + db::dbinit, error_code::ErrorCode, types::{ amount::{Amount, Decimal, decimal}, @@ -264,7 +264,7 @@ pub mod test { }, }; use taler_test_utils::{ - db::db_test_setup, + db::db_test_setup_manual, json, server::{TestRequest, TestResponse, TestServer as _}, }; @@ -309,14 +309,25 @@ pub mod test { } impl BankTestCtx { - pub async fn new(conf: &str, db: Pool<Postgres>) -> Self { + pub async fn new(conf: &str) -> Self { let cfg = Config::from_file( CONFIG_SOURCE, Some(format!("../../libeufin-bank/conf/{conf}")), ) .unwrap(); + let cfg = BankCfg::parse(cfg).unwrap(); + let dir = cfg.db_cfg.sql_dir.as_ref(); + let (mut conn, db) = db_test_setup_manual(dir, "libeufin-bank").await; + dbinit(&mut conn, dir, "libeufin-bank", true).await.unwrap(); + dbinit(&mut conn, dir, "libeufin-nexus", true) + .await + .unwrap(); + let procedure = + std::fs::read_to_string(dir.join("libeufin-conversion-setup.sql")).unwrap(); + sqlx::raw_sql(&procedure).execute(&mut *conn).await.unwrap(); + drop(conn); - let state = Arc::new(BankState::start(db.clone(), BankCfg::parse(cfg).unwrap()).await); + let state = Arc::new(BankState::start(db.clone(), cfg).await); let server = bank_api(state.clone()); let merchant_payto = db::account::create( @@ -809,17 +820,12 @@ pub mod test { } } - pub async fn db_setup() -> (PoolConnection<Postgres>, PgPool) { - db_test_setup(CONFIG_SOURCE).await - } - pub async fn bank_setup() -> BankTestCtx { bank_setup_conf("test.conf").await } pub async fn bank_setup_conf(conf: &str) -> BankTestCtx { - let (_, db) = db_setup().await; - BankTestCtx::new(conf, db).await + BankTestCtx::new(conf).await } pub fn tan_code(info: &str) -> Option<CompactString> {