Skip to content

gRPC: ReadGenesis, FollowTip and FetchBlock tests - #6655

Open
carbolymer wants to merge 5 commits into
masterfrom
mgalazyn/test/rpc-readgenesis-followtip-fetchblock
Open

gRPC: ReadGenesis, FollowTip and FetchBlock tests#6655
carbolymer wants to merge 5 commits into
masterfrom
mgalazyn/test/rpc-readgenesis-followtip-fetchblock

Conversation

@carbolymer

@carbolymer carbolymer commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

Adds integration tests for three UTxO RPC methods served by the node's gRPC endpoint, exercised end-to-end against a local testnet:

  • SyncService.FetchBlock: fetches blocks by slot and by hash, and compares them against blocks observed independently via foldBlocks, including transactions carrying minted assets and Plutus scripts.
  • SyncService.FollowTip: verifies tip updates are streamed as new blocks are produced.
  • QueryService.ReadGenesis: verifies the returned genesis parameters match the testnet's configuration.

Also included:

  • The existing SearchUtxos and Transaction RPC tests now use the shared exactAddressPredicate and txoRefUtxoRpcToTxIn helpers from cardano-rpc instead of local copies of the equivalent code.
  • foldBlocks call sites are adapted to cardano-api 11.5, which takes an explicit SomeHasFS IO argument (built via mkNodeConfigFs).
  • A changelog fragment in cardano-testnet/.changes/.

The commits are split per test module, each carrying its own cabal entry and test-runner registration.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. These may include:
    • golden tests
    • property tests
    • roundtrip tests
    • integration tests
      See Running tests for more details
  • Any changes are noted in the CHANGELOG.md for affected package
    • cardano-node-chairman, cardano-submit-api and cardano-testnet instead need a
      changelog fragment in <package>/.changes/, because their CHANGELOG.md is generated
      from fragments at release time. Copy _TEMPLATE.yml from that directory, or run
      nix run github:input-output-hk/cardano-dev#herald -- new
  • The version bounds in .cabal files are updated
  • CI passes. See note on CI. The following CI checks are required:
    • Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
    • Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
    • Code builds on Linux, MacOS and Windows for ghc-9.6 and ghc-9.12
  • Self-reviewed the diff

Note on CI

If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges. Please contact IOG node developers to do this
for you.

@carbolymer
carbolymer requested a review from a team as a code owner August 19, 2026 16:04
@carbolymer carbolymer mentioned this pull request Aug 19, 2026
9 tasks
@carbolymer carbolymer self-assigned this Aug 19, 2026
@carbolymer
carbolymer force-pushed the mgalazyn/test/rpc-readgenesis-followtip-fetchblock branch from 9f16572 to 9069924 Compare August 19, 2026 16:06
@carbolymer carbolymer changed the title Mgalazyn/test/rpc readgenesis followtip fetchblock gRPC: ReadGenesis, FollowTip and FetchBlock tests Aug 19, 2026
@carbolymer
carbolymer force-pushed the mgalazyn/test/rpc-readgenesis-followtip-fetchblock branch from 9069924 to fe56c40 Compare August 19, 2026 16:08
@Jimbo4350

Copy link
Copy Markdown
Contributor

We have to keep an eye on these RPC tests and how much time it adds to the node's CI.

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

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants