This is the interoperability report for the implementers of the DID Resolution specification.

Conformance Testing Results

These tests were run on

Key

🚫
Pending
✓
Passed
❌
Failed
⊘
Access Denied
⏱
Timeout
—
Not Implemented

The results of the tests are shown below:

10.1 HTTP(S) Binding

Implementer ⇒
⇓Test Name
DIF Digital Bazaar, Inc. cheqd iden3
All HTTPS bindings MUST use TLS
✓
✓
✓
✓
All conforming DID resolvers MUST implement the GET version of the HTTPS binding
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:74:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:74:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
If Accept is application/did-resolution, HTTP body MUST contain a DID resolution result
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:87:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:87:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
If function is successful and returns a didDocument, HTTP response status code MUST be 200
✓
❌
expected 500 to equal 200
AssertionError: expected 500 to equal 200
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:101:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 406 to equal 200
AssertionError: expected 406 to equal 200
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:101:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
HTTP response MUST contain a Content-Type header whose value MUST equal contentType in didResolutionMetadata
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:115:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:115:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
HTTP response body MUST contain the didDocument result of the DID resolution function
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:137:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:137:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
If Accept is set to a DID representation media type, response body MUST contain only the didDocument (not the full resolution result)
✓
✓
✓
✓
GET binding: resolver MUST accept URL-encoded DIDs (required because clients MUST URL-encode when resolution options other than accept are provided)
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:190:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:190:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
INVALID_DID error MUST map to HTTP status 400 (input: "not-a-did")
✓
❌
expected 500 to equal 400
AssertionError: expected 500 to equal 400
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:208:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 406 to equal 400
AssertionError: expected 406 to equal 400
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:208:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
INVALID_DID error MUST map to HTTP status 400 (input: "did:example")
✓
❌
expected 500 to equal 400
AssertionError: expected 500 to equal 400
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:208:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 406 to equal 400
AssertionError: expected 406 to equal 400
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:208:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
METHOD_NOT_SUPPORTED error MUST map to HTTP status 501
✓
❌
expected 500 to equal 501
AssertionError: expected 500 to equal 501
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:222:26)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 406 to equal 501
AssertionError: expected 406 to equal 501
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:222:26)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
NOT_FOUND error MUST map to HTTP status 404
❌
expected 400 to equal 404
AssertionError: expected 400 to equal 404
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:235:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected { …(3) } to have property 'didResolutionMetadata'
AssertionError: expected { …(3) } to have property 'didResolutionMetadata'
                        at checkErrorResolutionResult (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/assertions.js:24:32)
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:237:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 406 to equal 404
AssertionError: expected 406 to equal 404
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:235:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 400 to equal 404
AssertionError: expected 400 to equal 404
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:235:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
REPRESENTATION_NOT_SUPPORTED error MUST map to HTTP status 406
✓
❌
expected 500 to equal 406
AssertionError: expected 500 to equal 406
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:259:32)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
✓
If deactivated metadata property is true, HTTP response status MUST be 410
❌
expected 400 to equal 410
AssertionError: expected 400 to equal 410
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:277:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 404 to equal 410
AssertionError: expected 404 to equal 410
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:277:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected 406 to equal 410
AssertionError: expected 406 to equal 410
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/10-bindings.js:277:28)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
🚫
Test skipped.

DID Resolution

Implementer ⇒
⇓Test Name
DIF Digital Bazaar, Inc. cheqd iden3
Implementation has at least one valid DID to test
✓
✓
✓
✓
All conformant DID resolvers MUST implement the DID resolution function for at least one DID method
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:38:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:38:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
The resolutionOptions input is REQUIRED, but the structure MAY be empty.
✓
✓
✓
✓
The didResolutionMetadata structure is REQUIRED.
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:57:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:57:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
If resolution is successful, the didDocument MUST be a conformant DID document
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:67:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:67:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
The value of id in the resolved DID document MUST match the DID that was resolved
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:77:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:77:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
If the resolution is successful, the `didDocumentMetadata` MUST be a metadata structure
✓
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:88:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
expected false to be true
AssertionError: expected false to be true
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:88:27)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
The did input to the resolve function is REQUIRED
✓
✓
✓
✓
The did input value MUST be a conformant DID as defined in Decentralized Identifiers (DIDs) v1.0.
✓
✓
✓
✓
Produces a INVALID_DID error and conformant resolution result
❌
expected 'INVALID_DID' to equal 'https://www.w3.org/ns/did#INVALID_DID'
AssertionError: expected 'INVALID_DID' to equal 'https://www.w3.org/ns/did#INVALID_DID'
                        at checkErrorResolutionResult (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/assertions.js:31:8)
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:124:13)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
Unexpected token 'I', "Internal S"... is not valid JSON
SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
                        at JSON.parse (<anonymous>)
                        at parseJSONFromBytes (node:internal/deps/undici/undici:5852:19)
                        at successSteps (node:internal/deps/undici/undici:5833:27)
                        at fullyReadBody (node:internal/deps/undici/undici:4725:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async consumeBody (node:internal/deps/undici/undici:5842:7)
                        at async Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:123:38)
❌
expected 'representationNotSupported' to be an object
AssertionError: expected 'representationNotSupported' to be an object
                        at checkErrorResolutionResult (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/assertions.js:27:58)
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:124:13)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
The error property in DID Document Metadata is REQUIRED when there is an error in the resolution process.
✓
❌
Unexpected token 'I', "Internal S"... is not valid JSON
SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
                        at JSON.parse (<anonymous>)
                        at parseJSONFromBytes (node:internal/deps/undici/undici:5852:19)
                        at successSteps (node:internal/deps/undici/undici:5833:27)
                        at fullyReadBody (node:internal/deps/undici/undici:4725:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async consumeBody (node:internal/deps/undici/undici:5842:7)
                        at async Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:133:36)
✓
✓
If the resolution is unsuccessful, the `didDocumentMetadata` output MUST be an empty metadata structure
✓
❌
Unexpected token 'I', "Internal S"... is not valid JSON
SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
                        at JSON.parse (<anonymous>)
                        at parseJSONFromBytes (node:internal/deps/undici/undici:5852:19)
                        at successSteps (node:internal/deps/undici/undici:5833:27)
                        at fullyReadBody (node:internal/deps/undici/undici:4725:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async consumeBody (node:internal/deps/undici/undici:5842:7)
                        at async Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:146:36)
❌
expected { didResolutionMetadata: { …(4) } } to have property 'didDocumentMetadata'
AssertionError: expected { didResolutionMetadata: { …(4) } } to have property 'didDocumentMetadata'
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:147:40)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓
If the DID method is not supported, produces a METHOD_NOT_SUPPORTED error and conformant resolution result
❌
expected 'METHOD_NOT_SUPPORTED' to equal 'https://www.w3.org/ns/did#METHOD_NOT_…'
AssertionError: expected 'METHOD_NOT_SUPPORTED' to equal 'https://www.w3.org/ns/did#METHOD_NOT_…'
                        at checkErrorResolutionResult (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/assertions.js:31:8)
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:162:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
❌
Unexpected token 'I', "Internal S"... is not valid JSON
SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
                        at JSON.parse (<anonymous>)
                        at parseJSONFromBytes (node:internal/deps/undici/undici:5852:19)
                        at successSteps (node:internal/deps/undici/undici:5833:27)
                        at fullyReadBody (node:internal/deps/undici/undici:4725:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async consumeBody (node:internal/deps/undici/undici:5842:7)
                        at async Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:161:34)
❌
expected 'representationNotSupported' to be an object
AssertionError: expected 'representationNotSupported' to be an object
                        at checkErrorResolutionResult (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/assertions.js:27:58)
                        at Context.<anonymous> (file:///home/runner/work/did-resolution-mocha-test-suite/did-resolution-mocha-test-suite/tests/4-did-resolution.js:162:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
✓

At Risk