Testing Strategies

The maintained testing guide contains a complete fixture example compiled and executed by the SDK. Use that source as the copyable starting point; this page maps test types to the claims they can support.

Test type Verifies Does not establish
Pure unit/property tests Parsing, boundaries, state transitions and adversarial rejection Provider behavior or deployment configuration
In-memory testkit fixtures Local workflow contracts and isolated registries Cryptographic interoperability or managed custody
Real local component integrations HTTP wire behavior, OTLP export, database/pool semantics exercised Production scale, networking or provider availability
Independent implementation vectors Named supported-profile interoperability and documented differences Untested profiles or durable external enforcement
Hosted deployment exercises Identified release/topology/provider behavior with recorded evidence Other environments or untested failure modes

Use org.trustweave:testkit:0.7.0 as a test dependency in an application. In this SDK checkout, use testImplementation(project(":testkit")). Choose the actual DID/KMS implementation when the claim concerns cryptographic or provider behavior; the fixture’s mock DID method is intended for local application contract tests.

Prefer semantic assertions over merely checking that a result is non-null. For credentials, verify signature/issuer/subject expectations and adversarial rejection. For wallets, verify storage isolation and encrypted recovery. For authorization, verify replay, budget/count limits and uncertain outcomes. For hosts, verify correlation, privacy, overload and cleanup.

The integration guide covers prerequisites and failure reporting. The VI conformance profile and cross-stack guide identify implemented and unsupported profiles. The acceptance checklist defines what remains before a perfect testing/documentation assessment can be justified.


This site uses Just the Docs, a documentation theme for Jekyll.