Skip to content

sentinel: add multicast publisher e2e tests#3399

Open
snormore wants to merge 3 commits intomainfrom
snor/sentinel-multicast-publisher
Open

sentinel: add multicast publisher e2e tests#3399
snormore wants to merge 3 commits intomainfrom
snor/sentinel-multicast-publisher

Conversation

@snormore
Copy link
Copy Markdown
Contributor

@snormore snormore commented Mar 30, 2026

Summary of Changes

  • Add e2e test infrastructure for the multicast publisher sentinel worker, including a validator-metadata-service-mock container (serves both metadata API and Solana RPC endpoints), a sentinel container, and a gRPC client for querying sentinel state
  • Add TestE2E_Multicast_Publisher test that validates the full flow: sentinel discovers validators via the mock, creates multicast publisher subscriptions onchain, and the sentinel gRPC API reflects the correct state

Diff Breakdown

Category Files Lines (+/-) Net
Tests 1 +239 / -0 +239
Core logic 5 +462 / -21 +441
Scaffolding 4 +246 / -0 +246
Config/build 10 +12 / -7 +5

Mostly new test infrastructure (~93% additions), no changes to production code.

Key files (click to expand)

Testing Verification

  • TestE2E_Multicast_Publisher validates the full sentinel multicast publisher flow end-to-end: devnet setup with sentinel container, validator discovery via mock metadata service, onchain publisher creation, and gRPC state verification
  • Sentinel polls mock service for validator metadata, resolves IPs to vote accounts via mock Solana RPC, and creates multicast publisher subscriptions that are verified via both the sentinel gRPC API and onchain state

@snormore snormore force-pushed the snor/sentinel-multicast-publisher branch 3 times, most recently from efe2fab to 5eccb67 Compare March 30, 2026 04:58
@snormore snormore force-pushed the snor/admin-sentinel-commands branch from 9d23f31 to 56b68f7 Compare March 30, 2026 05:11
@snormore snormore force-pushed the snor/sentinel-multicast-publisher branch 11 times, most recently from bf8b971 to 4e1b6d0 Compare March 31, 2026 18:26
@snormore snormore force-pushed the snor/admin-sentinel-commands branch from 56b68f7 to 8520dd9 Compare March 31, 2026 18:28
@snormore snormore force-pushed the snor/sentinel-multicast-publisher branch from 4e1b6d0 to 7681ff4 Compare March 31, 2026 18:29
@snormore snormore force-pushed the snor/admin-sentinel-commands branch from 0050f62 to faefd71 Compare March 31, 2026 21:14
Base automatically changed from snor/admin-sentinel-commands to main March 31, 2026 22:30
@snormore snormore force-pushed the snor/sentinel-multicast-publisher branch from 7681ff4 to 033b4bb Compare March 31, 2026 22:37
@snormore snormore marked this pull request as ready for review March 31, 2026 23:42
@snormore snormore force-pushed the snor/sentinel-multicast-publisher branch from fe95106 to 50d4ff9 Compare April 1, 2026 13:49
Add e2e test infrastructure for the multicast publisher sentinel worker,
including validator-metadata-service-mock container, sentinel container,
and gRPC client for verifying publisher creation.
@snormore snormore force-pushed the snor/sentinel-multicast-publisher branch from 50d4ff9 to 6d7ffc5 Compare April 2, 2026 15:27
@snormore snormore changed the title sentinel: automate multicast publisher creation for IBRL validators sentinel: add multicast publisher e2e tests Apr 2, 2026
snormore added 2 commits April 2, 2026 11:39
The Solana RPC client requires the epochCredits field when
deserializing vote account responses, causing the sentinel to
fail on every poll cycle in e2e tests.
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.

1 participant