Skip to content

geoprobe: E2E test in Dockernet #2902

@nikw9944

Description

@nikw9944

RFC Reference: rfc16-geolocation-verification.md — Phase 1, item 4 (Deployment)
Tracking issue: #2893

Goal

Validate the full DZD → Probe → Target chain end-to-end in Dockernet.

Scope

  • New test file following existing patterns in e2e/device_telemetry_test.go (uses testcontainers-go, devnet.New(), require.Eventually())
  • Spin up: 1 DZD device + 1 geoProbe server + 1 target listener in Docker
  • Configure via CLI flags (no onchain setup needed):
    • Telemetry agent: --additional-child-probes=<probe-addr>
    • geoProbe: --additional-parents=<dzd-pubkey>:<dzd-addr>, --additional-targets=<target-ip>
  • Verify: DZD sends TWAMP + Offset to probe → probe caches offset, measures target, sends composite offset → target receives and verifies signature chain
  • Assert: target logs show valid signature chain and plausible RTT values
  • Add Dockerfile for geoprobe-agent and geoprobe-target (or build inline as existing tests do)

Files to change/create

  • e2e/geolocation_test.go — new E2E test file
  • e2e/internal/devnet/ — extend DeviceSpec or add ProbeSpec for geoProbe container support
  • Dockerfiles for new binaries (if needed beyond existing Go build patterns)

Estimated scope

Medium–Large (~400–600 lines)

Dependencies

Depends on #2899, #2900, and #2901.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions