Skip to content

Commit a54a49e

Browse files
committed
Synchronise usage of test db connection between signer & aggregator
1 parent c928e58 commit a54a49e

File tree

4 files changed

+31
-25
lines changed

4 files changed

+31
-25
lines changed

mithril-aggregator/src/database/repository/certificate_repository.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,6 @@ impl CertificateRetriever for CertificateRepository {
116116

117117
#[cfg(test)]
118118
mod tests {
119-
use sqlite::{Connection, Value};
120-
121119
use mithril_common::crypto_helper::tests_setup::setup_certificate_chain;
122120

123121
use crate::database::test_helper::{insert_certificate_records, main_db_connection};

mithril-signer/src/cardano_transactions_importer.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
use async_trait::async_trait;
2-
use mithril_common::cardano_transaction_parser::TransactionParser;
3-
use mithril_common::entities::{CardanoTransaction, ImmutableFileNumber};
4-
use mithril_common::signable_builder::TransactionsImporter;
5-
use mithril_common::StdResult;
6-
use slog::{debug, Logger};
71
use std::path::{Path, PathBuf};
82
use std::sync::Arc;
93

4+
use async_trait::async_trait;
105
#[cfg(test)]
116
use mockall::automock;
7+
use slog::{debug, Logger};
8+
9+
use mithril_common::cardano_transaction_parser::TransactionParser;
10+
use mithril_common::entities::{CardanoTransaction, ImmutableFileNumber};
11+
use mithril_common::signable_builder::TransactionsImporter;
12+
use mithril_common::StdResult;
1213

1314
/// Cardano transactions store
1415
#[cfg_attr(test, automock)]
@@ -113,11 +114,12 @@ impl TransactionsImporter for CardanoTransactionsImporter {
113114

114115
#[cfg(test)]
115116
mod tests {
116-
use crate::database::repository::CardanoTransactionRepository;
117-
use crate::database::test_utils::cardano_tx_connection;
118117
use mockall::mock;
119118
use mockall::predicate::eq;
120119

120+
use crate::database::repository::CardanoTransactionRepository;
121+
use crate::database::test_utils::cardano_tx_db_connection;
122+
121123
use super::*;
122124

123125
mock! {
@@ -261,6 +263,7 @@ mod tests {
261263
CardanoTransaction::new("tx_hash-4", 20, 30, "block_hash-2", 12),
262264
];
263265
let importer = {
266+
let connection = cardano_tx_db_connection().unwrap();
264267
let parsed_transactions = transactions.clone();
265268
let mut parser = MockTransactionParserImpl::new();
266269
parser
@@ -269,9 +272,7 @@ mod tests {
269272

270273
CardanoTransactionsImporter::new(
271274
Arc::new(parser),
272-
Arc::new(CardanoTransactionRepository::new(
273-
cardano_tx_connection().unwrap(),
274-
)),
275+
Arc::new(CardanoTransactionRepository::new(Arc::new(connection))),
275276
Path::new(""),
276277
None,
277278
crate::test_tools::logger_for_tests(),

mithril-signer/src/database/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,17 @@ pub mod repository;
1010
#[cfg(test)]
1111
pub mod test_utils {
1212
use sqlite::ConnectionThreadSafe;
13-
use std::sync::Arc;
1413

1514
use mithril_common::StdResult;
1615
use mithril_persistence::sqlite::{ConnectionBuilder, ConnectionOptions};
1716

1817
use super::*;
1918

20-
pub fn cardano_tx_connection() -> StdResult<Arc<ConnectionThreadSafe>> {
19+
pub fn cardano_tx_db_connection() -> StdResult<ConnectionThreadSafe> {
2120
let connection = ConnectionBuilder::open_memory()
2221
.with_options(&[ConnectionOptions::ForceDisableForeignKeys])
2322
.with_migrations(cardano_transaction_migration::get_migrations())
2423
.build()?;
25-
Ok(Arc::new(connection))
24+
Ok(connection)
2625
}
2726
}

mithril-signer/src/database/repository/cardano_transaction_repository.rs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -149,13 +149,14 @@ impl TransactionStore for CardanoTransactionRepository {
149149

150150
#[cfg(test)]
151151
mod tests {
152-
use crate::database::test_utils::cardano_tx_connection;
152+
use crate::database::test_utils::cardano_tx_db_connection;
153153

154154
use super::*;
155155

156156
#[tokio::test]
157157
async fn repository_create_and_get_transaction() {
158-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
158+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
159+
let repository = CardanoTransactionRepository::new(connection);
159160
repository
160161
.create_transaction("tx-hash-123", 10, 50, "block_hash-123", 99)
161162
.await
@@ -180,7 +181,8 @@ mod tests {
180181

181182
#[tokio::test]
182183
async fn repository_create_ignore_further_transactions_when_exists() {
183-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
184+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
185+
let repository = CardanoTransactionRepository::new(connection);
184186
repository
185187
.create_transaction("tx-hash-123", 10, 50, "block_hash-123", 99)
186188
.await
@@ -205,7 +207,8 @@ mod tests {
205207

206208
#[tokio::test]
207209
async fn repository_store_transactions_and_get_stored_transactions() {
208-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
210+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
211+
let repository = CardanoTransactionRepository::new(connection);
209212

210213
let cardano_transactions = vec![
211214
CardanoTransaction::new("tx-hash-123", 10, 50, "block-hash-123", 99),
@@ -245,7 +248,8 @@ mod tests {
245248

246249
#[tokio::test]
247250
async fn repository_get_up_to_beacon_transactions() {
248-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
251+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
252+
let repository = CardanoTransactionRepository::new(connection);
249253

250254
let cardano_transactions: Vec<CardanoTransactionRecord> = (20..=40)
251255
.map(|i| CardanoTransactionRecord {
@@ -273,7 +277,8 @@ mod tests {
273277

274278
#[tokio::test]
275279
async fn repository_get_all_stored_transactions() {
276-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
280+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
281+
let repository = CardanoTransactionRepository::new(connection);
277282

278283
let cardano_transactions = vec![
279284
CardanoTransaction::new("tx-hash-123".to_string(), 10, 50, "block-hash-123", 99),
@@ -295,7 +300,8 @@ mod tests {
295300

296301
#[tokio::test]
297302
async fn repository_store_transactions_doesnt_erase_existing_data() {
298-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
303+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
304+
let repository = CardanoTransactionRepository::new(connection);
299305

300306
repository
301307
.create_transaction("tx-hash-000", 1, 5, "block-hash", 9)
@@ -330,15 +336,17 @@ mod tests {
330336

331337
#[tokio::test]
332338
async fn repository_get_highest_beacon_without_transactions_in_db() {
333-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
339+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
340+
let repository = CardanoTransactionRepository::new(connection);
334341

335342
let highest_beacon = repository.get_highest_beacon().await.unwrap();
336343
assert_eq!(None, highest_beacon);
337344
}
338345

339346
#[tokio::test]
340347
async fn repository_get_highest_beacon_with_transactions_in_db() {
341-
let repository = CardanoTransactionRepository::new(cardano_tx_connection().unwrap());
348+
let connection = Arc::new(cardano_tx_db_connection().unwrap());
349+
let repository = CardanoTransactionRepository::new(connection);
342350

343351
let cardano_transactions = vec![
344352
CardanoTransaction::new("tx-hash-123".to_string(), 10, 50, "block-hash-123", 50),

0 commit comments

Comments
 (0)