Skip to content

Add DDO integration test skeleton and EVM wallet funding helper#653

Merged
parkan merged 5 commits intomainfrom
feat/ddo-integration-test
Apr 1, 2026
Merged

Add DDO integration test skeleton and EVM wallet funding helper#653
parkan merged 5 commits intomainfrom
feat/ddo-integration-test

Conversation

@anjor
Copy link
Copy Markdown
Collaborator

@anjor anjor commented Mar 31, 2026

Summary

  • Add FundEVMWallet, GenerateTestKey, AnvilFunderKey helpers to util/testutil for funding test wallets on Anvil forks using the pre-funded account 0
  • Add DDO integration tests for dealpusher: connectivity to calibnet fork, wallet funding verification, ValidateSP contract read
  • Add DDO integration test for dealtracker: tracking client connectivity and allocation query
  • Full deal-creation test left as TODO pending calibnet SP registration by FF

Tests follow the existing PDP tracker integration test pattern (Anvil fork of calibnet, real contract clients). Calibnet DDO contract addresses from ddo-client.

Test plan

  • go build ./... — compiles clean
  • go vet ./... — no issues
  • go test ./util/testutil/... ./service/dealpusher/... ./service/dealtracker/... -short — all pass
  • Integration tests require Anvil on PATH (CI devcontainer has it)

anjor added 2 commits March 31, 2026 20:39
- Add FundEVMWallet, GenerateTestKey, AnvilFunderKey helpers to
  util/testutil for funding test wallets on Anvil forks
- Add DDO integration tests for dealpusher: connectivity, wallet
  funding, ValidateSP contract read against calibnet fork
- Add DDO integration test for dealtracker: tracking client
  connectivity and allocation query against calibnet fork
- Full deal-creation test left as TODO pending calibnet SP
  registration by FF

These tests follow the existing PDP tracker integration test pattern
(Anvil fork of calibnet, real contract clients).
Anvil uses --block-time 1, so the balance check in the test was
racing the miner. Poll for the transaction receipt before returning.
@anjor anjor requested a review from parkan March 31, 2026 21:51
@parkan
Copy link
Copy Markdown
Collaborator

parkan commented Apr 1, 2026

ok I see the block-time is annoying for this use case, pushing a fix to automine and manually mine in the shovel tests


// TestIntegration_DDOWalletFunding verifies the testutil wallet funding helper
// works against an Anvil fork.
func TestIntegration_DDOWalletFunding(t *testing.T) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this should be under testutil tests probably

Copy link
Copy Markdown
Collaborator

@parkan parkan left a comment

Choose a reason for hiding this comment

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

minor nit about where the funding test lives otherwise lgtm

@parkan parkan force-pushed the feat/ddo-integration-test branch from c44888c to b4728fa Compare April 1, 2026 08:29
@parkan parkan force-pushed the feat/ddo-integration-test branch from b4728fa to 329cac5 Compare April 1, 2026 08:45
@parkan
Copy link
Copy Markdown
Collaborator

parkan commented Apr 1, 2026

gotta love non-deterministic behavior on GH test runners, the tx is supposed to be synchronous but alas

@parkan parkan merged commit 0223ab4 into main Apr 1, 2026
1 check passed
@parkan parkan deleted the feat/ddo-integration-test branch April 1, 2026 09:22
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.

2 participants