Skip to content

Commit c9c191d

Browse files
committed
test: add test for block validation
1 parent a862926 commit c9c191d

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/event_scanner/scanner/historic.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ impl<N: Network> EventScanner<Historic, N> {
9393
#[cfg(test)]
9494
mod tests {
9595
use super::*;
96+
use alloy::providers::{Provider, ProviderBuilder};
97+
use alloy_node_bindings::Anvil;
9698

9799
#[test]
98100
fn test_historic_scanner_builder_pattern() {
@@ -129,4 +131,36 @@ mod tests {
129131
assert!(matches!(builder.config.from_block, BlockNumberOrTag::Number(2)));
130132
assert!(matches!(builder.config.to_block, BlockNumberOrTag::Number(200)));
131133
}
134+
135+
#[tokio::test]
136+
#[should_panic(expected = "Invalid historical block range")]
137+
async fn test_from_block_above_latest_panics() {
138+
let anvil = Anvil::new().try_spawn().unwrap();
139+
let provider = ProviderBuilder::new().connect_http(anvil.endpoint_url());
140+
141+
let latest_block = provider.get_block_number().await.unwrap();
142+
143+
let _scanner = EventScannerBuilder::historic()
144+
.from_block(latest_block + 100)
145+
.to_block(latest_block)
146+
.connect(provider)
147+
.await
148+
.unwrap();
149+
}
150+
151+
#[tokio::test]
152+
#[should_panic(expected = "Invalid historical block range")]
153+
async fn test_to_block_above_latest_panics() {
154+
let anvil = Anvil::new().try_spawn().unwrap();
155+
let provider = ProviderBuilder::new().connect_http(anvil.endpoint_url());
156+
157+
let latest_block = provider.get_block_number().await.unwrap();
158+
159+
let _scanner = EventScannerBuilder::historic()
160+
.from_block(0)
161+
.to_block(latest_block + 100)
162+
.connect(provider)
163+
.await
164+
.unwrap();
165+
}
132166
}

0 commit comments

Comments
 (0)