Skip to content

Conversation

@leoyvens
Copy link
Collaborator

Adds some basic integration tests for streaming joins

@leoyvens leoyvens marked this pull request as ready for review December 18, 2025 21:25
Add new YAML test step types for anvil-based integration tests:
- `anvil` step: validates anvil fixture is available
- `mine` step: mines N blocks on anvil chain
- `reorg` step: triggers blockchain reorg with specified depth

These steps enable writing streaming join tests with dynamically
generated blockchain data from anvil.

Includes example test spec `streaming-join-anvil.yaml` that tests
a self-join on blocks via parent_hash with incremental streaming.
Add test for INNER JOIN between blocks and transactions tables.
Returns empty results since mined blocks have no transactions.
Validates that streaming joins correctly handle blockchain reorganizations:
- Mine 5 blocks, take initial join results
- Trigger reorg (depth 2), mine 3 new blocks
- Verify incremental results reflect reorganized chain
@leoyvens leoyvens requested a review from LNSD December 18, 2025 22:15
Copy link
Contributor

@LNSD LNSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, check my comments 🙂

mod anvil;
mod clean_dump_location;
mod dump;
mod mine;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If mine and reorg are anvil-dependent steps, I would suggest renaming them anvil_mine and anvil_reorg.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants