This test suite demonstrates the interoperability of verifiers using the VC HTTP API.

Conformance Testing Results

Tests passed 17/18 94%

Tests failed 11/18 62%

Failures 11

Tests skipped 0

Total tests 18

These tests were run on

Key

🚫
Pending
Passed
Failed
Access Denied
Timeout
Not Implemented

The results of the tests are shown below:

Verify Credential - Data Integrity

Verifier ⇒
Test Name
ACA-py apicatalog.com Danube Tech Digital Bazaar EWF LearnCard Mavennet SecureKey SpruceID Trinsic

Verify Credential - JWT

Verifier ⇒
Test Name
SpruceID
MUST verify a valid VC.
MUST not verify if "@context" property is missing.
MUST not verify if "type" property is missing.
MUST not verify if "issuer" property is missing.
MUST not verify if "credentialSubject" property is missing.
MUST not verify if "proof" property is missing.
MUST not verify if "proof.type" property is missing.
MUST not verify if "proof.created" property is missing.
Expected no result from verifier: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 17 Nov 2024 05:11:44 GMT', 'content-type': 'application/json', 'content-length': '46', connection: 'keep-alive', 'cf-cache-status': 'DYNAMIC', server: 'cloudflare', 'cf-ray': '8e3d38c98ab92f6b-LAX', Authorization: '** SANITIZED TO PREVENT EXPOSING OF SECRETS ***' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from verifier: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 17 Nov 2024 05:11:44 GMT', 'content-type': 'application/json', 'content-length': '46', connection: 'keep-alive', 'cf-cache-status': 'DYNAMIC', server: 'cloudflare', 'cf-ray': '8e3d38c98ab92f6b-LAX', Authorization: '** SANITIZED TO PREVENT EXPOSING OF SECRETS ***' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/11-vc-jwt.js:141:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
MUST not verify if "proof.verificationMethod" property is missing.
MUST not verify if "proof.proofValue" property is missing.
MUST not verify if "proof.proofPurpose" property is missing.
MUST not verify if "@context" is not an array.
MUST not verify if "@context" items are not strings.
MUST not verify if "type" is not an array.
MUST not verify if "type" items are not strings.
MUST not verify if "issuer" is not an object or a string.
MUST not verify if "credentialSubject" is not an object.
MUST not verify if "proof" is not an object.

Verify Presentation - Data Integrity

Verify Presentation - JWT

At Risk

Reason ⇒
Statement
At least 2 passing implementations
MUST verify a valid VC.
MUST not verify if "@context" property is missing.
MUST not verify if "type" property is missing.
MUST not verify if "issuer" property is missing.
MUST not verify if "credentialSubject" property is missing.
MUST not verify if "proof" property is missing.
MUST not verify if "proof.type" property is missing.
MUST not verify if "proof.created" property is missing.
MUST not verify if "proof.verificationMethod" property is missing.
MUST not verify if "proof.proofValue" property is missing.
MUST not verify if "proof.proofPurpose" property is missing.
MUST not verify if "@context" is not an array.
MUST not verify if "@context" items are not strings.
MUST not verify if "type" is not an array.
MUST not verify if "type" items are not strings.
MUST not verify if "issuer" is not an object or a string.
MUST not verify if "credentialSubject" is not an object.
MUST not verify if "proof" is not an object.