Skip to content

Commit b646831

Browse files
committed
Don't use ServiceBuilder to build the sqliteconnection in unit tests
1 parent 329b3ad commit b646831

File tree

3 files changed

+25
-28
lines changed

3 files changed

+25
-28
lines changed

mithril-signer/src/cardano_transactions_importer.rs

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ impl TransactionsImporter for CardanoTransactionsImporter {
114114
#[cfg(test)]
115115
mod tests {
116116
use crate::database::provider::CardanoTransactionRepository;
117-
use crate::{Configuration, ProductionServiceBuilder};
118-
use mithril_persistence::sqlite::SqliteConnection;
117+
use crate::database::test_utils::apply_all_transactions_db_migrations;
119118
use mockall::mock;
120119
use mockall::predicate::eq;
120+
use sqlite::Connection;
121121

122122
use super::*;
123123

@@ -135,19 +135,6 @@ mod tests {
135135
}
136136
}
137137

138-
async fn get_connection() -> Arc<SqliteConnection> {
139-
let party_id = "party-id-123".to_string();
140-
let configuration = Configuration::new_sample(&party_id);
141-
let production_service_builder = ProductionServiceBuilder::new(&configuration);
142-
production_service_builder
143-
.build_sqlite_connection(
144-
":memory:",
145-
crate::database::cardano_transaction_migration::get_migrations(),
146-
)
147-
.await
148-
.unwrap()
149-
}
150-
151138
fn build_importer(
152139
parser_mock_config: &dyn Fn(&mut MockTransactionParserImpl),
153140
store_mock_config: &dyn Fn(&mut MockTransactionStore),
@@ -275,7 +262,8 @@ mod tests {
275262
CardanoTransaction::new("tx_hash-4", 20, 30, "block_hash-2", 12),
276263
];
277264
let importer = {
278-
let connection = get_connection().await;
265+
let connection = Connection::open_thread_safe(":memory:").unwrap();
266+
apply_all_transactions_db_migrations(&connection).unwrap();
279267
let parsed_transactions = transactions.clone();
280268
let mut parser = MockTransactionParserImpl::new();
281269
parser
@@ -284,7 +272,7 @@ mod tests {
284272

285273
CardanoTransactionsImporter::new(
286274
Arc::new(parser),
287-
Arc::new(CardanoTransactionRepository::new(connection.clone())),
275+
Arc::new(CardanoTransactionRepository::new(Arc::new(connection))),
288276
Path::new(""),
289277
None,
290278
crate::test_tools::logger_for_tests(),

mithril-signer/src/database/mod.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,19 @@
44
pub mod cardano_transaction_migration;
55
pub mod migration;
66
pub mod provider;
7+
8+
#[cfg(test)]
9+
pub mod test_utils {
10+
use mithril_common::StdResult;
11+
use mithril_persistence::sqlite::SqliteConnection;
12+
13+
use super::*;
14+
15+
pub fn apply_all_transactions_db_migrations(connection: &SqliteConnection) -> StdResult<()> {
16+
for migration in cardano_transaction_migration::get_migrations() {
17+
connection.execute(&migration.alterations)?;
18+
}
19+
20+
Ok(())
21+
}
22+
}

mithril-signer/src/database/provider/cardano_transaction.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -343,21 +343,14 @@ mod tests {
343343
use mithril_persistence::sqlite::SourceAlias;
344344
use sqlite::Connection;
345345

346-
use crate::{Configuration, ProductionServiceBuilder};
346+
use crate::database::test_utils::apply_all_transactions_db_migrations;
347347

348348
use super::*;
349349

350350
async fn get_connection() -> Arc<SqliteConnection> {
351-
let party_id = "party-id-123".to_string();
352-
let configuration = Configuration::new_sample(&party_id);
353-
let production_service_builder = ProductionServiceBuilder::new(&configuration);
354-
production_service_builder
355-
.build_sqlite_connection(
356-
":memory:",
357-
crate::database::cardano_transaction_migration::get_migrations(),
358-
)
359-
.await
360-
.unwrap()
351+
let connection = Connection::open_thread_safe(":memory:").unwrap();
352+
apply_all_transactions_db_migrations(&connection).unwrap();
353+
Arc::new(connection)
361354
}
362355

363356
#[test]

0 commit comments

Comments
 (0)