This is a test suite to demonstrate interoperability of issuers using the VC HTTP API.

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:

Issue Credential - Data Integrity

Issuer ⇒
Test Name
ACA-py apicatalog.com Danube Tech Digital Bazaar Digital Credentials Consortium EWF GS1 US Gen Digital LearnCard Mavennet OWF Procivis One Core SpruceID Trential Trinsic
MUST successfully issue a credential.
Expected no error, got Unknown DID: did:key:z6Mkj8h3kzWZrPiucoyY9LGCTpXhCqBoX3doDmHz5MaPxnvi: expected HTTPError: Unknown DID: did:key:z6Mkj8h3k… { …(6) } to not exist
AssertionError: Expected no error, got Unknown DID: did:key:z6Mkj8h3kzWZrPiucoyY9LGCTpXhCqBoX3doDmHz5MaPxnvi: expected HTTPError: Unknown DID: did:key:z6Mkj8h3k… { …(6) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:41:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Request failed with status code 404 Not Found: expected HTTPError: Request failed with status cod… { …(5) } to not exist
AssertionError: Expected no error, got Request failed with status code 404 Not Found: expected HTTPError: Request failed with status cod… { …(5) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:41:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:40:49)
Expected no error, got fetch failed: expected TypeError: fetch failed { …(2) } to not exist
AssertionError: Expected no error, got fetch failed: expected TypeError: fetch failed { …(2) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:41:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Cannot POST /credentials/issue: expected HTTPError: Cannot POST /credentials/issue { …(6) } to not exist
AssertionError: Expected no error, got Cannot POST /credentials/issue: expected HTTPError: Cannot POST /credentials/issue { …(6) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:41:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Request failed with status code 500 Internal Server Error: expected HTTPError: Request failed with status cod… { …(5) } to not exist
AssertionError: Expected no error, got Request failed with status code 500 Internal Server Error: expected HTTPError: Request failed with status cod… { …(5) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:41:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Request failed with status code 400 Bad Request: expected HTTPError: Request failed with status cod… { …(6) } to not exist
AssertionError: Expected no error, got Request failed with status code 400 Bad Request: expected HTTPError: Request failed with status cod… { …(6) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:41:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected result to have data.: expected undefined to exist
AssertionError: Expected result to have data.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:42:16)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request body MUST have property "credential".
Expected status code 400 or 422.: expected 500 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 500 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:55:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:55:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:54:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:55:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:55:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:55:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '24', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=cAeONIvr8P5DN3TwVh88HfhWAXIgpuDDbXFIihtCj73nAZPnIfnGBCRBYoAXlAYHEv6UvjEpgqo5iMKFMmwOJq8%2FAyMrrS3ujmaOa1duwUo5D%2BIODAS1LpU6gwCkSRy%2BWn%2Bal4SpkATpygGuLrTS"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cccdda858ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=1808&min_rtt=1522&rtt_var=748&sent=9&recv=8&lost=0&retrans=0&sent_bytes=5688&recv_bytes=1914&delivery_rate=1718411&cwnd=256&unsent_bytes=0&cid=384e030570df0c36&ts=264&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '24', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=cAeONIvr8P5DN3TwVh88HfhWAXIgpuDDbXFIihtCj73nAZPnIfnGBCRBYoAXlAYHEv6UvjEpgqo5iMKFMmwOJq8%2FAyMrrS3ujmaOa1duwUo5D%2BIODAS1LpU6gwCkSRy%2BWn%2Bal4SpkATpygGuLrTS"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cccdda858ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=1808&min_rtt=1522&rtt_var=748&sent=9&recv=8&lost=0&retrans=0&sent_bytes=5688&recv_bytes=1914&delivery_rate=1718411&cwnd=256&unsent_bytes=0&cid=384e030570df0c36&ts=264&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:55:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential MUST have property "@context".
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:65:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:64:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:65:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:65:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:65:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=0yQKRcyK87EWvxy%2BM0IFh5y%2F4pG%2BkiYUmGo0LTM%2BsSOqaaCUppt%2Bi%2FFM6p4rqo3I0gjSyhFo2fbKwxoGOdXgp9p93WKyCep6ycziOjJWgrM0eq5Zybf7fzax3Pkmh140LS3cu%2FAhFr%2BlQnQ1Kzil"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccd2dd758ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2112&min_rtt=1522&rtt_var=952&sent=14&recv=11&lost=0&retrans=0&sent_bytes=8439&recv_bytes=2571&delivery_rate=1718411&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=306&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=0yQKRcyK87EWvxy%2BM0IFh5y%2F4pG%2BkiYUmGo0LTM%2BsSOqaaCUppt%2Bi%2FFM6p4rqo3I0gjSyhFo2fbKwxoGOdXgp9p93WKyCep6ycziOjJWgrM0eq5Zybf7fzax3Pkmh140LS3cu%2FAhFr%2BlQnQ1Kzil"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccd2dd758ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2112&min_rtt=1522&rtt_var=952&sent=14&recv=11&lost=0&retrans=0&sent_bytes=8439&recv_bytes=2571&delivery_rate=1718411&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=306&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:65:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential "@context" MUST be an array.
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:75:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:74:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:75:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:75:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:75:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=Wwn2ViJTX9Oml%2FQQAMvoQnzD2m%2BuwA61FrSVVv6N6Q2oDTdDkLe4q%2BY3KMJJeMODlQKvbKfArF7tdegF%2Bv9QgzEhOCZeitXzdjJdX1XtD6YtUXFifUcqrGI4GZ46LjCYqAd7TiSiZq7X8N1BSkWC"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccd6df958ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2145&min_rtt=1467&rtt_var=757&sent=19&recv=14&lost=0&retrans=0&sent_bytes=11227&recv_bytes=3241&delivery_rate=2391158&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=340&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=Wwn2ViJTX9Oml%2FQQAMvoQnzD2m%2BuwA61FrSVVv6N6Q2oDTdDkLe4q%2BY3KMJJeMODlQKvbKfArF7tdegF%2Bv9QgzEhOCZeitXzdjJdX1XtD6YtUXFifUcqrGI4GZ46LjCYqAd7TiSiZq7X8N1BSkWC"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccd6df958ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2145&min_rtt=1467&rtt_var=757&sent=19&recv=14&lost=0&retrans=0&sent_bytes=11227&recv_bytes=3241&delivery_rate=2391158&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=340&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:75:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential "@context" items MUST be strings.
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:87:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:86:35)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:87:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:87:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:87:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '11', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=o%2F03B8%2B2V1Eeen%2F%2BTX%2FYQJ5uQPT6MZZjwEDEg2M4bm4xuoaiQ6pQ3EgQ1neAd2m6gE7E%2FLtNeTrBskmyCZ9ElrAGiIe6MGPBY1YAO6tmCn70nW1exIC9HAe7i807kQ1Nu58L1uddkmKIlnDRoZX1"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccdae1e58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2116&min_rtt=1467&rtt_var=625&sent=23&recv=16&lost=0&retrans=0&sent_bytes=13981&recv_bytes=3922&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=375&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '11', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=o%2F03B8%2B2V1Eeen%2F%2BTX%2FYQJ5uQPT6MZZjwEDEg2M4bm4xuoaiQ6pQ3EgQ1neAd2m6gE7E%2FLtNeTrBskmyCZ9ElrAGiIe6MGPBY1YAO6tmCn70nW1exIC9HAe7i807kQ1Nu58L1uddkmKIlnDRoZX1"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccdae1e58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2116&min_rtt=1467&rtt_var=625&sent=23&recv=16&lost=0&retrans=0&sent_bytes=13981&recv_bytes=3922&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=375&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:87:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential MUST have property "type"
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:98:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:97:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:98:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:98:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:98:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=wBe%2BPETdCvCQsfbnzj5jmCpkHlDl7jjO5PrU3ZiJH0A50Wo%2B%2FIjOKyY6IXfXYF2C5CRNR6a7v%2F6KI%2FBFYgIZFAvu0xx6sVCEF6t0jV2nW4cUaYODgzoYqrTZZDYf35pNwO5pVYz%2FYVp%2FELhQAj%2Bu"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccdee4358ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2650&min_rtt=1467&rtt_var=1538&sent=27&recv=18&lost=0&retrans=0&sent_bytes=16739&recv_bytes=4601&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=415&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=wBe%2BPETdCvCQsfbnzj5jmCpkHlDl7jjO5PrU3ZiJH0A50Wo%2B%2FIjOKyY6IXfXYF2C5CRNR6a7v%2F6KI%2FBFYgIZFAvu0xx6sVCEF6t0jV2nW4cUaYODgzoYqrTZZDYf35pNwO5pVYz%2FYVp%2FELhQAj%2Bu"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccdee4358ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2650&min_rtt=1467&rtt_var=1538&sent=27&recv=18&lost=0&retrans=0&sent_bytes=16739&recv_bytes=4601&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=415&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:98:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
"credential.type" MUST be an array.
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:108:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:107:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:108:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:108:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:108:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '11', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=yWNw9paGOvN6%2F3hJ9llFy20vdCEaQ0U46v%2FL2vipNoRHOMdKQ9g2W%2BAS8QA%2FRJjm8sCXJwlH1xvdC6xnQQ1P%2F61Lb9tNtCbv%2FCXofTPrvipVYFy3BUMLH0TD5Brwziy4xLsRAqXGsf6Ko1P7FlON"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cce1e6b58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2675&min_rtt=1467&rtt_var=1204&sent=31&recv=20&lost=0&retrans=0&sent_bytes=19502&recv_bytes=5289&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=451&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '11', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=yWNw9paGOvN6%2F3hJ9llFy20vdCEaQ0U46v%2FL2vipNoRHOMdKQ9g2W%2BAS8QA%2FRJjm8sCXJwlH1xvdC6xnQQ1P%2F61Lb9tNtCbv%2FCXofTPrvipVYFy3BUMLH0TD5Brwziy4xLsRAqXGsf6Ko1P7FlON"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cce1e6b58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2675&min_rtt=1467&rtt_var=1204&sent=31&recv=20&lost=0&retrans=0&sent_bytes=19502&recv_bytes=5289&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=451&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:108:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
"credential.type" items MUST be strings
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:120:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:119:35)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:120:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:120:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:120:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '9', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=B7AKkzdAYbtVQVi3uI1czo4%2BV2wEpFjbfqHfTzcSmR2OzJym%2B4vOuoGO8Z33sprD9ahvtbkzKJHZqbmBK6JI%2BapkWnzMLOoJjtAeD9T%2FJ1KeI7Ajw9icy%2BusUg2tyhKH9UhHXXWphVQJyAr9qCFM"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cce5e8a58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2759&min_rtt=1467&rtt_var=1269&sent=34&recv=22&lost=0&retrans=0&sent_bytes=22268&recv_bytes=5980&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=494&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '9', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=B7AKkzdAYbtVQVi3uI1czo4%2BV2wEpFjbfqHfTzcSmR2OzJym%2B4vOuoGO8Z33sprD9ahvtbkzKJHZqbmBK6JI%2BapkWnzMLOoJjtAeD9T%2FJ1KeI7Ajw9icy%2BusUg2tyhKH9UhHXXWphVQJyAr9qCFM"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cce5e8a58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2759&min_rtt=1467&rtt_var=1269&sent=34&recv=22&lost=0&retrans=0&sent_bytes=22268&recv_bytes=5980&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=494&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:120:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential MUST have property "issuer"
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:131:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'cache-control': 'no-cache, no-store, must-revalidate', pragma: 'no-cache', expires: '0', vary: 'X-HTTP-Method-Override, Accept-Encoding', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', etag: 'W/"2ec-xEKbMGGabOVJq+dR2zlqdM3wLPc"', 'x-cloud-trace-context': 'b9599c7867369cf3992ecd48a3a2c18b', date: 'Sun, 13 Jul 2025 05:14:39 GMT', server: 'Google Frontend', 'content-length': '748', via: '1.1 google', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure 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 issuer.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'cache-control': 'no-cache, no-store, must-revalidate', pragma: 'no-cache', expires: '0', vary: 'X-HTTP-Method-Override, Accept-Encoding', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', etag: 'W/"2ec-xEKbMGGabOVJq+dR2zlqdM3wLPc"', 'x-cloud-trace-context': 'b9599c7867369cf3992ecd48a3a2c18b', date: 'Sun, 13 Jul 2025 05:14:39 GMT', server: 'Google Frontend', 'content-length': '748', via: '1.1 google', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:131:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:130:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:131:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:131:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:131:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=tX%2Fr0wMbRfM2ee082L1Ki9DAcQM2BVIBlWUNJegYlIoKtmqzSzs3CD7nCu1%2FpGABWAFkuxem3f36Rc0w%2BTb4QaW9yWpB0t3c7JsWdAqXjsgb6G%2BQdEkxfyhrc8Ze0XG2TYfxcgIi9mEGeIX7z1LR"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cce9eb158ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2801&min_rtt=1467&rtt_var=1037&sent=37&recv=24&lost=0&retrans=0&sent_bytes=25051&recv_bytes=6623&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=531&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=tX%2Fr0wMbRfM2ee082L1Ki9DAcQM2BVIBlWUNJegYlIoKtmqzSzs3CD7nCu1%2FpGABWAFkuxem3f36Rc0w%2BTb4QaW9yWpB0t3c7JsWdAqXjsgb6G%2BQdEkxfyhrc8Ze0XG2TYfxcgIi9mEGeIX7z1LR"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64cce9eb158ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2801&min_rtt=1467&rtt_var=1037&sent=37&recv=24&lost=0&retrans=0&sent_bytes=25051&recv_bytes=6623&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=531&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:131:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
"credential.issuer" MUST be a string or an object
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 500 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 500 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'cache-control': 'no-cache, no-store, must-revalidate', pragma: 'no-cache', expires: '0', vary: 'X-HTTP-Method-Override, Accept-Encoding', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', etag: 'W/"2f2-Hu4wWneq07BZmvLRsALM0u9T8d0"', 'x-cloud-trace-context': '5cc02157754b8bf8992ecd48a3a2c04a', date: 'Sun, 13 Jul 2025 05:14:39 GMT', server: 'Google Frontend', 'content-length': '754', via: '1.1 google', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure 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 issuer.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'cache-control': 'no-cache, no-store, must-revalidate', pragma: 'no-cache', expires: '0', vary: 'X-HTTP-Method-Override, Accept-Encoding', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=utf-8', etag: 'W/"2f2-Hu4wWneq07BZmvLRsALM0u9T8d0"', 'x-cloud-trace-context': '5cc02157754b8bf8992ecd48a3a2c04a', date: 'Sun, 13 Jul 2025 05:14:39 GMT', server: 'Google Frontend', 'content-length': '754', via: '1.1 google', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:142:35)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '11', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=v1GgHUdV3Zrp17FXlpSuUuMSYXiDUsB%2FV5fU9DX9IChRnJPG048DQJLEEFXxHKPY35M3a5OMp1OxAsvVtsIQqerP8ErLKyDGCwVJISuGyNJOYBWQt8bf9VDPwdjyFCsB6ro4SmDAuP%2Bl8Z8DUffo"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccedecc58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2651&min_rtt=1467&rtt_var=1042&sent=40&recv=26&lost=0&retrans=0&sent_bytes=27784&recv_bytes=7280&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=569&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '11', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=v1GgHUdV3Zrp17FXlpSuUuMSYXiDUsB%2FV5fU9DX9IChRnJPG048DQJLEEFXxHKPY35M3a5OMp1OxAsvVtsIQqerP8ErLKyDGCwVJISuGyNJOYBWQt8bf9VDPwdjyFCsB6ro4SmDAuP%2Bl8Z8DUffo"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccedecc58ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2651&min_rtt=1467&rtt_var=1042&sent=40&recv=26&lost=0&retrans=0&sent_bytes=27784&recv_bytes=7280&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=569&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:143:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential MUST have property "credentialSubject"
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:154:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:153:33)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:154:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:154:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:154:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=OPZocUa53m6UUHee5GA5bUbXbK75VaxrMv%2BzfA9az1m%2F4MRJim9oo%2F%2FXEtEaV3JHl9icS8BGPpWCKBWMbSw3EybOOTVBCpmMptxlLZhK4LvcRGG%2Bdftkds9cSeZZ2NyEtwNCIUeISs4zm0IHe249"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccf1ef358ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2524&min_rtt=1467&rtt_var=1035&sent=43&recv=28&lost=0&retrans=0&sent_bytes=30513&recv_bytes=7905&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=605&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '10', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=OPZocUa53m6UUHee5GA5bUbXbK75VaxrMv%2BzfA9az1m%2F4MRJim9oo%2F%2FXEtEaV3JHl9icS8BGPpWCKBWMbSw3EybOOTVBCpmMptxlLZhK4LvcRGG%2Bdftkds9cSeZZ2NyEtwNCIUeISs4zm0IHe249"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccf1ef358ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2524&min_rtt=1467&rtt_var=1035&sent=43&recv=28&lost=0&retrans=0&sent_bytes=30513&recv_bytes=7905&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=605&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:154:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
"credential.credentialSubject" MUST be an object
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:168:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:167:35)
Expected an HTTP error response code.: expected undefined to exist
AssertionError: Expected an HTTP error response code.: expected undefined to exist
                        at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:11:10)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:168:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 404 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:168:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
AssertionError: Expected status code 400 or 422.: expected 503 to be one of [ 400, 422 ]
                        at shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:14:26)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:168:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '22', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=uD6YM0jzJfCpCoGOmaA99VBZ%2FbzhH3fkDmETKJnuQ34bVCZViet3lJW8ls3x%2BnRybEY%2FP6sRm9sf33LtV6pAR2hrKxghXt6GJ2jYJ0KZuP8p7nDPqf6OwlHVq3dp8EgJ55%2BBxQj9lFSebBNnL%2B8b"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccf4f2658ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2622&min_rtt=1467&rtt_var=1056&sent=48&recv=30&lost=0&retrans=0&sent_bytes=33275&recv_bytes=8555&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=652&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist
AssertionError: Expected no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 13 Jul 2025 05:15:00 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'br', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '22', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=uD6YM0jzJfCpCoGOmaA99VBZ%2FbzhH3fkDmETKJnuQ34bVCZViet3lJW8ls3x%2BnRybEY%2FP6sRm9sf33LtV6pAR2hrKxghXt6GJ2jYJ0KZuP8p7nDPqf6OwlHVq3dp8EgJ55%2BBxQj9lFSebBNnL%2B8b"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '95e64ccf4f2658ae-IAD', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2622&min_rtt=1467&rtt_var=1056&sent=48&recv=30&lost=0&retrans=0&sent_bytes=33275&recv_bytes=8555&delivery_rate=2985886&cwnd=258&unsent_bytes=0&cid=384e030570df0c36&ts=652&x=0"', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, 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 shouldThrowInvalidInput (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:9:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:168:11)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
credential MAY have property "expirationDate"
Expected no error, got Unknown DID: did:key:z6Mkj8h3kzWZrPiucoyY9LGCTpXhCqBoX3doDmHz5MaPxnvi: expected HTTPError: Unknown DID: did:key:z6Mkj8h3k… { …(6) } to not exist
AssertionError: Expected no error, got Unknown DID: did:key:z6Mkj8h3kzWZrPiucoyY9LGCTpXhCqBoX3doDmHz5MaPxnvi: expected HTTPError: Unknown DID: did:key:z6Mkj8h3k… { …(6) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:193:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Request failed with status code 404 Not Found: expected HTTPError: Request failed with status cod… { …(5) } to not exist
AssertionError: Expected no error, got Request failed with status code 404 Not Found: expected HTTPError: Request failed with status cod… { …(5) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:193:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Request failed with status code 401 Unauthorized
HTTPError: Request failed with status code 401 Unauthorized
                        at fn (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/ky/distribution/core/Ky.js:28:29)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                        at async _handleResponse (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/@digitalbazaar/http-client/lib/httpClient.js:101:16)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:49:14)
                        at async _requestAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:97:41)
                        at async _getNewAccessToken (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:81:9)
                        at async constructOAuthHeader (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/oauth2.js:27:25)
                        at async makeHttpsRequest (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/node_modules/vc-test-suite-implementations/lib/requests.js:46:29)
                        at async Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:192:33)
Expected no error, got fetch failed: expected TypeError: fetch failed { …(2) } to not exist
AssertionError: Expected no error, got fetch failed: expected TypeError: fetch failed { …(2) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:193:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Cannot POST /credentials/issue: expected HTTPError: Cannot POST /credentials/issue { …(6) } to not exist
AssertionError: Expected no error, got Cannot POST /credentials/issue: expected HTTPError: Cannot POST /credentials/issue { …(6) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:193:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Request failed with status code 503 Service Unavailable: expected HTTPError: Request failed with status cod… { …(5) } to not exist
AssertionError: Expected no error, got Request failed with status code 503 Service Unavailable: expected HTTPError: Request failed with status cod… { …(5) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:193:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected no error, got Request failed with status code 400 Bad Request: expected HTTPError: Request failed with status cod… { …(6) } to not exist
AssertionError: Expected no error, got Request failed with status code 400 Bad Request: expected HTTPError: Request failed with status cod… { …(6) } to not exist
                        at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)
                        at shouldReturnResult (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/assertions.js:19:14)
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:193:9)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Expected statusCode 201.: expected 200 to equal 201
AssertionError: Expected statusCode 201.: expected 200 to equal 201
                        at Context.<anonymous> (file:///home/runner/work/vc-api-issuer-test-suite/vc-api-issuer-test-suite/tests/10-issuer.js:194:30)
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Issue Credential - JWT

Issuer ⇒
Test Name
SpruceID Trential
MUST successfully issue a credential.
Request body MUST have property "credential".
credential MUST have property "@context".
credential "@context" MUST be an array.
credential "@context" items MUST be strings.
credential MUST have property "type"
"credential.type" MUST be an array.
"credential.type" items MUST be strings
credential MUST have property "issuer"
"credential.issuer" MUST be a string or an object
credential MUST have property "credentialSubject"
"credential.credentialSubject" MUST be an object
credential MAY have property "issuanceDate"
credential MAY have property "expirationDate"