MoQT Relay Conformance Testing

How do you know your relay correctly implements the MoQT spec? Manual testing can't cover every message type, state transition, and edge case. Automated conformance testing can.

The problem

MoQT relays must handle dozens of message types, multiple subscription filter modes, concurrent streams, priority ordering, error conditions, and graceful shutdown — all while forwarding objects between publishers and subscribers. A relay that works with your test publisher might fail with someone else's. Interoperability issues only surface in production, when it's too late.

What we test

Comprehensive coverage of the MoQT specification, from basic handshakes to complex multi-stream scenarios.

Connection setup

  • CLIENT_SETUP / SERVER_SETUP handshake
  • Version negotiation
  • Role validation
  • Parameter handling

Subscription lifecycle

  • SUBSCRIBE with all filter types
  • SUBSCRIBE_OK / SUBSCRIBE_ERROR responses
  • UNSUBSCRIBE and cleanup
  • SUBSCRIBE_UPDATE handling

Publishing & delivery

  • SUBSCRIBE_NAMESPACE discovery
  • Object delivery on data streams
  • Priority and delivery order
  • Group and object sequencing

Fetch operations

  • FETCH request/response
  • Range-based retrieval
  • Error handling for missing data
  • Concurrent fetch support

Error handling

  • Malformed message rejection
  • Correct error codes
  • GOAWAY and graceful shutdown
  • Connection teardown cleanup

Edge cases

  • Out-of-order messages
  • Large object handling
  • Stream reset recovery
  • Concurrent subscription limits

Solutions

Frequently asked questions

Why do I need conformance testing for my MoQT relay?
MoQT is a complex protocol with many message types, state machines, and edge cases. Manual testing can't cover all the interactions. Automated conformance testing verifies that your relay correctly handles every message type, error condition, and state transition — so you can ship with confidence that it will interoperate with other implementations.
What happens when a test fails?
You get a detailed report showing the test name, what was expected, what actually happened, and the wire-level trace of the message exchange. The trace includes raw bytes, parsed fields, and timestamps so you can see exactly where your implementation diverges from the spec.
Can I run conformance tests against a relay behind a firewall?
Yes. You can run the test agent inside your own infrastructure, so it has network access to your relay. Results are reported back to the moqtap cloud for dashboard visualization and trend tracking.
How often should I run conformance tests?
We recommend running the full suite on every release and a targeted subset on every commit via CI. This catches regressions early and gives you confidence that protocol behavior is stable across changes.
Do you test against multiple MoQT draft versions?
Yes. Our test suites cover all actively used MoQT draft versions. You can configure which drafts to test against based on which versions your relay supports.

Verify your relay implementation

Get in touch to run conformance tests against your MoQT relay.