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

Conformance Testing Results

Tests passed 134/144 93%

Tests failed 10/144 7%

Tests skipped 0

Total tests 144

These tests were run on

Key

The results of the tests are shown below:

Verify Credential - Data Integrity

Verifier ⇒
Test Name
API Catalog Danube Tech Digital Bazaar EWF LearnCard Mavennet mesur.io SecureKey GS1 US MATTR Transmute
MUST verify a valid VC.
MUST not verify if "@context" property is missing.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:75:11)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "type" property is missing.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:86:9)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "issuer" property is missing.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:97:9)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "credentialSubject" property is missing.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:109:11)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
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.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:180:11)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "@context" is not an array.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:193:11)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "@context" items are not strings.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:208:13)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "type" is not an array.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:222:11)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "type" items are not strings.
MUST not verify if "issuer" is not an object or a string.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:251:13)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "credentialSubject" is not an object.
{
                      "name": "AssertionError",
                      "message": "Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist",
                      "stack": "AssertionError: Expected no result from verifier: expected Response{ size: +0, data: { …(1) }, …(2) } to not exist\n    at Object.should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n    at testBadRequestError (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/helpers.js:12:14)\n    at Context. (file:///home/runner/work/vc-api-verifier-test-suite/vc-api-verifier-test-suite/tests/10-vc-di.js:268:13)\n    at runMicrotasks ()\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)"
                    }
MUST not verify if "proof" is not an object.

Verify Credential - JWT

Verifier ⇒
Test Name
API Catalog Danube Tech Digital Bazaar EWF GS1 US LearnCard MATTR Mavennet mesur.io SecureKey Transmute

Verify Presentation - Data Integrity

Verify Presentation - JWT