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 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 credential.validFrom must be a valid ISO 8601 date string,credential.validFrom should not be empty: expected HTTPError { message: [ …(2) ], …(6) } to not exist
AssertionError: Expected no error, got credential.validFrom must be a valid ISO 8601 date string,credential.validFrom should not be empty: expected HTTPError { message: [ …(2) ], …(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 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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '19', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=9iKvDU8FnEYLl8YzkQIWE0wSfpfNxHBJhCVMjXftCOZ44XrICr%2FKUbuYbfSkAM60OcH8QYWYYk5I4PIYdWiZyhqyPGy7NQSgjGDVsDaCRJitUKdLeQbd71sumVy9pBxiDzVaPunYZDx%2BflnR7Biu"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06db69b30043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2907&min_rtt=2637&rtt_var=1059&sent=9&recv=8&lost=0&retrans=0&sent_bytes=5681&recv_bytes=1914&delivery_rate=1200756&cwnd=255&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=277&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, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '19', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=9iKvDU8FnEYLl8YzkQIWE0wSfpfNxHBJhCVMjXftCOZ44XrICr%2FKUbuYbfSkAM60OcH8QYWYYk5I4PIYdWiZyhqyPGy7NQSgjGDVsDaCRJitUKdLeQbd71sumVy9pBxiDzVaPunYZDx%2BflnR7Biu"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06db69b30043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2907&min_rtt=2637&rtt_var=1059&sent=9&recv=8&lost=0&retrans=0&sent_bytes=5681&recv_bytes=1914&delivery_rate=1200756&cwnd=255&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=277&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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=95WeFX5SbxCME10Rqm9I%2BVxBh1z4Ib5LNDl6zgaPyoDSwoh6MHgm08sxfpH3gpMPetQo1ga%2BIqUZgkMfopoYt5OGi9vThaEBOtXj4SMwhO2UuxnnoZGdzyleRlQ9kqRujxzGdTr5TMkevZw4MH6w"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dbca6d0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2863&min_rtt=2637&rtt_var=672&sent=14&recv=11&lost=0&retrans=0&sent_bytes=8433&recv_bytes=2571&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=327&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, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=95WeFX5SbxCME10Rqm9I%2BVxBh1z4Ib5LNDl6zgaPyoDSwoh6MHgm08sxfpH3gpMPetQo1ga%2BIqUZgkMfopoYt5OGi9vThaEBOtXj4SMwhO2UuxnnoZGdzyleRlQ9kqRujxzGdTr5TMkevZw4MH6w"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dbca6d0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=2863&min_rtt=2637&rtt_var=672&sent=14&recv=11&lost=0&retrans=0&sent_bytes=8433&recv_bytes=2571&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=327&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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', '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=BSvsgejCBgZx5WOa8mfJd9JGs3fKVsPNe0Y2pWOZYEVRA6xyMWI0dsBTLF0LAwnQg5It4XQcw%2FV%2Bmy37rLisAtHboVKNYhwB7gy3TOhialo%2FwFdo5IXCskYi0bo84iTJ%2FSDbJG6znapLKI2zumFV"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dc1b090043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3192&min_rtt=2637&rtt_var=1098&sent=18&recv=13&lost=0&retrans=0&sent_bytes=11158&recv_bytes=3241&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=377&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, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', '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=BSvsgejCBgZx5WOa8mfJd9JGs3fKVsPNe0Y2pWOZYEVRA6xyMWI0dsBTLF0LAwnQg5It4XQcw%2FV%2Bmy37rLisAtHboVKNYhwB7gy3TOhialo%2FwFdo5IXCskYi0bo84iTJ%2FSDbJG6znapLKI2zumFV"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dc1b090043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3192&min_rtt=2637&rtt_var=1098&sent=18&recv=13&lost=0&retrans=0&sent_bytes=11158&recv_bytes=3241&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=377&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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '7', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=QQgdyESxR2oNvm6R91uroZaabnlc7pJVTmhQC01oSmw8EQfnRpZYffPnITI24PsHkiT%2FMwN7MDorx08YIF5KC6lIKEOUvZH%2BZhkxsx948xz1qcOHrhWPV2tbgPsewAIZGauiA9QNJN8GG8m6V%2FE2"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dc6ba70043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3137&min_rtt=2637&rtt_var=933&sent=22&recv=15&lost=0&retrans=0&sent_bytes=13890&recv_bytes=3922&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=425&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, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '7', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=QQgdyESxR2oNvm6R91uroZaabnlc7pJVTmhQC01oSmw8EQfnRpZYffPnITI24PsHkiT%2FMwN7MDorx08YIF5KC6lIKEOUvZH%2BZhkxsx948xz1qcOHrhWPV2tbgPsewAIZGauiA9QNJN8GG8m6V%2FE2"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dc6ba70043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3137&min_rtt=2637&rtt_var=933&sent=22&recv=15&lost=0&retrans=0&sent_bytes=13890&recv_bytes=3922&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=425&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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=2LNJhQdFXi0u5os3D1UU81v15ibXR3lyQ9lmOc3E3bZAXpDujxpuHW7DygiCJimgeo%2BEnz0VHqTHnxzbRFuIX1AuL5%2BGI6c5ZW9u%2F9iHFQz8YhxxhMG63Tmf3PRxxd0YyFtPIISLbDbCIzhiM3q4"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dcbc430043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3116&min_rtt=2637&rtt_var=743&sent=27&recv=17&lost=0&retrans=0&sent_bytes=16645&recv_bytes=4601&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=472&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, 16 Feb 2025 05:09:39 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=2LNJhQdFXi0u5os3D1UU81v15ibXR3lyQ9lmOc3E3bZAXpDujxpuHW7DygiCJimgeo%2BEnz0VHqTHnxzbRFuIX1AuL5%2BGI6c5ZW9u%2F9iHFQz8YhxxhMG63Tmf3PRxxd0YyFtPIISLbDbCIzhiM3q4"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dcbc430043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3116&min_rtt=2637&rtt_var=743&sent=27&recv=17&lost=0&retrans=0&sent_bytes=16645&recv_bytes=4601&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=472&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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '20', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=BikP0AHQ%2BRrAaONMXOiAIMSnjh3uIthm5dHU67XB6h3VAOtCsClnvwc8AOmopJRdkLkpMotuFLpzfs8PMRMtBdIJhdrW4%2BT3fl91XJKYO8sE40RGhGJ1LzBeDrRcXKCUBVNDW8Fxqsrlz0JVZ2LH"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dd0ce80043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3074&min_rtt=2637&rtt_var=642&sent=31&recv=19&lost=0&retrans=0&sent_bytes=19400&recv_bytes=5289&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=530&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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '20', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=BikP0AHQ%2BRrAaONMXOiAIMSnjh3uIthm5dHU67XB6h3VAOtCsClnvwc8AOmopJRdkLkpMotuFLpzfs8PMRMtBdIJhdrW4%2BT3fl91XJKYO8sE40RGhGJ1LzBeDrRcXKCUBVNDW8Fxqsrlz0JVZ2LH"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dd0ce80043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3074&min_rtt=2637&rtt_var=642&sent=31&recv=19&lost=0&retrans=0&sent_bytes=19400&recv_bytes=5289&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=530&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 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: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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=vqEGJglKkWBoMCe%2BS%2BaG1hoBAXJAaO2yz7S0WH3TiOdByzxI03d3kCs7CpxbiK3KK6%2BsdY1OgUOc0cdCEt5B5Yf0gS9s%2Bu5qQBGw4kPYjyxyWqALpwVFCF4r7ndyKFlK8%2Ba0%2FMLpY0bK8YgyyZoG"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dd5d8c0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3096&min_rtt=2637&rtt_var=526&sent=35&recv=21&lost=0&retrans=0&sent_bytes=22127&recv_bytes=5980&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=578&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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=vqEGJglKkWBoMCe%2BS%2BaG1hoBAXJAaO2yz7S0WH3TiOdByzxI03d3kCs7CpxbiK3KK6%2BsdY1OgUOc0cdCEt5B5Yf0gS9s%2Bu5qQBGw4kPYjyxyWqALpwVFCF4r7ndyKFlK8%2Ba0%2FMLpY0bK8YgyyZoG"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dd5d8c0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3096&min_rtt=2637&rtt_var=526&sent=35&recv=21&lost=0&retrans=0&sent_bytes=22127&recv_bytes=5980&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=578&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-oxIGIF4dumqtofIaB2Okj3FUPyk"', 'x-cloud-trace-context': '4bc47bbd774896e8d2fcc48159f1048d', date: 'Sun, 16 Feb 2025 05:09:14 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-oxIGIF4dumqtofIaB2Okj3FUPyk"', 'x-cloud-trace-context': '4bc47bbd774896e8d2fcc48159f1048d', date: 'Sun, 16 Feb 2025 05:09:14 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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', '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=HwofqImbH7Q6PfxvWwz5CMvdWmvpMas6%2Fbua9aev8CFd8NVZPRj5Zt5ZPqR81Bv4fUWXcyfoAfpX%2FxI5PfsIDlcK4o7WDnD1aHhVyhpWC6wSS1gukkTGG%2BWEu%2FsNKiniVJ%2B17l%2FpZ%2F6SqE%2BzTkLo"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06ddae3d0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3053&min_rtt=2637&rtt_var=480&sent=40&recv=23&lost=0&retrans=0&sent_bytes=24888&recv_bytes=6623&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=626&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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', '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=HwofqImbH7Q6PfxvWwz5CMvdWmvpMas6%2Fbua9aev8CFd8NVZPRj5Zt5ZPqR81Bv4fUWXcyfoAfpX%2FxI5PfsIDlcK4o7WDnD1aHhVyhpWC6wSS1gukkTGG%2BWEu%2FsNKiniVJ%2B17l%2FpZ%2F6SqE%2BzTkLo"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06ddae3d0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3053&min_rtt=2637&rtt_var=480&sent=40&recv=23&lost=0&retrans=0&sent_bytes=24888&recv_bytes=6623&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=626&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/"2f3-6xC4LGyxtuxHmOU+W1JeE1+qjbM"', 'x-cloud-trace-context': '639c280262a4ada3d2fcc48159f10d05', date: 'Sun, 16 Feb 2025 05:09:14 GMT', server: 'Google Frontend', 'content-length': '755', 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/"2f3-6xC4LGyxtuxHmOU+W1JeE1+qjbM"', 'x-cloud-trace-context': '639c280262a4ada3d2fcc48159f10d05', date: 'Sun, 16 Feb 2025 05:09:14 GMT', server: 'Google Frontend', 'content-length': '755', 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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=FLEosYjPdbbhoH6%2BWk2lTLyjS9garr%2BBfTGoSiyAvprW9NGMnkAY59p70F%2BZznf1OzSdHzHfgv9x4IzmmYe5IRKplz%2FFaq40tXbRp1FaCozmD1oZvCnlRcJkXJ%2FP4xfjJcSGwziAqlZh8pp3wnte"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06ddfee80043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3026&min_rtt=2637&rtt_var=413&sent=44&recv=25&lost=0&retrans=0&sent_bytes=27626&recv_bytes=7280&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=676&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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '8', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=FLEosYjPdbbhoH6%2BWk2lTLyjS9garr%2BBfTGoSiyAvprW9NGMnkAY59p70F%2BZznf1OzSdHzHfgv9x4IzmmYe5IRKplz%2FFaq40tXbRp1FaCozmD1oZvCnlRcJkXJ%2FP4xfjJcSGwziAqlZh8pp3wnte"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06ddfee80043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3026&min_rtt=2637&rtt_var=413&sent=44&recv=25&lost=0&retrans=0&sent_bytes=27626&recv_bytes=7280&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=676&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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '18', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=%2BaIpjahPDV%2FyQXLTfyGJN0oh7BDHmc5HQ%2BrZ37IjQ7jijtiaqJeQrjs7Tib3Lfjujud%2F9TJ4ZHATYZZA5nA3bh7krwBHO4V9ggnAFF9N3SyjQ84xuWV6tZrbJt9MSvEHFwKzGqE2aUXqv%2BjwqrxL"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06de4fba0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3040&min_rtt=2637&rtt_var=337&sent=48&recv=27&lost=0&retrans=0&sent_bytes=30358&recv_bytes=7905&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=735&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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'cache-control': 'no-cache,no-store', expires: '-1', pragma: 'no-cache', 'x-envoy-upstream-service-time': '18', 'cf-cache-status': 'DYNAMIC', 'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=%2BaIpjahPDV%2FyQXLTfyGJN0oh7BDHmc5HQ%2BrZ37IjQ7jijtiaqJeQrjs7Tib3Lfjujud%2F9TJ4ZHATYZZA5nA3bh7krwBHO4V9ggnAFF9N3SyjQ84xuWV6tZrbJt9MSvEHFwKzGqE2aUXqv%2BjwqrxL"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06de4fba0043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3040&min_rtt=2637&rtt_var=337&sent=48&recv=27&lost=0&retrans=0&sent_bytes=30358&recv_bytes=7905&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=735&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 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: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)
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 no result from issuer.: expected Response { status: 200, statusText: 'OK', headers: Headers { date: 'Sun, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', '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=bjvRcM43kShDt9jlpt7sxT4KUQVP0CTIwdCoTd8h%2F8EAtlhs7oFP%2FDpZW0w7RnC%2FKbZ3%2Bil8GQn051vbpgjv2kgEJUDawVcO4iO0wD152nnCgtvmCODzRIASznS5%2BN%2Fj1GjeQlLum5WLyQvu14SX"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dea8a00043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3016&min_rtt=2637&rtt_var=301&sent=52&recv=29&lost=0&retrans=0&sent_bytes=33091&recv_bytes=8555&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=784&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, 16 Feb 2025 05:09:40 GMT', 'content-type': 'text/html; charset=utf-8', 'transfer-encoding': 'chunked', connection: 'keep-alive', '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=bjvRcM43kShDt9jlpt7sxT4KUQVP0CTIwdCoTd8h%2F8EAtlhs7oFP%2FDpZW0w7RnC%2FKbZ3%2Bil8GQn051vbpgjv2kgEJUDawVcO4iO0wD152nnCgtvmCODzRIASznS5%2BN%2Fj1GjeQlLum5WLyQvu14SX"}],"group":"cf-nel","max_age":604800}', nel: '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}', server: 'cloudflare', 'cf-ray': '912b06dea8a00043-ORD', 'content-encoding': 'br', 'server-timing': 'cfL4;desc="?proto=TCP&rtt=3016&min_rtt=2637&rtt_var=301&sent=52&recv=29&lost=0&retrans=0&sent_bytes=33091&recv_bytes=8555&delivery_rate=2074827&cwnd=257&unsent_bytes=0&cid=8f8d31e7c9ca8c83&ts=784&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 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 credential.validFrom must be a valid ISO 8601 date string,credential.validFrom should not be empty: expected HTTPError { message: [ …(2) ], …(6) } to not exist
AssertionError: Expected no error, got credential.validFrom must be a valid ISO 8601 date string,credential.validFrom should not be empty: expected HTTPError { message: [ …(2) ], …(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 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"