commit 2e94ff95b271fa0c530d4e1ca0d5efa3878eea34
parent ad8c3edb0dd866376e411fea1fecc3d4a773e5fa
Author: Antoine A <>
Date: Wed, 27 May 2026 14:43:01 +0200
bank: fix conversion tests
Diffstat:
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> {