Skip to content

Commit 841e48d

Browse files
committed
extend tests
1 parent 0cda1d0 commit 841e48d

File tree

1 file changed

+35
-18
lines changed
  • toolkit/data-sources/db-sync/src/bridge

1 file changed

+35
-18
lines changed

toolkit/data-sources/db-sync/src/bridge/tests.rs

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -90,24 +90,46 @@ fn main_chain_scripts() -> MainChainScripts {
9090
}
9191
}
9292

93-
macro_rules! with_migration_versions {
94-
($(async fn $name:ident($pool:ident: PgPool) $body:block )*) => {
93+
macro_rules! with_migration_versions_and_caching {
94+
($(async fn $name:ident($data_source:ident: &dyn TokenBridgeDataSource<ByteString>) $body:block )*) => {
9595
$(
9696
mod $name {
97+
use super::*;
98+
99+
async fn $name($data_source: &dyn TokenBridgeDataSource<ByteString>) $body
100+
101+
mod uncached {
97102
use super::*;
103+
#[allow(unused_imports)]
98104
use pretty_assertions::assert_eq;
99105

100-
async fn $name($pool: PgPool) $body
106+
#[sqlx::test(migrations = "./testdata/bridge/migrations-tx-in-enabled")]
107+
async fn tx_in_enabled(pool: PgPool) {
108+
$name(&create_data_source(pool)).await
109+
}
110+
111+
#[sqlx::test(migrations = "./testdata/bridge/migrations-tx-in-consumed")]
112+
async fn tx_in_consumed(pool: PgPool) {
113+
$name(&create_data_source(pool)).await
114+
}
115+
}
116+
117+
mod cached {
118+
use super::*;
119+
#[allow(unused_imports)]
120+
use pretty_assertions::assert_eq;
101121

102122
#[sqlx::test(migrations = "./testdata/bridge/migrations-tx-in-enabled")]
103-
async fn tx_in_enabled($pool: PgPool) {
104-
$name($pool).await
123+
async fn tx_in_enabled(pool: PgPool) {
124+
$name(&create_cached_source(pool)).await
105125
}
106126

107127
#[sqlx::test(migrations = "./testdata/bridge/migrations-tx-in-consumed")]
108-
async fn tx_in_consumed($pool: PgPool) {
109-
$name($pool).await
128+
async fn tx_in_consumed(pool: PgPool) {
129+
$name(&create_cached_source(pool)).await
110130
}
131+
}
132+
111133
}
112134
)*
113135
}
@@ -145,9 +167,8 @@ fn create_cached_source(pool: PgPool) -> CachedTokenBridgeDataSourceImpl {
145167
CachedTokenBridgeDataSourceImpl::new(pool, None, blocks, cache_lookahead)
146168
}
147169

148-
with_migration_versions! {
149-
async fn gets_transfers_from_init_to_block_2(pool: PgPool) {
150-
let data_source: &dyn TokenBridgeDataSource<ByteString> = &create_data_source(pool);
170+
with_migration_versions_and_caching! {
171+
async fn gets_transfers_from_init_to_block_2(data_source: &dyn TokenBridgeDataSource<ByteString>) {
151172
let data_checkpoint = BridgeDataCheckpoint::Utxo(last_ics_init_utxo());
152173
let current_mc_block = block_2_hash();
153174
let max_transfers = 2;
@@ -163,8 +184,7 @@ with_migration_versions! {
163184
assert_eq!(new_checkpoint, BridgeDataCheckpoint::Utxo(user_transfer_1_utxo()))
164185
}
165186

166-
async fn gets_transfers_from_init_to_block_4(pool: PgPool) {
167-
let data_source: &dyn TokenBridgeDataSource<ByteString> = &create_data_source(pool);
187+
async fn gets_transfers_from_init_to_block_4(data_source: &dyn TokenBridgeDataSource<ByteString>) {
168188
let data_checkpoint = BridgeDataCheckpoint::Utxo(last_ics_init_utxo());
169189
let current_mc_block = block_4_hash();
170190
let max_transfers = 4;
@@ -183,8 +203,7 @@ with_migration_versions! {
183203
assert_eq!(new_checkpoint, BridgeDataCheckpoint::Utxo(invalid_transfer_1_utxo()))
184204
}
185205

186-
async fn accepts_block_checkpoint(pool: PgPool) {
187-
let data_source: &dyn TokenBridgeDataSource<ByteString> = &create_data_source(pool);
206+
async fn accepts_block_checkpoint(data_source: &dyn TokenBridgeDataSource<ByteString>) {
188207
let data_checkpoint = BridgeDataCheckpoint::Block(McBlockNumber(1));
189208
let current_mc_block = block_4_hash();
190209
let max_transfers = 4;
@@ -203,8 +222,7 @@ with_migration_versions! {
203222
assert_eq!(new_checkpoint, BridgeDataCheckpoint::Utxo(invalid_transfer_1_utxo()))
204223
}
205224

206-
async fn returns_block_checkpoint_when_no_transfers_are_found(pool: PgPool) {
207-
let data_source: &dyn TokenBridgeDataSource<ByteString> = &create_data_source(pool);
225+
async fn returns_block_checkpoint_when_no_transfers_are_found(data_source: &dyn TokenBridgeDataSource<ByteString>) {
208226
let data_checkpoint = BridgeDataCheckpoint::Block(McBlockNumber(6));
209227
let current_mc_block = block_8_hash();
210228
let max_transfers = 32;
@@ -219,8 +237,7 @@ with_migration_versions! {
219237
assert_eq!(new_checkpoint, BridgeDataCheckpoint::Block(McBlockNumber(8)))
220238
}
221239

222-
async fn returns_block_checkpoint_when_less_than_maximum_transfers_found(pool: PgPool) {
223-
let data_source: &dyn TokenBridgeDataSource<ByteString> = &create_data_source(pool);
240+
async fn returns_block_checkpoint_when_less_than_maximum_transfers_found(data_source: &dyn TokenBridgeDataSource<ByteString>) {
224241
let data_checkpoint = BridgeDataCheckpoint::Block(McBlockNumber(0));
225242
let current_mc_block = block_8_hash();
226243
let max_transfers = 32;

0 commit comments

Comments
 (0)