Skip to content

Conformance Kit

Doug Fennell edited this page Oct 19, 2025 · 1 revision

RDCP Conformance Kit

This page documents the RDCP Conformance Kit (spec-as-code) that validates any RDCP server against the protocol.

Goals

  • Black-box HTTP validation (no repo internals)
  • Auto-select tests via /.well-known/rdcp (level + capabilities)
  • Rich reports (JSON, JUnit, Markdown) + requirement IDs
  • Multiple runners: CLI, Docker, GitHub Action

Quick Start

  1. Discovery + gating
rdcp-conformance --base-url=http://localhost:3000 \
  --include-tags=standard,bearer --exclude-tags=jwks
  1. Run tests
npm test
  1. Reports
  • reports/rdcp.discovery.json
  • reports/rdcp.run.json
  • reports/rdcp.results.json
  • reports/rdcp.report.md
  • reports/rdcp.junit.xml (coming in next update)

Tag taxonomy (examples)

  • Profiles: basic, standard, enterprise
  • Auth: api-key, bearer, mtls, hybrid
  • Capabilities: tenant, ttl, audit, rate-limit, jwks, metrics
  • Areas: control, put, schema, client, keyring, admin, integration, etag, util, otel

Config

  • Include/exclude tags via CLI flags or reports/rdcp.run.json
  • Credentials are supplied by the target system (tests assume existing auth behavior)

CI usage (GitHub Action)

- uses: ./.github/actions/rdcp-conformance
  with:
    base-url: http://service:3000
    include-tags: standard,bearer

Badges

  • Generated from summary; recommended badges: Basic/Standard/Enterprise and per-capability badges.

Requirements mapping

  • tests/conformance/requirements.json maps requirement IDs to suite titles and is included in the Markdown/JSON output.
Clone this wiki locally