diff --git a/index.html b/index.html index 826e1a0..377fdd2 100644 --- a/index.html +++ b/index.html @@ -170,22 +170,22 @@

Conformance Testing Results

- Tests passed 80/88 90% + Tests passed 97/114 85%

- Tests failed 8/88 10% + Tests failed 17/114 15%

- Failures 8 + Failures 17

- Tests skipped 52 + Tests skipped 66

- Total tests 140 + Total tests 180

- These tests were run on + These tests were run on

Key

@@ -252,6 +252,7 @@

Data Model: BitstringStatusList Entry

OpSecId Procivis One Core SpruceID + Trential @@ -280,6 +281,11 @@

Data Model: BitstringStatusList Entry

+ +
+
+
+ @@ -307,6 +313,12 @@

Data Model: BitstringStatusList Entry

+ +
🚫
+
+ No id property included. +
+ @@ -334,6 +346,11 @@

Data Model: BitstringStatusList Entry

+ +
+
+
+ @@ -361,6 +378,11 @@

Data Model: BitstringStatusList Entry

+ +
+
+
+ @@ -388,6 +410,11 @@

Data Model: BitstringStatusList Entry

+ +
+
+
+ @@ -415,6 +442,11 @@

Data Model: BitstringStatusList Entry

+ +
+
+
+ @@ -442,6 +474,11 @@

Data Model: BitstringStatusList Entry

+ +
+
+
+ @@ -473,6 +510,12 @@

Data Model: BitstringStatusList Entry

No statusSize property included. + +
🚫
+
+ No statusSize property included. +
+ @@ -504,6 +547,12 @@

Data Model: BitstringStatusList Entry

No statusSize property included. + +
🚫
+
+ No statusSize property included. +
+ @@ -535,6 +584,12 @@

Data Model: BitstringStatusList Entry

No statusMessage property included. + +
🚫
+
+ No statusMessage property included. +
+ @@ -566,6 +621,12 @@

Data Model: BitstringStatusList Entry

No statusMessage property included. + +
🚫
+
+ No statusMessage property included. +
+ @@ -597,6 +658,12 @@

Data Model: BitstringStatusList Entry

No greater than 1 statusSize property included. + +
🚫
+
+ No greater than 1 statusSize property included. +
+ @@ -628,6 +695,12 @@

Data Model: BitstringStatusList Entry

No statusMessage property included. + +
🚫
+
+ No statusMessage property included. +
+ @@ -659,6 +732,12 @@

Data Model: BitstringStatusList Entry

No statusReference property included. + +
🚫
+
+ No statusReference property included. +
+ @@ -689,6 +768,7 @@

Data Model: BitstringStatusList Credential

OpSecId Procivis One Core SpruceID + Trential @@ -717,6 +797,11 @@

Data Model: BitstringStatusList Credential

+ +
+
+
+ @@ -744,6 +829,11 @@

Data Model: BitstringStatusList Credential

+ +
+
+
+ @@ -771,6 +861,11 @@

Data Model: BitstringStatusList Credential

+ +
+
+
+ @@ -798,6 +893,11 @@

Data Model: BitstringStatusList Credential

+ +
+
+
+ @@ -825,6 +925,11 @@

Data Model: BitstringStatusList Credential

+ +
+
+
+ @@ -852,6 +957,11 @@

Data Model: BitstringStatusList Credential

+ +
+
+
+ @@ -883,6 +993,12 @@

Data Model: BitstringStatusList Credential

Test needs to be validated. + +
🚫
+
+ Test needs to be validated. +
+ @@ -913,6 +1029,7 @@

Algorithm

OpSecId Procivis One Core SpruceID + Trential @@ -953,6 +1070,11 @@

Algorithm

+ +
+
+
+ @@ -983,6 +1105,7 @@

Algorithm: Generate Algorithm

OpSecId Procivis One Core SpruceID + Trential @@ -1011,6 +1134,11 @@

Algorithm: Generate Algorithm

+ +
+
+
+ @@ -1041,6 +1169,7 @@

Algorithm: Validate Algorithm

OpSecId Procivis One Core SpruceID + Trential @@ -1059,6 +1188,19 @@

Algorithm: Validate Algorithm

+ +
+
+
+ Got unwanted rejection. + Actual message: "Request failed with status code 400 Bad Request" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "Request failed with status code 400 Bad Request"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js:96:9)
+
+
+
@@ -1100,6 +1242,12 @@

Algorithm: Validate Algorithm

Missing negative test fixtures.
+ +
🚫
+
+ Missing negative test fixtures. +
+ @@ -1131,6 +1279,12 @@

Algorithm: Validate Algorithm

No feature support. + +
🚫
+
+ No feature support. +
+ @@ -1162,6 +1316,12 @@

Algorithm: Validate Algorithm

No feature support. + +
🚫
+
+ No feature support. +
+ @@ -1192,6 +1352,7 @@

Algorithm: Bitstring Generation Algorithm

OpSecId Procivis One Core SpruceID + Trential @@ -1220,6 +1381,11 @@

Algorithm: Bitstring Generation Algorithm

+ +
+
+
+ @@ -1250,6 +1416,7 @@

Algorithm: Bitstring Expansion Algorithm

OpSecId Procivis One Core SpruceID + Trential @@ -1268,6 +1435,19 @@

Algorithm: Bitstring Expansion Algorithm

+ +
+
+
+ Got unwanted rejection. + Actual message: "Request failed with status code 400 Bad Request" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "Request failed with status code 400 Bad Request"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js:177:9)
+
+
+
@@ -1308,6 +1488,7 @@

Algorithm: Processing Errors

OpSecId Procivis One Core SpruceID + Trential @@ -1340,6 +1521,12 @@

Algorithm: Processing Errors

Missing negative test fixtures.
+ +
🚫
+
+ Missing negative test fixtures. +
+ @@ -1370,6 +1557,7 @@

Interop

OpSecId Procivis One Core SpruceID + Trential @@ -1406,6 +1594,11 @@

Interop

+ +
+
+
+ @@ -1449,16 +1642,50 @@

Interop

+ +
+
+
+ Got unwanted rejection. + Actual message: "unsupported cryptosuite" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "unsupported cryptosuite"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
+
+ - + Procivis One Core - -
+ +
+
+
+ Got unwanted rejection. + Actual message: "Request failed with status code 400 Bad Request" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "Request failed with status code 400 Bad Request"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
+
+ + +
+
+ Got unwanted rejection. + Actual message: "Request failed with status code 400 Bad Request" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "Request failed with status code 400 Bad Request"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
@@ -1474,14 +1701,30 @@

Interop

- -
+ +
+
+ Got unwanted rejection. + Actual message: "Request failed with status code 400 Bad Request" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "Request failed with status code 400 Bad Request"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
- -
+ +
+
+ Got unwanted rejection. + Actual message: "invalid proof" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "invalid proof"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
@@ -1501,9 +1744,9 @@

Interop

Got unwanted rejection. - Actual message: "[{'type': 'list_type', 'loc': ('body', 'verifiableCredential', 'proof', 'list[DataIntegrityProof]'), 'msg': 'Input should be a valid list', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko'}}, {'type': 'missing', 'loc': ('body', 'verifiableCredential', 'proof', 'DataIntegrityProof', 'cryptosuite'), 'msg': 'Field required', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko'}}]" + Actual message: "[{'type': 'list_type', 'loc': ('body', 'verifiableCredential', 'proof', 'list[DataIntegrityProof]'), 'msg': 'Input should be a valid list', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3'}}, {'type': 'missing', 'loc': ('body', 'verifiableCredential', 'proof', 'DataIntegrityProof', 'cryptosuite'), 'msg': 'Field required', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3'}}]"
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
-                    Actual message: "[{'type': 'list_type', 'loc': ('body', 'verifiableCredential', 'proof', 'list[DataIntegrityProof]'), 'msg': 'Input should be a valid list', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko'}}, {'type': 'missing', 'loc': ('body', 'verifiableCredential', 'proof', 'DataIntegrityProof', 'cryptosuite'), 'msg': 'Field required', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko'}}]"
+                    Actual message: "[{'type': 'list_type', 'loc': ('body', 'verifiableCredential', 'proof', 'list[DataIntegrityProof]'), 'msg': 'Input should be a valid list', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3'}}, {'type': 'missing', 'loc': ('body', 'verifiableCredential', 'proof', 'DataIntegrityProof', 'cryptosuite'), 'msg': 'Field required', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3'}}]"
                         at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                         at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
@@ -1527,6 +1770,99 @@

Interop

+ +
+
+
+ Got unwanted rejection. + Actual message: "unsupported cryptosuite" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "unsupported cryptosuite"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
+
+ + + + + + Trential + + + +
+
+
+ + +
+
+
+ Got unwanted rejection. + Actual message: "Request failed with status code 400 Bad Request" +
AssertionError [ERR_ASSERTION]: Got unwanted rejection.
+                    Actual message: "Request failed with status code 400 Bad Request"
+                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
+                        at async Context.<anonymous> (file:///home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js:36:9)
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ + + + +
+
+
+
+
+
+
+
+
+
+
+

At Risk

+
+ + + + + + + + + + +
+
+ Reason ⇒ +
+
+ Statement +
+
At least 2 passing implementations
+ Procivis One Core + +
+
+
+
diff --git a/index.json b/index.json index 0fd7123..a57af00 100644 --- a/index.json +++ b/index.json @@ -22,9 +22,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:a8c11c23-4400-43ad-971b-babfb80fb3fe", + "_testId": "urn:uuid:90e9fd5e-43ec-448b-a177-ca87de004d59", "cell": { "columnId": "Digital Bazaar", "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." @@ -36,7 +36,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2995, + "_idleStart": 2409, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -58,9 +58,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:da869df8-ca96-4ded-a029-1590cd7724f7", + "_testId": "urn:uuid:028d47d6-3700-49a6-bf2a-008c0175470f", "cell": { "columnId": "Digital Bazaar", "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." @@ -72,12 +72,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2996, + "_idleStart": 2409, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, @@ -94,9 +94,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:c9e528df-1bdf-44fb-8424-aad6c962e4fb", + "_testId": "urn:uuid:738a2de6-c6cd-49d3-b837-65034d62867e", "cell": { "columnId": "Digital Bazaar", "rowId": "The type property MUST be BitstringStatusListEntry. " @@ -108,12 +108,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2996, + "_idleStart": 2410, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, @@ -130,9 +130,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:8203910d-f3b3-4f6b-9731-2e103fb7af10", + "_testId": "urn:uuid:03efbabf-2f44-47c5-94da-2b67e54c6f93", "cell": { "columnId": "Digital Bazaar", "rowId": "The purpose of the status entry MUST be a string." @@ -144,7 +144,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2997, + "_idleStart": 2411, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -166,9 +166,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:1bac9903-5648-411a-81e0-edca2c4eac33", + "_testId": "urn:uuid:094643ae-2751-4202-a864-2e38acfe9a10", "cell": { "columnId": "Digital Bazaar", "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." @@ -180,12 +180,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2997, + "_idleStart": 2411, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, @@ -202,9 +202,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:2740c54b-c8d5-4ad0-84c9-f35876b532dc", + "_testId": "urn:uuid:ef82b6b1-1b70-4520-bb7e-f0ca4aa0100d", "cell": { "columnId": "Digital Bazaar", "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." @@ -216,12 +216,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2998, + "_idleStart": 2412, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1028, + "duration": 1198, "state": "passed", "speed": "slow" }, @@ -238,9 +238,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:450fbfaa-0a0f-47dd-b335-8ceee03fcd3f", + "_testId": "urn:uuid:e4939a6e-6675-40eb-991f-e7609a3fa2ea", "cell": { "columnId": "Digital Bazaar", "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." @@ -252,14 +252,14 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4026, + "_idleStart": 3610, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 69, + "duration": 87, "state": "passed", - "speed": "medium" + "speed": "slow" }, { "type": "test", @@ -274,9 +274,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:0d3abaeb-1df3-444f-9873-68e7af8d9d3e", + "_testId": "urn:uuid:c20aeacd-2aa9-4317-98e1-4aa3fe1c2be7", "cell": { "columnId": "Digital Bazaar", "rowId": "If present, statusSize MUST be an integer greater than zero.", @@ -289,7 +289,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 3698, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -313,9 +313,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:f570281c-e136-435c-89e4-c5c9706c4439", + "_testId": "urn:uuid:4a982f8a-6559-450f-9975-73b907b03dc1", "cell": { "columnId": "Digital Bazaar", "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", @@ -328,7 +328,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 3698, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -352,9 +352,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:b141559a-66f0-4dda-93dc-fa002e195ec6", + "_testId": "urn:uuid:c2e56dc3-b939-4329-9665-c6991370643a", "cell": { "columnId": "Digital Bazaar", "rowId": "The number of status messages MUST equal the number of possible values.", @@ -367,7 +367,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 3698, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -391,9 +391,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:f51ab6dd-fdd9-43e8-a0b5-88fec7c79e32", + "_testId": "urn:uuid:c207ba15-2ca0-4691-baf7-58d61fd2386b", "cell": { "columnId": "Digital Bazaar", "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", @@ -406,12 +406,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "pending", "err": { "message": "No statusMessage property included." @@ -430,9 +430,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:a43195f2-971c-4520-875d-576e0c9831a6", + "_testId": "urn:uuid:9f41976f-415d-4423-bc9f-48c3fecd6642", "cell": { "columnId": "Digital Bazaar", "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", @@ -445,7 +445,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4097, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -469,9 +469,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:042885ff-eb12-4fd1-b36c-8851591c38d8", + "_testId": "urn:uuid:3b2971cc-2724-4916-b6fc-7c3ce835f8ad", "cell": { "columnId": "Digital Bazaar", "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", @@ -484,7 +484,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4097, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -508,9 +508,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:093f11f6-12ab-40c0-a167-30bf54c7d419", + "_testId": "urn:uuid:3c944658-9818-451a-9270-0cdd04430bc3", "cell": { "columnId": "Digital Bazaar", "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", @@ -523,7 +523,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4097, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -551,7 +551,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -574,7 +574,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before all\" hook", @@ -584,12 +584,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 351, + "_idleStart": 347, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 2642, + "duration": 2060, "_error": null } ], @@ -601,9 +601,9 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "3GMpELWzB8rNPx-i6Qti3", + "parent": "tJxkXSCl-baPRbrFQURFc", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:659edbe8-5c38-4d9a-8ea5-0cd01b2f397d" + "_testId": "urn:uuid:9babcab3-9769-4562-b593-869e52154eb2" }, { "title": "OpSecId", @@ -623,9 +623,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:44ed8b63-c8aa-418f-9abc-55f283987f92", + "_testId": "urn:uuid:c0db8d84-9866-402e-82cd-dcae21cd7b3d", "cell": { "columnId": "OpSecId", "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." @@ -637,12 +637,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4986, + "_idleStart": 5133, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, @@ -659,9 +659,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:7cc225e8-40eb-4add-993c-16923e835efa", + "_testId": "urn:uuid:26dfdde0-b2ef-4ff7-8df4-b4f8a320d045", "cell": { "columnId": "OpSecId", "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." @@ -673,7 +673,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4986, + "_idleStart": 5133, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -695,9 +695,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:7efaf7b9-205d-4ee7-85c4-f3ca63e1c079", + "_testId": "urn:uuid:d045564f-5b9d-4f0d-9287-381c7f6ebcf4", "cell": { "columnId": "OpSecId", "rowId": "The type property MUST be BitstringStatusListEntry. " @@ -709,7 +709,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 5133, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -731,9 +731,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:4f6ad470-4e45-4da6-8582-e58c55e38d2e", + "_testId": "urn:uuid:8487669e-191f-47cd-a59d-fbb9c59a54ae", "cell": { "columnId": "OpSecId", "rowId": "The purpose of the status entry MUST be a string." @@ -745,12 +745,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 5134, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, @@ -767,9 +767,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:364cd443-cb18-40af-823f-c95965e04000", + "_testId": "urn:uuid:b31748c7-243f-4269-a882-78e4f2672b35", "cell": { "columnId": "OpSecId", "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." @@ -781,7 +781,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 5134, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -803,9 +803,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:11bbd5d1-3cf5-4121-b281-65bc58d758f4", + "_testId": "urn:uuid:d6adf714-1dcc-479c-86e0-224bd234ca98", "cell": { "columnId": "OpSecId", "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." @@ -817,12 +817,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 5134, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 123, + "duration": 116, "state": "passed", "speed": "slow" }, @@ -839,9 +839,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:915953d7-5f9a-4743-a3b3-11627981ca30", + "_testId": "urn:uuid:0aec8c1e-8f40-44c8-b8da-993d5453d2ed", "cell": { "columnId": "OpSecId", "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." @@ -853,14 +853,14 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5111, + "_idleStart": 5251, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 76, + "duration": 72, "state": "passed", - "speed": "slow" + "speed": "medium" }, { "type": "test", @@ -875,9 +875,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:15239681-41ad-4f77-ba0c-30d4229afe60", + "_testId": "urn:uuid:0513e015-c620-461d-a2cf-28986ed9d6c2", "cell": { "columnId": "OpSecId", "rowId": "If present, statusSize MUST be an integer greater than zero.", @@ -890,7 +890,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 5323, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -914,9 +914,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:879747f8-675b-4b73-88eb-dd5300c9f0ef", + "_testId": "urn:uuid:ca28d578-bcfc-4b70-a89a-6277fc08bb1d", "cell": { "columnId": "OpSecId", "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", @@ -929,7 +929,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 5323, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -953,9 +953,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:361fc4ad-40ff-4b99-bf23-b12c102f42f1", + "_testId": "urn:uuid:b57bf2e8-ec92-433e-9f9a-1ef80df4c83f", "cell": { "columnId": "OpSecId", "rowId": "The number of status messages MUST equal the number of possible values.", @@ -968,7 +968,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 5323, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -992,9 +992,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:8db1112b-69b6-464b-a118-33d3d8fca403", + "_testId": "urn:uuid:e52fae94-3845-4ea4-9b58-ae3bb40c181c", "cell": { "columnId": "OpSecId", "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", @@ -1007,7 +1007,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1031,9 +1031,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:cd0b27ae-a4bc-42c4-b7f4-1b46552c6202", + "_testId": "urn:uuid:8377aad5-fc33-474a-9ce7-2958befabaf6", "cell": { "columnId": "OpSecId", "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", @@ -1046,7 +1046,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1070,9 +1070,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:d6a58c79-6ba4-4a91-9137-8d7313aad3ff", + "_testId": "urn:uuid:beece970-85d8-4d64-8816-693109284757", "cell": { "columnId": "OpSecId", "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", @@ -1085,7 +1085,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1109,9 +1109,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:990a928f-0f8c-414f-9c9b-f3c971dabcf8", + "_testId": "urn:uuid:9ec683da-7040-4d21-bdf2-23bd671acc5d", "cell": { "columnId": "OpSecId", "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", @@ -1124,7 +1124,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1152,7 +1152,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -1175,7 +1175,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before all\" hook", @@ -1185,12 +1185,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4098, + "_idleStart": 3700, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 888, + "duration": 1433, "_error": null } ], @@ -1202,9 +1202,9 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "3GMpELWzB8rNPx-i6Qti3", + "parent": "tJxkXSCl-baPRbrFQURFc", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:7bc8288b-f95d-4648-9622-47d32fb81013" + "_testId": "urn:uuid:8231f585-4046-413e-9dd2-ac31a2862b8f" }, { "title": "Procivis One Core", @@ -1224,9 +1224,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:27616845-6f50-41a9-ab62-359b511c3876", + "_testId": "urn:uuid:98bb7c70-b673-451b-a26d-275a2550dee0", "cell": { "columnId": "Procivis One Core", "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." @@ -1238,12 +1238,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6070, + "_idleStart": 5992, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, @@ -1260,9 +1260,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:104a02aa-4b90-466a-9b36-933533bfd8b0", + "_testId": "urn:uuid:90a33ea8-5275-466f-96ce-ec6aaf3ea258", "cell": { "columnId": "Procivis One Core", "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." @@ -1274,7 +1274,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6070, + "_idleStart": 5992, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1296,9 +1296,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:6b28ae94-3aa9-4a9b-bdce-3aacab644e88", + "_testId": "urn:uuid:c2b6f50b-cd73-4f7e-b873-7b797ce28b07", "cell": { "columnId": "Procivis One Core", "rowId": "The type property MUST be BitstringStatusListEntry. " @@ -1310,7 +1310,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 5992, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1332,9 +1332,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:40d334e0-8376-46d3-bacc-17f417451491", + "_testId": "urn:uuid:3fefc15a-3c97-430a-b75e-8ede6989659e", "cell": { "columnId": "Procivis One Core", "rowId": "The purpose of the status entry MUST be a string." @@ -1346,7 +1346,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 5993, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1368,9 +1368,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:5ce9b4dd-0bd4-4a83-ac9b-874d2450f3a1", + "_testId": "urn:uuid:4bbb6efa-0ae8-4ecc-ada5-787810b4e32b", "cell": { "columnId": "Procivis One Core", "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." @@ -1382,7 +1382,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 5993, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1404,9 +1404,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:9d5ff73b-3523-4814-a5a8-a254052cd509", + "_testId": "urn:uuid:bec53559-4c0e-41e7-a2a6-677d07c815c4", "cell": { "columnId": "Procivis One Core", "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." @@ -1418,12 +1418,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 5993, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 354, + "duration": 432, "state": "passed", "speed": "slow" }, @@ -1440,9 +1440,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:42d83a12-2434-444d-a0a4-1ec2051b2b39", + "_testId": "urn:uuid:42197039-236c-4c17-bab8-f835ca296dae", "cell": { "columnId": "Procivis One Core", "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." @@ -1459,7 +1459,7 @@ "_repeat": null, "_destroyed": true }, - "duration": 102, + "duration": 116, "state": "passed", "speed": "slow" }, @@ -1476,9 +1476,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:5dee0fcf-dbcd-40f5-9d29-9fbc823ed523", + "_testId": "urn:uuid:fe6b158d-a25c-4e7b-878c-8541513256c0", "cell": { "columnId": "Procivis One Core", "rowId": "If present, statusSize MUST be an integer greater than zero.", @@ -1491,7 +1491,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6527, + "_idleStart": 6541, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1515,9 +1515,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:2774f550-7bcc-4c6b-bc9c-d722db5b3821", + "_testId": "urn:uuid:cb2a0237-eff6-44c8-a82d-78594b3f7e1f", "cell": { "columnId": "Procivis One Core", "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", @@ -1530,7 +1530,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6541, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1554,9 +1554,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:d258e228-b1c0-48d7-a8b3-8adb3065196a", + "_testId": "urn:uuid:7dc00667-283d-4d12-9e9f-29d8cc882c56", "cell": { "columnId": "Procivis One Core", "rowId": "The number of status messages MUST equal the number of possible values.", @@ -1569,7 +1569,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6541, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1593,9 +1593,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:146764bb-391f-4994-9eab-a77f0bf75b69", + "_testId": "urn:uuid:743d1836-f47e-408e-8dec-312241170b12", "cell": { "columnId": "Procivis One Core", "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", @@ -1608,7 +1608,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1632,9 +1632,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:b0956db9-2eda-46e7-bcba-3149e2372f3a", + "_testId": "urn:uuid:5cd3bcbf-63f7-4913-b14c-ed01554a43ca", "cell": { "columnId": "Procivis One Core", "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", @@ -1647,7 +1647,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1671,9 +1671,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:6384c97b-897a-458a-9568-2a3ee460f15e", + "_testId": "urn:uuid:ec158147-03bb-4a99-8c68-5ea2612a0640", "cell": { "columnId": "Procivis One Core", "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", @@ -1686,12 +1686,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "pending", "err": { "message": "No statusMessage property included." @@ -1710,9 +1710,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:f0d5518d-6449-4158-9291-715b712f6d0f", + "_testId": "urn:uuid:609430b4-45db-4767-bc79-cc0d2d7b7641", "cell": { "columnId": "Procivis One Core", "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", @@ -1725,7 +1725,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1753,7 +1753,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -1776,7 +1776,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before all\" hook", @@ -1786,12 +1786,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 882, + "duration": 667, "_error": null } ], @@ -1803,9 +1803,9 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "3GMpELWzB8rNPx-i6Qti3", + "parent": "tJxkXSCl-baPRbrFQURFc", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:096ea67a-2a1e-4d6b-aad5-98fffc7516dc" + "_testId": "urn:uuid:909712ce-ce44-4d3b-bee7-c1e60599f250" }, { "title": "SpruceID", @@ -1825,9 +1825,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:f15d9cd4-5839-40aa-b32a-eae557d30982", + "_testId": "urn:uuid:473878b2-2ecc-44e1-b519-f9b4f8e617f9", "cell": { "columnId": "SpruceID", "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." @@ -1839,7 +1839,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1861,9 +1861,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:3146ca5e-aecd-4b14-ad47-5f67a1c85d4e", + "_testId": "urn:uuid:8df01e6b-6ed4-4c3b-9848-f71739a5f42c", "cell": { "columnId": "SpruceID", "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." @@ -1875,7 +1875,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1897,9 +1897,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:0984d918-31a2-4bf4-89a3-11ea6a999014", + "_testId": "urn:uuid:48fbe8a8-0b60-40c3-a38c-24682bd6930c", "cell": { "columnId": "SpruceID", "rowId": "The type property MUST be BitstringStatusListEntry. " @@ -1911,7 +1911,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -1933,9 +1933,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:16e07b0c-af71-43fd-a748-b54db05c1eac", + "_testId": "urn:uuid:c2d454d2-9273-43d9-a316-52bb634106d5", "cell": { "columnId": "SpruceID", "rowId": "The purpose of the status entry MUST be a string." @@ -1947,12 +1947,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, @@ -1969,9 +1969,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:611fd642-d070-44d3-8a1f-538d686b7edb", + "_testId": "urn:uuid:c30d3bed-700b-49c5-9d99-c3577b288273", "cell": { "columnId": "SpruceID", "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." @@ -1983,7 +1983,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6622, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2005,9 +2005,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:342587ce-e23f-4f68-a585-33afbc468eba", + "_testId": "urn:uuid:6ab57e50-8c8c-4137-b431-114310eec2c4", "cell": { "columnId": "SpruceID", "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." @@ -2019,12 +2019,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6622, + "_idleStart": 6738, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 81, + "duration": 164, "state": "passed", "speed": "slow" }, @@ -2041,9 +2041,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:e79de7e9-c62d-4030-b180-33f292be0644", + "_testId": "urn:uuid:18b46401-f11c-40e7-870e-24dc7c287fc1", "cell": { "columnId": "SpruceID", "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." @@ -2055,14 +2055,14 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6703, + "_idleStart": 6901, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 34, + "duration": 57, "state": "passed", - "speed": "fast" + "speed": "medium" }, { "type": "test", @@ -2077,9 +2077,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:4450d912-17f9-4502-97c2-0f4be9be6e46", + "_testId": "urn:uuid:1a7be4ee-fbe3-40b0-a7ef-eb9b4073738b", "cell": { "columnId": "SpruceID", "rowId": "If present, statusSize MUST be an integer greater than zero.", @@ -2092,7 +2092,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6737, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2116,9 +2116,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:f8d615df-f8fa-45d7-be3a-b01107fd9393", + "_testId": "urn:uuid:b0b9dd4a-4ff7-450f-acc5-9048d72d9f0c", "cell": { "columnId": "SpruceID", "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", @@ -2131,7 +2131,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2155,9 +2155,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:f539fe4c-514e-4fe2-897e-91c84bb10cde", + "_testId": "urn:uuid:202e833c-0b9e-43ec-93ba-0f6d783d30a9", "cell": { "columnId": "SpruceID", "rowId": "The number of status messages MUST equal the number of possible values.", @@ -2170,7 +2170,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2194,9 +2194,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:11d00944-e102-448b-a674-22a1cde0a75e", + "_testId": "urn:uuid:31a06bfa-47e4-453c-868a-fcee97205c55", "cell": { "columnId": "SpruceID", "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", @@ -2209,7 +2209,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2233,9 +2233,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:cbce1667-7526-418d-a6a2-c1b04e3cdbb6", + "_testId": "urn:uuid:6fe8f860-78a3-47ec-88ff-74982475f950", "cell": { "columnId": "SpruceID", "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", @@ -2248,7 +2248,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2272,9 +2272,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:dcb1e7a1-7e87-41d2-9c38-6b7fc1d0cf4c", + "_testId": "urn:uuid:2205fe2d-642c-441d-b4a4-c6d91c0c3c62", "cell": { "columnId": "SpruceID", "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", @@ -2287,7 +2287,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2311,9 +2311,9 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:53d3b1a1-c0d6-4ee8-b1fb-844540c95ae9", + "_testId": "urn:uuid:8aa44215-2278-46a8-82b4-6ddf83cff43d", "cell": { "columnId": "SpruceID", "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", @@ -2326,7 +2326,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2354,7 +2354,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -2377,7 +2377,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before all\" hook", @@ -2387,12 +2387,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 92, + "duration": 194, "_error": null } ], @@ -2404,42 +2404,15 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "3GMpELWzB8rNPx-i6Qti3", + "parent": "tJxkXSCl-baPRbrFQURFc", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:7f2dd376-6acc-470d-bb21-bfac2379448e" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [], - "_beforeAll": [], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "matrix": true, - "report": true, - "rowLabel": "Test Name", - "columnLabel": "Implementer", - "_testId": "urn:uuid:28a4b9e7-886e-407a-ba9f-b4e3d7aedf5a", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ + "_testId": "urn:uuid:8d680f06-1586-4190-9def-a53e0a893014" + }, { - "id": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", - "cells": [ + "title": "Trential", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", @@ -2453,11 +2426,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:a8c11c23-4400-43ad-971b-babfb80fb3fe", + "_testId": "urn:uuid:06ce0d38-460f-40b8-9b1b-3198b7bf4c86", "cell": { - "columnId": "Digital Bazaar", + "columnId": "Trential", "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, @@ -2467,19 +2440,19 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2995, + "_idleStart": 8601, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 2, + "duration": 1, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", + "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2487,35 +2460,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:44ed8b63-c8aa-418f-9abc-55f283987f92", + "_testId": "urn:uuid:e067fc45-fbfa-4957-a23d-a1398d35847c", "cell": { - "columnId": "OpSecId", - "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." + "columnId": "Trential", + "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "skipMessage": "No id property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4986, + "_idleStart": 8601, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No id property included." + } }, { "type": "test", - "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", + "title": "The type property MUST be BitstringStatusListEntry. ", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2525,21 +2501,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:27616845-6f50-41a9-ab62-359b511c3876", + "_testId": "urn:uuid:22c867ac-d754-4567-a944-95e0a287a894", "cell": { - "columnId": "Procivis One Core", - "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." + "columnId": "Trential", + "rowId": "The type property MUST be BitstringStatusListEntry. " }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6070, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2550,8 +2526,8 @@ }, { "type": "test", - "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", + "title": "The purpose of the status entry MUST be a string.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2561,21 +2537,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:f15d9cd4-5839-40aa-b32a-eae557d30982", + "_testId": "urn:uuid:7e74db52-b9d7-4480-b1b3-714d20f48677", "cell": { - "columnId": "SpruceID", - "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." + "columnId": "Trential", + "rowId": "The purpose of the status entry MUST be a string." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -2583,17 +2559,11 @@ "duration": 0, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", - "cells": [ + }, { "type": "test", - "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2603,33 +2573,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:da869df8-ca96-4ded-a029-1590cd7724f7", + "_testId": "urn:uuid:ae5bb0fc-e2ce-4c47-930d-5d10906f1d55", "cell": { - "columnId": "Digital Bazaar", - "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." + "columnId": "Trential", + "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2996, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListCredential property MUST be a URL to a verifiable credential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2639,33 +2609,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:7cc225e8-40eb-4add-993c-16923e835efa", + "_testId": "urn:uuid:97f8b8d4-2578-49d2-8279-a0ce85d8526f", "cell": { - "columnId": "OpSecId", - "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." + "columnId": "Trential", + "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4986, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 3107, "state": "passed", - "speed": "fast" + "speed": "slow" }, { "type": "test", - "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2675,33 +2645,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:104a02aa-4b90-466a-9b36-933533bfd8b0", + "_testId": "urn:uuid:203083c2-8405-43eb-92b0-d8a74a15ce99", "cell": { - "columnId": "Procivis One Core", - "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." + "columnId": "Trential", + "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6070, + "_idleStart": 11710, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1070, "state": "passed", - "speed": "fast" + "speed": "slow" }, { "type": "test", - "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If present, statusSize MUST be an integer greater than zero.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2709,41 +2679,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:3146ca5e-aecd-4b14-ad47-5f67a1c85d4e", + "_testId": "urn:uuid:a76c5ace-199b-4b72-8b59-fbf2a214f078", "cell": { - "columnId": "SpruceID", - "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." + "columnId": "Trential", + "rowId": "If present, statusSize MUST be an integer greater than zero.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 12779, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - } - ] - }, - { - "id": "The type property MUST be BitstringStatusListEntry. ", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", - "cells": [ + "state": "pending", + "err": { + "message": "No statusSize property included." + } + }, { "type": "test", - "title": "The type property MUST be BitstringStatusListEntry. ", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", + "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2751,35 +2718,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:c9e528df-1bdf-44fb-8424-aad6c962e4fb", + "_testId": "urn:uuid:ea4bbc68-c10a-4243-9a10-74086d1c5703", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The type property MUST be BitstringStatusListEntry. " + "columnId": "Trential", + "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2996, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "passed", - "speed": "fast" + "duration": 1, + "state": "pending", + "err": { + "message": "No statusSize property included." + } }, { "type": "test", - "title": "The type property MUST be BitstringStatusListEntry. ", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", + "title": "The number of status messages MUST equal the number of possible values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2787,35 +2757,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:7efaf7b9-205d-4ee7-85c4-f3ca63e1c079", + "_testId": "urn:uuid:0bc3f720-e6f2-4a80-a6ea-cc37c0676049", "cell": { - "columnId": "OpSecId", - "rowId": "The type property MUST be BitstringStatusListEntry. " + "columnId": "Trential", + "rowId": "The number of status messages MUST equal the number of possible values.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The type property MUST be BitstringStatusListEntry. ", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", + "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2823,35 +2796,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:6b28ae94-3aa9-4a9b-bdce-3aacab644e88", + "_testId": "urn:uuid:64cdb40b-1a92-49f1-89ae-ba90be4c1a56", "cell": { - "columnId": "Procivis One Core", - "rowId": "The type property MUST be BitstringStatusListEntry. " + "columnId": "Trential", + "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The type property MUST be BitstringStatusListEntry. ", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", + "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2859,41 +2835,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:0984d918-31a2-4bf4-89a3-11ea6a999014", + "_testId": "urn:uuid:fdee76d4-5b49-448b-b28c-ffec4445b745", "cell": { - "columnId": "SpruceID", - "rowId": "The type property MUST be BitstringStatusListEntry. " + "columnId": "Trential", + "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "skipMessage": "No greater than 1 statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - } - ] - }, - { - "id": "The purpose of the status entry MUST be a string.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", - "cells": [ - { - "type": "test", - "title": "The purpose of the status entry MUST be a string.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", + "state": "pending", + "err": { + "message": "No greater than 1 statusSize property included." + } + }, + { + "type": "test", + "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2901,35 +2874,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:8203910d-f3b3-4f6b-9731-2e103fb7af10", + "_testId": "urn:uuid:f93dac9c-dd6e-4828-a8d9-77d7c855b27c", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The purpose of the status entry MUST be a string." + "columnId": "Trential", + "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2997, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The purpose of the status entry MUST be a string.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", + "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -2937,35 +2913,42 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:4f6ad470-4e45-4da6-8582-e58c55e38d2e", + "_testId": "urn:uuid:30b5ac2a-d350-444f-8bb0-83d420a8a15c", "cell": { - "columnId": "OpSecId", - "rowId": "The purpose of the status entry MUST be a string." + "columnId": "Trential", + "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "skipMessage": "No statusReference property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - }, + "state": "pending", + "err": { + "message": "No statusReference property included." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "The purpose of the status entry MUST be a string.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -2974,34 +2957,98 @@ "timedOut": false, "_currentRetry": 0, "pending": false, + "type": "hook", + "parent": "apODA0H8AmSfkcKDuWnuk", + "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:40d334e0-8376-46d3-bacc-17f417451491", - "cell": { - "columnId": "Procivis One Core", - "rowId": "The purpose of the status entry MUST be a string." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "passed", - "speed": "fast" - }, + "duration": 1641, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "tJxkXSCl-baPRbrFQURFc", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "_testId": "urn:uuid:a5aa0f6d-f160-4a48-a2eb-7272a4d039f3" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [], + "_beforeAll": [], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "matrix": true, + "report": true, + "rowLabel": "Test Name", + "columnLabel": "Implementer", + "_testId": "urn:uuid:56a46708-bdf7-48ff-b1f6-7ffdb4829b34", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ + { + "id": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", + "cells": [ { "type": "test", - "title": "The purpose of the status entry MUST be a string.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", + "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3011,39 +3058,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:16e07b0c-af71-43fd-a748-b54db05c1eac", + "_testId": "urn:uuid:90e9fd5e-43ec-448b-a177-ca87de004d59", "cell": { - "columnId": "SpruceID", - "rowId": "The purpose of the status entry MUST be a string." + "columnId": "Digital Bazaar", + "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6621, + "_idleStart": 2409, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 2, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", - "cells": [ + }, { "type": "test", - "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", + "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3053,21 +3094,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:1bac9903-5648-411a-81e0-edca2c4eac33", + "_testId": "urn:uuid:c0db8d84-9866-402e-82cd-dcae21cd7b3d", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." + "columnId": "OpSecId", + "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2997, + "_idleStart": 5133, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -3078,8 +3119,8 @@ }, { "type": "test", - "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", + "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3089,33 +3130,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:364cd443-cb18-40af-823f-c95965e04000", + "_testId": "urn:uuid:98bb7c70-b673-451b-a26d-275a2550dee0", "cell": { - "columnId": "OpSecId", - "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." + "columnId": "Procivis One Core", + "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 5992, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", + "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3125,21 +3166,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:5ce9b4dd-0bd4-4a83-ac9b-874d2450f3a1", + "_testId": "urn:uuid:473878b2-2ecc-44e1-b519-f9b4f8e617f9", "cell": { - "columnId": "Procivis One Core", - "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." + "columnId": "SpruceID", + "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -3150,8 +3191,8 @@ }, { "type": "test", - "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", + "title": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.';\n testCredential({credential: issuedVc});\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3161,39 +3202,39 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:611fd642-d070-44d3-8a1f-538d686b7edb", + "_testId": "urn:uuid:06ce0d38-460f-40b8-9b1b-3198b7bf4c86", "cell": { - "columnId": "SpruceID", - "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." + "columnId": "Trential", + "rowId": "Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Any%20expression%20of%20the%20data%20model%20in%20this%20section%20MUST%20be%20expressed%20in%20a%20conforming%20verifiable%20credential%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6622, + "_idleStart": 8601, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" } ] }, { - "id": "The statusListCredential property MUST be a URL to a verifiable credential.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", + "id": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "cells": [ { "type": "test", - "title": "The statusListCredential property MUST be a URL to a verifiable credential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", + "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3203,33 +3244,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:2740c54b-c8d5-4ad0-84c9-f35876b532dc", + "_testId": "urn:uuid:028d47d6-3700-49a6-bf2a-008c0175470f", "cell": { "columnId": "Digital Bazaar", - "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." + "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 2998, + "_idleStart": 2409, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1028, + "duration": 0, "state": "passed", - "speed": "slow" + "speed": "fast" }, { "type": "test", - "title": "The statusListCredential property MUST be a URL to a verifiable credential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", + "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3239,33 +3280,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:11bbd5d1-3cf5-4121-b281-65bc58d758f4", + "_testId": "urn:uuid:26dfdde0-b2ef-4ff7-8df4-b4f8a320d045", "cell": { "columnId": "OpSecId", - "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." + "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4987, + "_idleStart": 5133, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 123, + "duration": 0, "state": "passed", - "speed": "slow" + "speed": "fast" }, { "type": "test", - "title": "The statusListCredential property MUST be a URL to a verifiable credential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", + "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3275,33 +3316,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:9d5ff73b-3523-4814-a5a8-a254052cd509", + "_testId": "urn:uuid:90a33ea8-5275-466f-96ce-ec6aaf3ea258", "cell": { "columnId": "Procivis One Core", - "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." + "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6071, + "_idleStart": 5992, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 354, + "duration": 0, "state": "passed", - "speed": "slow" + "speed": "fast" }, { "type": "test", - "title": "The statusListCredential property MUST be a URL to a verifiable credential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", + "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3311,39 +3352,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:342587ce-e23f-4f68-a585-33afbc468eba", + "_testId": "urn:uuid:8df01e6b-6ed4-4c3b-9848-f71739a5f42c", "cell": { "columnId": "SpruceID", - "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." + "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6622, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 81, + "duration": 0, "state": "passed", - "speed": "slow" - } - ] - }, - { - "id": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", - "cells": [ + "speed": "fast" + }, { "type": "test", - "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", + "title": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.';\n for(statusEntry of statusEntries) {\n if('id' in statusEntry) {\n // TODO test for URI\n statusEntry.id.should.be.a('string',\n 'Expected credentialStatus.id to be a string.'\n );\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No id property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3351,35 +3386,44 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:450fbfaa-0a0f-47dd-b335-8ceee03fcd3f", + "_testId": "urn:uuid:e067fc45-fbfa-4957-a23d-a1398d35847c", "cell": { - "columnId": "Digital Bazaar", - "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." + "columnId": "Trential", + "rowId": "If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.", + "skipMessage": "No id property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20value%20is%20expected%20to%20be%20a%20URL%20that%20identifies%20the%20status%20information%20associated%20with%20the%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4026, + "_idleStart": 8601, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 69, - "state": "passed", - "speed": "medium" - }, + "duration": 0, + "state": "pending", + "err": { + "message": "No id property included." + } + } + ] + }, + { + "id": "The type property MUST be BitstringStatusListEntry. ", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", + "cells": [ { "type": "test", - "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", + "title": "The type property MUST be BitstringStatusListEntry. ", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3389,33 +3433,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:915953d7-5f9a-4743-a3b3-11627981ca30", + "_testId": "urn:uuid:738a2de6-c6cd-49d3-b837-65034d62867e", "cell": { - "columnId": "OpSecId", - "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." + "columnId": "Digital Bazaar", + "rowId": "The type property MUST be BitstringStatusListEntry. " }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5111, + "_idleStart": 2410, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 76, + "duration": 1, "state": "passed", - "speed": "slow" + "speed": "fast" }, { "type": "test", - "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", + "title": "The type property MUST be BitstringStatusListEntry. ", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3425,33 +3469,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:42d83a12-2434-444d-a0a4-1ec2051b2b39", + "_testId": "urn:uuid:d045564f-5b9d-4f0d-9287-381c7f6ebcf4", "cell": { - "columnId": "Procivis One Core", - "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." + "columnId": "OpSecId", + "rowId": "The type property MUST be BitstringStatusListEntry. " }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6425, + "_idleStart": 5133, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 102, + "duration": 0, "state": "passed", - "speed": "slow" + "speed": "fast" }, { "type": "test", - "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", + "title": "The type property MUST be BitstringStatusListEntry. ", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3461,39 +3505,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:e79de7e9-c62d-4030-b180-33f292be0644", + "_testId": "urn:uuid:c2b6f50b-cd73-4f7e-b873-7b797ce28b07", "cell": { - "columnId": "SpruceID", - "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." + "columnId": "Procivis One Core", + "rowId": "The type property MUST be BitstringStatusListEntry. " }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6703, + "_idleStart": 5992, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 34, + "duration": 0, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "If present, statusSize MUST be an integer greater than zero.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", - "cells": [ + }, { "type": "test", - "title": "If present, statusSize MUST be an integer greater than zero.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The type property MUST be BitstringStatusListEntry. ", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3501,38 +3539,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:0d3abaeb-1df3-444f-9873-68e7af8d9d3e", + "_testId": "urn:uuid:48fbe8a8-0b60-40c3-a38c-24682bd6930c", "cell": { - "columnId": "Digital Bazaar", - "rowId": "If present, statusSize MUST be an integer greater than zero.", - "skipMessage": "No statusSize property included." + "columnId": "SpruceID", + "rowId": "The type property MUST be BitstringStatusListEntry. " }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "If present, statusSize MUST be an integer greater than zero.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The type property MUST be BitstringStatusListEntry. ", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected credentialStatus.type to be a string.'\n );\n statusEntry.type.should.equal(\n 'BitstringStatusListEntry',\n 'Expected credentialStatus.type to be ' +\n 'BitstringStatusListEntry.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3540,38 +3575,41 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:15239681-41ad-4f77-ba0c-30d4229afe60", + "_testId": "urn:uuid:22c867ac-d754-4567-a944-95e0a287a894", "cell": { - "columnId": "OpSecId", - "rowId": "If present, statusSize MUST be an integer greater than zero.", - "skipMessage": "No statusSize property included." + "columnId": "Trential", + "rowId": "The type property MUST be BitstringStatusListEntry. " }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20property%20MUST%20be%20BitstringStatusListEntry.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } - }, + "state": "passed", + "speed": "fast" + } + ] + }, + { + "id": "The purpose of the status entry MUST be a string.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", + "cells": [ { "type": "test", - "title": "If present, statusSize MUST be an integer greater than zero.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The purpose of the status entry MUST be a string.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3579,38 +3617,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:5dee0fcf-dbcd-40f5-9d29-9fbc823ed523", + "_testId": "urn:uuid:03efbabf-2f44-47c5-94da-2b67e54c6f93", "cell": { - "columnId": "Procivis One Core", - "rowId": "If present, statusSize MUST be an integer greater than zero.", - "skipMessage": "No statusSize property included." + "columnId": "Digital Bazaar", + "rowId": "The purpose of the status entry MUST be a string." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6527, + "_idleStart": 2411, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "If present, statusSize MUST be an integer greater than zero.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The purpose of the status entry MUST be a string.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3618,44 +3653,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:4450d912-17f9-4502-97c2-0f4be9be6e46", + "_testId": "urn:uuid:8487669e-191f-47cd-a59d-fbb9c59a54ae", "cell": { - "columnId": "SpruceID", - "rowId": "If present, statusSize MUST be an integer greater than zero.", - "skipMessage": "No statusSize property included." + "columnId": "OpSecId", + "rowId": "The purpose of the status entry MUST be a string." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6737, + "_idleStart": 5134, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } - } - ] - }, - { - "id": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", - "cells": [ + "duration": 1, + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The purpose of the status entry MUST be a string.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3663,38 +3689,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:f570281c-e136-435c-89e4-c5c9706c4439", + "_testId": "urn:uuid:3fefc15a-3c97-430a-b75e-8ede6989659e", "cell": { - "columnId": "Digital Bazaar", - "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "skipMessage": "No statusSize property included." + "columnId": "Procivis One Core", + "rowId": "The purpose of the status entry MUST be a string." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 5993, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The purpose of the status entry MUST be a string.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3702,38 +3725,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:879747f8-675b-4b73-88eb-dd5300c9f0ef", + "_testId": "urn:uuid:c2d454d2-9273-43d9-a316-52bb634106d5", "cell": { - "columnId": "OpSecId", - "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "skipMessage": "No statusSize property included." + "columnId": "SpruceID", + "rowId": "The purpose of the status entry MUST be a string." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The purpose of the status entry MUST be a string.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusPurpose').to.be.a('string',\n 'Expected credentialStatus.statusPurpose to be a string.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3741,38 +3761,41 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:2774f550-7bcc-4c6b-bc9c-d722db5b3821", + "_testId": "urn:uuid:7e74db52-b9d7-4480-b1b3-714d20f48677", "cell": { - "columnId": "Procivis One Core", - "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "skipMessage": "No statusSize property included." + "columnId": "Trential", + "rowId": "The purpose of the status entry MUST be a string." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20purpose%20of%20the%20status%20entry%20MUST%20be%20a%20string", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } - }, + "state": "passed", + "speed": "fast" + } + ] + }, + { + "id": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", + "cells": [ { "type": "test", - "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3780,83 +3803,71 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:f8d615df-f8fa-45d7-be3a-b01107fd9393", + "_testId": "urn:uuid:094643ae-2751-4202-a864-2e38acfe9a10", "cell": { - "columnId": "SpruceID", - "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", - "skipMessage": "No statusSize property included." + "columnId": "Digital Bazaar", + "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 2411, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusSize property included." - } - } - ] - }, - { - "id": "The number of status messages MUST equal the number of possible values.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", - "cells": [ + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "The number of status messages MUST equal the number of possible values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", - "async": 0, + "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", + "async": 0, "sync": true, "_timeout": 15000, "_slow": 75, "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:b141559a-66f0-4dda-93dc-fa002e195ec6", + "_testId": "urn:uuid:b31748c7-243f-4269-a882-78e4f2672b35", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The number of status messages MUST equal the number of possible values.", - "skipMessage": "No statusMessage property included." + "columnId": "OpSecId", + "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 5134, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "The number of status messages MUST equal the number of possible values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3864,38 +3875,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:361fc4ad-40ff-4b99-bf23-b12c102f42f1", + "_testId": "urn:uuid:4bbb6efa-0ae8-4ecc-ada5-787810b4e32b", "cell": { - "columnId": "OpSecId", - "rowId": "The number of status messages MUST equal the number of possible values.", - "skipMessage": "No statusMessage property included." + "columnId": "Procivis One Core", + "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 5993, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "The number of status messages MUST equal the number of possible values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3903,38 +3911,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:d258e228-b1c0-48d7-a8b3-8adb3065196a", + "_testId": "urn:uuid:c30d3bed-700b-49c5-9d99-c3577b288273", "cell": { - "columnId": "Procivis One Core", - "rowId": "The number of status messages MUST equal the number of possible values.", - "skipMessage": "No statusMessage property included." + "columnId": "SpruceID", + "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6737, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "The number of status messages MUST equal the number of possible values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010';\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.property(\n 'statusListIndex').to.be.a('string',\n 'Expected statusListIndex to be a string.'\n );\n assert(\n String(parseInt(statusEntry.statusListIndex)) ===\n statusEntry.statusListIndex,\n 'Expected statusSize value to be an integer ' +\n 'expressed as a string in base 10.'\n );\n parseInt(statusEntry.statusListIndex).\n should.be.gte(0,\n 'Expected credentialStatus.statusListIndex to be >= 0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3942,44 +3947,41 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:f539fe4c-514e-4fe2-897e-91c84bb10cde", + "_testId": "urn:uuid:ae5bb0fc-e2ce-4c47-930d-5d10906f1d55", "cell": { - "columnId": "SpruceID", - "rowId": "The number of status messages MUST equal the number of possible values.", - "skipMessage": "No statusMessage property included." + "columnId": "Trential", + "rowId": "The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListIndex%20property%20MUST%20be%20an%20arbitrary%20size%20integer%20greater%20than%20or%20equal%20to%200%2C%20expressed%20as%20a%20string%20in%20base%2010", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 8602, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "state": "passed", + "speed": "fast" } ] }, { - "id": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", + "id": "The statusListCredential property MUST be a URL to a verifiable credential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", "cells": [ { "type": "test", - "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListCredential property MUST be a URL to a verifiable credential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -3987,38 +3989,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:f51ab6dd-fdd9-43e8-a0b5-88fec7c79e32", + "_testId": "urn:uuid:ef82b6b1-1b70-4520-bb7e-f0ca4aa0100d", "cell": { "columnId": "Digital Bazaar", - "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "skipMessage": "No statusMessage property included." + "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4096, + "_idleStart": 2412, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "duration": 1198, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListCredential property MUST be a URL to a verifiable credential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4026,38 +4025,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:8db1112b-69b6-464b-a118-33d3d8fca403", + "_testId": "urn:uuid:d6adf714-1dcc-479c-86e0-224bd234ca98", "cell": { "columnId": "OpSecId", - "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "skipMessage": "No statusMessage property included." + "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5187, + "_idleStart": 5134, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "duration": 116, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListCredential property MUST be a URL to a verifiable credential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4065,38 +4061,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:146764bb-391f-4994-9eab-a77f0bf75b69", + "_testId": "urn:uuid:bec53559-4c0e-41e7-a2a6-677d07c815c4", "cell": { "columnId": "Procivis One Core", - "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "skipMessage": "No statusMessage property included." + "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 5993, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "duration": 432, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "The statusListCredential property MUST be a URL to a verifiable credential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4104,19 +4097,18 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:11d00944-e102-448b-a674-22a1cde0a75e", + "_testId": "urn:uuid:6ab57e50-8c8c-4137-b431-114310eec2c4", "cell": { "columnId": "SpruceID", - "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", - "skipMessage": "No statusMessage property included." + "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, @@ -4126,22 +4118,56 @@ "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No statusMessage property included." - } + "duration": 164, + "state": "passed", + "speed": "slow" + }, + { + "type": "test", + "title": "The statusListCredential property MUST be a URL to a verifiable credential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.';\n // TODO check for URI\n for(statusEntry of statusEntries) {\n statusEntry.should.have.own.\n property('statusListCredential').to.be.\n a('string',\n 'Expected credentialStatus.statusListCredential to be a URL.'\n );\n const {slc} = await getSlc(statusEntry);\n should.exist(slc,\n 'Expected statusListCredential to resolve to a ' +\n 'Verifiable Credential');\n testSlCredential({slCredential: slc});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "apODA0H8AmSfkcKDuWnuk", + "ctx": null, + "_testId": "urn:uuid:97f8b8d4-2578-49d2-8279-a0ce85d8526f", + "cell": { + "columnId": "Trential", + "rowId": "The statusListCredential property MUST be a URL to a verifiable credential." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20statusListCredential%20property%20MUST%20be%20a%20URL%20to%20a%20verifiable%20credential.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 8602, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 3107, + "state": "passed", + "speed": "slow" } ] }, { - "id": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "id": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "cells": [ { "type": "test", - "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4149,38 +4175,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:a43195f2-971c-4520-875d-576e0c9831a6", + "_testId": "urn:uuid:e4939a6e-6675-40eb-991f-e7609a3fa2ea", "cell": { "columnId": "Digital Bazaar", - "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "skipMessage": "No greater than 1 statusSize property included." + "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4097, + "_idleStart": 3610, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No greater than 1 statusSize property included." - } + "duration": 87, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4188,38 +4211,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:cd0b27ae-a4bc-42c4-b7f4-1b46552c6202", + "_testId": "urn:uuid:0aec8c1e-8f40-44c8-b8da-993d5453d2ed", "cell": { "columnId": "OpSecId", - "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "skipMessage": "No greater than 1 statusSize property included." + "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 5251, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No greater than 1 statusSize property included." - } + "duration": 72, + "state": "passed", + "speed": "medium" }, { "type": "test", - "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4227,38 +4247,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:b0956db9-2eda-46e7-bcba-3149e2372f3a", + "_testId": "urn:uuid:42197039-236c-4c17-bab8-f835ca296dae", "cell": { "columnId": "Procivis One Core", - "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "skipMessage": "No greater than 1 statusSize property included." + "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6425, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No greater than 1 statusSize property included." - } + "duration": 116, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4266,44 +4283,77 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:cbce1667-7526-418d-a6a2-c1b04e3cdbb6", + "_testId": "urn:uuid:18b46401-f11c-40e7-870e-24dc7c287fc1", "cell": { "columnId": "SpruceID", - "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", - "skipMessage": "No greater than 1 statusSize property included." + "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6901, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No greater than 1 statusSize property included." - } + "duration": 57, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusEntry of statusEntries) {\n const {slc} = await getSlc(statusEntry);\n slc.should.have.own.\n property('type').to.be.\n an('array',\n 'Expected type to be an array.'\n );\n slc.type.should.include(\n 'BitstringStatusListCredential',\n 'Expected type to be BitstringStatusListCredential.'\n );\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "apODA0H8AmSfkcKDuWnuk", + "ctx": null, + "_testId": "urn:uuid:203083c2-8405-43eb-92b0-d8a74a15ce99", + "cell": { + "columnId": "Trential", + "rowId": "When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20the%20URL%20is%20dereferenced%2C%20the%20resulting%20verifiable%20credential%20MUST%20have%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 11710, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1070, + "state": "passed", + "speed": "slow" } ] }, { - "id": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", + "id": "If present, statusSize MUST be an integer greater than zero.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "cells": [ { "type": "test", - "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If present, statusSize MUST be an integer greater than zero.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4313,22 +4363,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:042885ff-eb12-4fd1-b36c-8851591c38d8", + "_testId": "urn:uuid:c20aeacd-2aa9-4317-98e1-4aa3fe1c2be7", "cell": { "columnId": "Digital Bazaar", - "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "skipMessage": "No statusMessage property included." + "rowId": "If present, statusSize MUST be an integer greater than zero.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4097, + "_idleStart": 3698, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4336,13 +4386,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusMessage property included." + "message": "No statusSize property included." } }, { "type": "test", - "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If present, statusSize MUST be an integer greater than zero.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4352,22 +4402,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:d6a58c79-6ba4-4a91-9137-8d7313aad3ff", + "_testId": "urn:uuid:0513e015-c620-461d-a2cf-28986ed9d6c2", "cell": { "columnId": "OpSecId", - "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "skipMessage": "No statusMessage property included." + "rowId": "If present, statusSize MUST be an integer greater than zero.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 5323, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4375,13 +4425,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusMessage property included." + "message": "No statusSize property included." } }, { "type": "test", - "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If present, statusSize MUST be an integer greater than zero.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4391,22 +4441,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:6384c97b-897a-458a-9568-2a3ee460f15e", + "_testId": "urn:uuid:fe6b158d-a25c-4e7b-878c-8541513256c0", "cell": { "columnId": "Procivis One Core", - "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "skipMessage": "No statusMessage property included." + "rowId": "If present, statusSize MUST be an integer greater than zero.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 6541, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4414,13 +4464,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusMessage property included." + "message": "No statusSize property included." } }, { "type": "test", - "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If present, statusSize MUST be an integer greater than zero.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4430,22 +4480,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:dcb1e7a1-7e87-41d2-9c38-6b7fc1d0cf4c", + "_testId": "urn:uuid:1a7be4ee-fbe3-40b0-a7ef-eb9b4073738b", "cell": { "columnId": "SpruceID", - "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", - "skipMessage": "No statusMessage property included." + "rowId": "If present, statusSize MUST be an integer greater than zero.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4453,19 +4503,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusMessage property included." + "message": "No statusSize property included." } - } - ] - }, - { - "id": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", - "cells": [ + }, { "type": "test", - "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If present, statusSize MUST be an integer greater than zero.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry) {\n statusEntry.statusSize.should.be.a('number',\n 'Expected statusSize to be an integer.');\n assert(Number.isInteger(\n statusEntry.statusSize),\n 'Expected statusSize to be an integer.');\n statusEntry.statusSize.should.be.gt(0,\n 'Expected statusSize to be greater than zero.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4475,22 +4519,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "QGgJzxNu49ZdQSYWNU3l9", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:093f11f6-12ab-40c0-a167-30bf54c7d419", + "_testId": "urn:uuid:a76c5ace-199b-4b72-8b59-fbf2a214f078", "cell": { - "columnId": "Digital Bazaar", - "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "skipMessage": "No statusReference property included." + "columnId": "Trential", + "rowId": "If present, statusSize MUST be an integer greater than zero.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20statusSize%20MUST%20be%20an%20integer%20greater%20than%20zero.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 4097, + "_idleStart": 12779, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4498,13 +4542,19 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusReference property included." + "message": "No statusSize property included." } - }, + } + ] + }, + { + "id": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", + "cells": [ { "type": "test", - "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4514,22 +4564,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "oZiRzOrXilDOetDQO5qdw", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:990a928f-0f8c-414f-9c9b-f3c971dabcf8", + "_testId": "urn:uuid:4a982f8a-6559-450f-9975-73b907b03dc1", "cell": { - "columnId": "OpSecId", - "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "skipMessage": "No statusReference property included." + "columnId": "Digital Bazaar", + "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 5188, + "_idleStart": 3698, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4537,13 +4587,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusReference property included." + "message": "No statusSize property included." } }, { "type": "test", - "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4553,22 +4603,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "DwAtfFVKmAsKN9iaocrBa", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:f0d5518d-6449-4158-9291-715b712f6d0f", + "_testId": "urn:uuid:ca28d578-bcfc-4b70-a89a-6277fc08bb1d", "cell": { - "columnId": "Procivis One Core", - "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "skipMessage": "No statusReference property included." + "columnId": "OpSecId", + "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6528, + "_idleStart": 5323, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4576,13 +4626,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusReference property included." + "message": "No statusSize property included." } }, { "type": "test", - "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4592,22 +4642,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "8uxQfbmjcCtt7PFSgseJZ", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:53d3b1a1-c0d6-4ee8-b1fb-844540c95ae9", + "_testId": "urn:uuid:cb2a0237-eff6-44c8-a82d-78594b3f7e1f", "cell": { - "columnId": "SpruceID", - "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", - "skipMessage": "No statusReference property included." + "columnId": "Procivis One Core", + "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6738, + "_idleStart": 6541, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -4615,26 +4665,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No statusReference property included." + "message": "No statusSize property included." } - } - ] - } - ] - }, - { - "title": "Data Model: BitstringStatusList Credential", - "ctx": null, - "suites": [ - { - "title": "Digital Bazaar", - "ctx": null, - "suites": [], - "tests": [ + }, { "type": "test", - "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", + "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4642,51 +4679,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:843a1d72-e282-4bd3-9958-1a647424c2fe", + "_testId": "urn:uuid:b0b9dd4a-4ff7-450f-acc5-9048d72d9f0c", "cell": { - "columnId": "Digital Bazaar", - "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + "columnId": "SpruceID", + "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7037, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, - "state": "passed", - "speed": "fast" - }, - { - "type": "test", - "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", - "body": "", - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", - "ctx": null, - "state": "pending" + "duration": 0, + "state": "pending", + "err": { + "message": "No statusSize property included." + } }, { "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusSize property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4694,35 +4718,44 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:c7273cbc-4f14-4c0e-b71a-dbcddd969a2b", + "_testId": "urn:uuid:ea4bbc68-c10a-4243-9a10-74086d1c5703", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + "columnId": "Trential", + "rowId": "If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.", + "skipMessage": "No statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20statusSize%20is%20provided%20and%20is%20greater%20than%201%2C%20then%20the%20property%20credentialStatus.statusMessage%20MUST%20be%20present", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7037, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 1, - "state": "passed", - "speed": "fast" - }, + "state": "pending", + "err": { + "message": "No statusSize property included." + } + } + ] + }, + { + "id": "The number of status messages MUST equal the number of possible values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", + "cells": [ { "type": "test", - "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", + "title": "The number of status messages MUST equal the number of possible values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4730,35 +4763,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:eeb481ec-7f60-4dd5-82a8-394cf742ce5c", + "_testId": "urn:uuid:c2e56dc3-b939-4329-9665-c6991370643a", "cell": { "columnId": "Digital Bazaar", - "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + "rowId": "The number of status messages MUST equal the number of possible values.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7038, + "_idleStart": 3698, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", + "title": "The number of status messages MUST equal the number of possible values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4766,35 +4802,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:37f440be-4659-48b4-b769-d514b2c136e8", + "_testId": "urn:uuid:b57bf2e8-ec92-433e-9f9a-1ef80df4c83f", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + "columnId": "OpSecId", + "rowId": "The number of status messages MUST equal the number of possible values.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7038, + "_idleStart": 5323, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, - "state": "passed", - "speed": "fast" + "duration": 0, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The number of status messages MUST equal the number of possible values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4802,35 +4841,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:5ba58912-a910-4298-90fc-804a5753517b", + "_testId": "urn:uuid:7dc00667-283d-4d12-9e9f-29d8cc882c56", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + "columnId": "Procivis One Core", + "rowId": "The number of status messages MUST equal the number of possible values.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7042, + "_idleStart": 6541, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 3, - "state": "passed", - "speed": "fast" + "duration": 0, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The uncompressed bitstring MUST be at least 16KB in size.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", + "title": "The number of status messages MUST equal the number of possible values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4838,35 +4880,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:cfef3b93-2c96-40af-8d33-3bd3c55da263", + "_testId": "urn:uuid:202e833c-0b9e-43ec-93ba-0f6d783d30a9", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + "columnId": "SpruceID", + "rowId": "The number of status messages MUST equal the number of possible values.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7043, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, - "state": "passed", - "speed": "fast" + "duration": 0, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", + "title": "The number of status messages MUST equal the number of possible values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n 'statusMessage' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize);\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4876,40 +4921,42 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:72a62a14-4567-41eb-ab16-f6f241809d55", + "_testId": "urn:uuid:0bc3f720-e6f2-4a80-a6ea-cc37c0676049", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "skipMessage": "Test needs to be validated." + "columnId": "Trential", + "rowId": "The number of status messages MUST equal the number of possible values.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=the%20number%20of%20status%20messages%20MUST%20equal%20the%20number%20of%20possible%20values", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7044, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "pending", "err": { - "message": "Test needs to be validated." + "message": "No statusMessage property included." } } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + ] + }, + { + "id": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", + "cells": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4917,71 +4964,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ - { - "title": "\"before all\" hook in \"Digital Bazaar\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:c207ba15-2ca0-4691-baf7-58d61fd2386b", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "skipMessage": "No statusMessage property included." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 6739, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 298, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "bSu-X9oQJ41RmC2wv-ysR", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:191f789c-5f05-4124-b8f3-28e166c602ad" - }, - { - "title": "OpSecId", - "ctx": null, - "suites": [], - "tests": [ + "duration": 1, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } + }, { "type": "test", - "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", + "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -4989,51 +5003,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:21496431-e1e3-4efe-b33f-c5eb573be73f", + "_testId": "urn:uuid:e52fae94-3845-4ea4-9b58-ae3bb40c181c", "cell": { "columnId": "OpSecId", - "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7857, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - }, - { - "type": "test", - "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", - "body": "", - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", - "ctx": null, - "state": "pending" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5041,35 +5042,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:f39e2370-ac61-4ae6-881d-0cb3ff218b69", + "_testId": "urn:uuid:743d1836-f47e-408e-8dec-312241170b12", "cell": { - "columnId": "OpSecId", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + "columnId": "Procivis One Core", + "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7858, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", + "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5077,35 +5081,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:948c1d6e-e3c3-49de-ac0c-874a90c1a5b2", + "_testId": "urn:uuid:31a06bfa-47e4-453c-868a-fcee97205c55", "cell": { - "columnId": "OpSecId", - "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + "columnId": "SpruceID", + "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7858, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", + "title": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry &&\n 'statusSize' in statusEntry) {\n statusEntry.statusMessage.should.be.\n an('array').length.should.be.\n equal(statusEntry.statusSize,\n 'Expected statusMessage length to be equal to ' +\n 'statusSize.');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage property ' +\n 'included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5113,35 +5120,44 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:2b447a73-412f-4757-9252-8d7f00eb9cb4", + "_testId": "urn:uuid:64cdb40b-1a92-49f1-89ae-ba90be4c1a56", "cell": { - "columnId": "OpSecId", - "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + "columnId": "Trential", + "rowId": "If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20the%20statusMessage%20property%20MUST%20be%20an%20array%2C%20the%20length%20of%20which%20MUST%20equal%20the%20number%20of%20possible%20status%20messages%20indicated%20by%20statusSize", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7858, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - }, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } + } + ] + }, + { + "id": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "cells": [ { "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5149,35 +5165,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:9a37ec75-c15e-4019-833f-669b24406012", + "_testId": "urn:uuid:9f41976f-415d-4423-bc9f-48c3fecd6642", "cell": { - "columnId": "OpSecId", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + "columnId": "Digital Bazaar", + "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "skipMessage": "No greater than 1 statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7859, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No greater than 1 statusSize property included." + } }, { "type": "test", - "title": "The uncompressed bitstring MUST be at least 16KB in size.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", + "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5185,35 +5204,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:1029b725-bfc0-4b0e-8df4-9d58a758cb9b", + "_testId": "urn:uuid:8377aad5-fc33-474a-9ce7-2958befabaf6", "cell": { "columnId": "OpSecId", - "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "skipMessage": "No greater than 1 statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7859, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, - "state": "passed", - "speed": "fast" + "duration": 0, + "state": "pending", + "err": { + "message": "No greater than 1 statusSize property included." + } }, { "type": "test", - "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", + "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5223,22 +5245,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:2dee2443-92c1-4cf8-80e9-7a8a680da744", + "_testId": "urn:uuid:5cd3bcbf-63f7-4913-b14c-ed01554a43ca", "cell": { - "columnId": "OpSecId", - "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "skipMessage": "Test needs to be validated." + "columnId": "Procivis One Core", + "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "skipMessage": "No greater than 1 statusSize property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7860, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -5246,17 +5268,13 @@ "duration": 0, "state": "pending", "err": { - "message": "Test needs to be validated." + "message": "No greater than 1 statusSize property included." } - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5264,22 +5282,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "TRnqWdyfo20QWXZ_tcwW_", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", + "ctx": null, + "_testId": "urn:uuid:6fe8f860-78a3-47ec-88ff-74982475f950", + "cell": { + "columnId": "SpruceID", + "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "skipMessage": "No greater than 1 statusSize property included." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 6959, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "pending", + "err": { + "message": "No greater than 1 statusSize property included." + } + }, { - "title": "\"before all\" hook in \"OpSecId\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "type": "test", + "title": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201';\n for(statusEntry of statusEntries) {\n if('statusSize' in statusEntry &&\n Number.isInteger(statusEntry.statusSize) &&\n statusEntry.statusSize.gt(1)\n ) {\n statusEntry.should.have.own.property(\n 'statusMessage');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No greater than 1 ' +\n 'statusSize property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5287,48 +5321,44 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "TRnqWdyfo20QWXZ_tcwW_", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "originalTitle": "\"before all\" hook", + "parent": "apODA0H8AmSfkcKDuWnuk", + "ctx": null, + "_testId": "urn:uuid:fdee76d4-5b49-448b-b28c-ffec4445b745", + "cell": { + "columnId": "Trential", + "rowId": "statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.", + "skipMessage": "No greater than 1 statusSize property included." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=statusMessage%20MAY%20be%20present%20if%20statusSize%20is%201%2C%20and%20MUST%20be%20present%20if%20statusSize%20is%20greater%20than%201", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7045, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 812, - "_error": null + "duration": 0, + "state": "pending", + "err": { + "message": "No greater than 1 statusSize property included." + } } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "bSu-X9oQJ41RmC2wv-ysR", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:92751e75-c7f6-4bbb-b12e-8006e3c0756f" + ] }, { - "title": "Procivis One Core", - "ctx": null, - "suites": [], - "tests": [ + "id": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", + "cells": [ { "type": "test", - "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", + "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5336,51 +5366,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:47c05ea0-4c23-40ff-aab3-b1a8b855a37c", + "_testId": "urn:uuid:3b2971cc-2724-4916-b6fc-7c3ce835f8ad", "cell": { - "columnId": "Procivis One Core", - "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + "columnId": "Digital Bazaar", + "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8124, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, - "state": "passed", - "speed": "fast" - }, - { - "type": "test", - "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", - "body": "", - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", - "ctx": null, - "state": "pending" + "duration": 0, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5388,35 +5405,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:6764015e-0008-45ec-af85-51e9ea8c038b", + "_testId": "urn:uuid:beece970-85d8-4d64-8816-693109284757", "cell": { - "columnId": "Procivis One Core", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + "columnId": "OpSecId", + "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8124, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", + "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5424,35 +5444,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "NvL8T_y7U0Xo3HP7a75z_", "ctx": null, - "_testId": "urn:uuid:f07457e5-00e7-42ea-bcda-28436eb6266e", + "_testId": "urn:uuid:ec158147-03bb-4a99-8c68-5ea2612a0640", "cell": { "columnId": "Procivis One Core", - "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8124, + "_idleStart": 6542, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "passed", - "speed": "fast" + "duration": 1, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", + "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5460,35 +5483,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, - "_testId": "urn:uuid:cacc8685-ecb3-4198-8892-4db61d7319e6", + "_testId": "urn:uuid:2205fe2d-642c-441d-b4a4-c6d91c0c3c62", "cell": { - "columnId": "Procivis One Core", - "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + "columnId": "SpruceID", + "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8125, + "_idleStart": 6959, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "No statusMessage property included." + } }, { "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.';\n for(statusEntry of statusEntries) {\n if('statusMessage' in statusEntry) {\n // TODO this needs more testing:\n // a string representing the hexadecimal\n // value of the status prefixed with 0x\n statusEntry.\n statusMessage.should.each.have.property(\n 'status').that.is.a('string');\n statusEntry.\n statusMessage.should.each.have.property(\n 'message').that.is.a('string');\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusMessage ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5496,35 +5522,44 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "apODA0H8AmSfkcKDuWnuk", "ctx": null, - "_testId": "urn:uuid:7416e75e-7ba0-41b6-92a6-6f5c4ece8c4c", + "_testId": "urn:uuid:f93dac9c-dd6e-4828-a8d9-77d7c855b27c", "cell": { - "columnId": "Procivis One Core", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + "columnId": "Trential", + "rowId": "If the statusMessage array is present, each element MUST contain the two properties \"status\" and \"message\".", + "skipMessage": "No statusMessage property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20the%20statusMessage%20array%20is%20present%2C%20each%20element%20MUST%20contain%20the%20two%20properties%20described%20below%2C%20and%20MAY%20contain%20additional%20properties.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8125, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - }, + "state": "pending", + "err": { + "message": "No statusMessage property included." + } + } + ] + }, + { + "id": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "cells": [ { "type": "test", - "title": "The uncompressed bitstring MUST be at least 16KB in size.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", + "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5532,35 +5567,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "rtXSC4Q98maM9HHmDPEXS", "ctx": null, - "_testId": "urn:uuid:b2217955-15e9-4277-a9ee-35e4244faa90", + "_testId": "urn:uuid:3c944658-9818-451a-9270-0cdd04430bc3", "cell": { - "columnId": "Procivis One Core", - "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + "columnId": "Digital Bazaar", + "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "skipMessage": "No statusReference property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8126, + "_idleStart": 3699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, - "state": "passed", - "speed": "fast" + "duration": 0, + "state": "pending", + "err": { + "message": "No statusReference property included." + } }, { "type": "test", - "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", + "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5570,22 +5608,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "fLFXqkMJ8S8plMtz88IUc", "ctx": null, - "_testId": "urn:uuid:1cb8732c-78a1-49b5-adbd-9171b4105ea9", + "_testId": "urn:uuid:9ec683da-7040-4d21-bdf2-23bd671acc5d", "cell": { - "columnId": "Procivis One Core", - "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "skipMessage": "Test needs to be validated." + "columnId": "OpSecId", + "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "skipMessage": "No statusReference property included." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8126, + "_idleStart": 5324, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -5593,17 +5631,13 @@ "duration": 0, "state": "pending", "err": { - "message": "Test needs to be validated." + "message": "No statusReference property included." } - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5611,22 +5645,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "parent": "NvL8T_y7U0Xo3HP7a75z_", + "ctx": null, + "_testId": "urn:uuid:609430b4-45db-4767-bc79-cc0d2d7b7641", + "cell": { + "columnId": "Procivis One Core", + "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "skipMessage": "No statusReference property included." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 6542, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "pending", + "err": { + "message": "No statusReference property included." + } + }, { - "title": "\"before all\" hook in \"Procivis One Core\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "type": "test", + "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -5634,41 +5684,83 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "cBRrr7mZo9eh1dZ-YJHRI", "ctx": null, + "_testId": "urn:uuid:8aa44215-2278-46a8-82b4-6ddf83cff43d", + "cell": { + "columnId": "SpruceID", + "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "skipMessage": "No statusReference property included." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 6959, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No statusReference property included." + } + }, + { + "type": "test", + "title": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status';\n for(statusEntry of statusEntries) {\n if('statusReference' in statusEntry) {\n const statusReferenceType = typeof (\n statusEntry.statusReference);\n statusReferenceType.should.be.oneOf(['string', 'object'],\n 'Expected statusReference to be an string or an array.');\n if(statusReferenceType === 'object') {\n statusEntry.statusReference.should.be.an(\n 'array');\n statusEntry.statusReference.forEach(\n item => item.should.be.a('string'));\n }\n // TODO test for URLS\n } else {\n if(statusEntry === statusEntries[statusEntries.length - 1]) {\n this.test.cell.skipMessage = 'No statusReference ' +\n 'property included.';\n this.skip();\n } else {\n continue;\n }\n }\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "originalTitle": "\"before all\" hook", + "parent": "apODA0H8AmSfkcKDuWnuk", + "ctx": null, + "_testId": "urn:uuid:30b5ac2a-d350-444f-8bb0-83d420a8a15c", + "cell": { + "columnId": "Trential", + "rowId": "If present, the \"statusReference\" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.", + "skipMessage": "No statusReference property included." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20present%2C%20its%20value%20MUST%20be%20a%20URL%20or%20an%20array%20of%20URLs%20%5BURL%5D%20which%20dereference%20to%20material%20related%20to%20the%20status", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7860, + "_idleStart": 12780, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 263, - "_error": null + "duration": 0, + "state": "pending", + "err": { + "message": "No statusReference property included." + } } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "bSu-X9oQJ41RmC2wv-ysR", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:ce25d6ca-031e-4fce-be4e-994b856ab564" - }, + ] + } + ] + }, + { + "title": "Data Model: BitstringStatusList Credential", + "ctx": null, + "suites": [ { - "title": "SpruceID", + "title": "Digital Bazaar", "ctx": null, "suites": [], "tests": [ @@ -5685,11 +5777,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:5987aef9-fa97-4a87-bbba-9edd6549bad4", + "_testId": "urn:uuid:651f1f5d-dcdf-4712-a24c-2cde3b9cde04", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, @@ -5699,12 +5791,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8201, + "_idleStart": 14690, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, @@ -5720,7 +5812,7 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, "state": "pending" }, @@ -5737,11 +5829,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:30c71c9a-7c83-485d-9975-5f8d326e3680", + "_testId": "urn:uuid:deeaf33b-c065-4af2-8179-8b1774c7dd3e", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, @@ -5751,12 +5843,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8202, + "_idleStart": 14691, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, @@ -5773,11 +5865,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:e985f68d-caaa-49f4-b0d3-db1d05972415", + "_testId": "urn:uuid:06dc2ab8-7e41-47ca-ba3a-26211cce527e", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, @@ -5787,7 +5879,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8202, + "_idleStart": 14692, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -5809,11 +5901,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:281aedd4-d3c7-4129-acf0-3cc1d3e2bc0f", + "_testId": "urn:uuid:f501c054-bba1-4c3b-ad65-c84f17b245fc", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, @@ -5823,7 +5915,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8202, + "_idleStart": 14692, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -5845,11 +5937,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:9e31ea43-fda3-445a-9761-b48ee538dfff", + "_testId": "urn:uuid:85e94d9f-3b0f-450b-91b2-56154e61d0e7", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, @@ -5859,12 +5951,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8203, + "_idleStart": 14696, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 4, "state": "passed", "speed": "fast" }, @@ -5881,11 +5973,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:18b0e939-b8ed-4308-8d72-b035f8813db8", + "_testId": "urn:uuid:adab6d11-6dba-4ccf-94a3-f8532bdc9a44", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, @@ -5895,12 +5987,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8203, + "_idleStart": 14698, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 2, "state": "passed", "speed": "fast" }, @@ -5917,11 +6009,11 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:fa769897-9a6f-4ec2-80a4-b9fe194e2fd5", + "_testId": "urn:uuid:fe63ff83-8c00-4e95-8b2b-4fe54dc7b355", "cell": { - "columnId": "SpruceID", + "columnId": "Digital Bazaar", "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", "skipMessage": "Test needs to be validated." }, @@ -5932,12 +6024,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8204, + "_idleStart": 14699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "pending", "err": { "message": "Test needs to be validated." @@ -5949,7 +6041,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -5960,7 +6052,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -5972,7 +6064,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"SpruceID\"", + "title": "\"before all\" hook in \"Digital Bazaar\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, @@ -5983,7 +6075,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before all\" hook", @@ -5993,12 +6085,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8126, + "_idleStart": 12781, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 75, + "duration": 1908, "_error": null } ], @@ -6010,42 +6102,15 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "bSu-X9oQJ41RmC2wv-ysR", + "parent": "6YVRlHZPk-hWhn8sK26EA", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "_testId": "urn:uuid:4217181f-2879-41d2-b025-d8146576146a" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [], - "_beforeAll": [], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "matrix": true, - "report": true, - "rowLabel": "Test Name", - "columnLabel": "Implementer", - "_testId": "urn:uuid:ca396efd-81f4-4b1f-b57b-8c5aecfa7350", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ + "_testId": "urn:uuid:24298b23-5c6f-4b8a-b2cc-43ce3eca302a" + }, { - "id": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", - "cells": [ + "title": "OpSecId", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", @@ -6059,11 +6124,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:843a1d72-e282-4bd3-9958-1a647424c2fe", + "_testId": "urn:uuid:3f183b03-b304-43a6-a3f6-20ea137508f4", "cell": { - "columnId": "Digital Bazaar", + "columnId": "OpSecId", "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, @@ -6073,19 +6138,35 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7037, + "_idleStart": 15999, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", + "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", + "body": "", + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", + "ctx": null, + "state": "pending" + }, + { + "type": "test", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6095,33 +6176,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:21496431-e1e3-4efe-b33f-c5eb573be73f", + "_testId": "urn:uuid:b0271922-45e5-4e93-9630-55f9358a94fb", "cell": { "columnId": "OpSecId", - "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7857, + "_idleStart": 16000, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6131,33 +6212,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:47c05ea0-4c23-40ff-aab3-b1a8b855a37c", + "_testId": "urn:uuid:cd84ee04-b582-4491-aa1b-f2438bde2263", "cell": { - "columnId": "Procivis One Core", - "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + "columnId": "OpSecId", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8124, + "_idleStart": 16000, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6167,21 +6248,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:5987aef9-fa97-4a87-bbba-9edd6549bad4", + "_testId": "urn:uuid:f58e0f2e-220e-465b-8f63-9d6ac68c0907", "cell": { - "columnId": "SpruceID", - "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + "columnId": "OpSecId", + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8201, + "_idleStart": 16000, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6189,17 +6270,11 @@ "duration": 0, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", - "cells": [ + }, { "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6209,21 +6284,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:c7273cbc-4f14-4c0e-b71a-dbcddd969a2b", + "_testId": "urn:uuid:b470f185-601d-4b8e-aa34-f97afb682c96", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + "columnId": "OpSecId", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7037, + "_idleStart": 16001, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6234,8 +6309,8 @@ }, { "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6245,21 +6320,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:f39e2370-ac61-4ae6-881d-0cb3ff218b69", + "_testId": "urn:uuid:64ba0d69-d4c8-4bd4-ab25-f152d673cc9f", "cell": { "columnId": "OpSecId", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7858, + "_idleStart": 16002, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6270,8 +6345,8 @@ }, { "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6279,35 +6354,42 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:6764015e-0008-45ec-af85-51e9ea8c038b", + "_testId": "urn:uuid:b4d89260-86f5-4d3e-868a-8ee651a4ed37", "cell": { - "columnId": "Procivis One Core", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + "columnId": "OpSecId", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8124, + "_idleStart": 16002, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" - }, + "state": "pending", + "err": { + "message": "Test needs to be validated." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -6316,40 +6398,70 @@ "timedOut": false, "_currentRetry": 0, "pending": false, + "type": "hook", + "parent": "E4u5MXXaSeIdr6RBLmeyV", + "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"OpSecId\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:30c71c9a-7c83-485d-9975-5f8d326e3680", - "cell": { - "columnId": "SpruceID", - "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8202, + "_idleStart": 14699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "passed", - "speed": "fast" + "duration": 1300, + "_error": null } - ] + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "6YVRlHZPk-hWhn8sK26EA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "_testId": "urn:uuid:5ded18fa-6949-4d6e-80fa-c49254d1b5e8" }, { - "id": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", - "cells": [ + "title": "Procivis One Core", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6359,69 +6471,49 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:eeb481ec-7f60-4dd5-82a8-394cf742ce5c", + "_testId": "urn:uuid:dc98cd9c-02c0-48ea-90d4-842d99cff093", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + "columnId": "Procivis One Core", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7038, + "_idleStart": 16818, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", - "async": 0, + "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", + "body": "", "sync": true, "_timeout": 15000, "_slow": 75, "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:948c1d6e-e3c3-49de-ac0c-874a90c1a5b2", - "cell": { - "columnId": "OpSecId", - "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." - }, - "_events": {}, - "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 7858, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending" }, { "type": "test", - "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6431,21 +6523,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:f07457e5-00e7-42ea-bcda-28436eb6266e", + "_testId": "urn:uuid:664c3887-817d-4a59-9b6d-72b31b10183c", "cell": { "columnId": "Procivis One Core", - "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8124, + "_idleStart": 16818, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6467,11 +6559,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:e985f68d-caaa-49f4-b0d3-db1d05972415", + "_testId": "urn:uuid:dbdd105a-137b-4df8-96e1-f721aa060edf", "cell": { - "columnId": "SpruceID", + "columnId": "Procivis One Core", "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, @@ -6481,7 +6573,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8202, + "_idleStart": 16818, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6489,13 +6581,7 @@ "duration": 0, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", - "cells": [ + }, { "type": "test", "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", @@ -6509,11 +6595,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:37f440be-4659-48b4-b769-d514b2c136e8", + "_testId": "urn:uuid:593dc080-3b13-4107-8690-94a8f2e58192", "cell": { - "columnId": "Digital Bazaar", + "columnId": "Procivis One Core", "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, @@ -6523,7 +6609,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7038, + "_idleStart": 16819, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6534,8 +6620,8 @@ }, { "type": "test", - "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6545,21 +6631,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:2b447a73-412f-4757-9252-8d7f00eb9cb4", + "_testId": "urn:uuid:09ed63b8-fb6e-4ecc-b14d-92119992be0b", "cell": { - "columnId": "OpSecId", - "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + "columnId": "Procivis One Core", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7858, + "_idleStart": 16819, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6570,8 +6656,8 @@ }, { "type": "test", - "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6581,21 +6667,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:cacc8685-ecb3-4198-8892-4db61d7319e6", + "_testId": "urn:uuid:b2590898-4145-4b85-825b-bf434d9e6dfd", "cell": { "columnId": "Procivis One Core", - "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8125, + "_idleStart": 16820, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6606,8 +6692,8 @@ }, { "type": "test", - "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6615,41 +6701,42 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:281aedd4-d3c7-4129-acf0-3cc1d3e2bc0f", + "_testId": "urn:uuid:f7ed593c-e423-4656-8b66-2c8921a0c9dd", "cell": { - "columnId": "SpruceID", - "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + "columnId": "Procivis One Core", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8202, + "_idleStart": 16820, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "passed", - "speed": "fast" + "state": "pending", + "err": { + "message": "Test needs to be validated." + } } - ] - }, - { - "id": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", - "cells": [ + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -6658,34 +6745,21 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "type": "hook", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:5ba58912-a910-4298-90fc-804a5753517b", - "cell": { - "columnId": "Digital Bazaar", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 7042, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 3, - "state": "passed", - "speed": "fast" - }, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ { - "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "\"before all\" hook in \"Procivis One Core\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6694,34 +6768,47 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "type": "hook", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:9a37ec75-c15e-4019-833f-669b24406012", - "cell": { - "columnId": "OpSecId", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7859, + "_idleStart": 16002, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "passed", - "speed": "fast" - }, - { + "duration": 814, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "6YVRlHZPk-hWhn8sK26EA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "_testId": "urn:uuid:ce001206-ec79-4b48-9d66-47be361509e0" + }, + { + "title": "SpruceID", + "ctx": null, + "suites": [], + "tests": [ + { "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6731,21 +6818,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:7416e75e-7ba0-41b6-92a6-6f5c4ece8c4c", + "_testId": "urn:uuid:edf522e9-fff5-43ab-9021-a940a3eb8eab", "cell": { - "columnId": "Procivis One Core", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + "columnId": "SpruceID", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8125, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6756,8 +6843,24 @@ }, { "type": "test", - "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", + "body": "", + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", + "ctx": null, + "state": "pending" + }, + { + "type": "test", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6767,39 +6870,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:9e31ea43-fda3-445a-9761-b48ee538dfff", + "_testId": "urn:uuid:04d7fb8f-ad9c-4c5a-80b8-0729e4daaab8", "cell": { "columnId": "SpruceID", - "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8203, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "The uncompressed bitstring MUST be at least 16KB in size.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", - "cells": [ + }, { "type": "test", - "title": "The uncompressed bitstring MUST be at least 16KB in size.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6809,33 +6906,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:cfef3b93-2c96-40af-8d33-3bd3c55da263", + "_testId": "urn:uuid:ef6d6ab8-dc5f-43a0-a9ac-125357754f7a", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + "columnId": "SpruceID", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7043, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "The uncompressed bitstring MUST be at least 16KB in size.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6845,33 +6942,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:1029b725-bfc0-4b0e-8df4-9d58a758cb9b", + "_testId": "urn:uuid:dfdec3d8-080b-43bf-91fd-1df1a9592344", "cell": { - "columnId": "OpSecId", - "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + "columnId": "SpruceID", + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7859, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "The uncompressed bitstring MUST be at least 16KB in size.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -6881,21 +6978,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:b2217955-15e9-4277-a9ee-35e4244faa90", + "_testId": "urn:uuid:5dcb0680-3718-4b04-83c1-5d156afd7319", "cell": { - "columnId": "Procivis One Core", - "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + "columnId": "SpruceID", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8126, + "_idleStart": 17128, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6917,9 +7014,9 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:18b0e939-b8ed-4308-8d72-b035f8813db8", + "_testId": "urn:uuid:101d59f1-0a9f-4600-8ebf-ddd3c87db021", "cell": { "columnId": "SpruceID", "rowId": "The uncompressed bitstring MUST be at least 16KB in size." @@ -6931,7 +7028,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8203, + "_idleStart": 17128, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -6939,13 +7036,7 @@ "duration": 0, "state": "passed", "speed": "fast" - } - ] - }, - { - "id": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", - "cells": [ + }, { "type": "test", "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", @@ -6959,11 +7050,11 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "Amxjj7rnvFVX9uZ1h4vi3", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:72a62a14-4567-41eb-ab16-f6f241809d55", + "_testId": "urn:uuid:c7725aa2-e220-490f-b808-943d5bb77927", "cell": { - "columnId": "Digital Bazaar", + "columnId": "SpruceID", "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", "skipMessage": "Test needs to be validated." }, @@ -6974,21 +7065,25 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7044, + "_idleStart": 17128, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "pending", "err": { "message": "Test needs to be validated." } - }, + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -6996,38 +7091,71 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, + "type": "hook", + "parent": "Y3rVotSSpBtV_fXCGyfyg", + "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "TRnqWdyfo20QWXZ_tcwW_", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"SpruceID\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:2dee2443-92c1-4cf8-80e9-7a8a680da744", - "cell": { - "columnId": "OpSecId", - "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "skipMessage": "Test needs to be validated." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 7860, + "_idleStart": 16820, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "Test needs to be validated." - } - }, + "duration": 306, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "6YVRlHZPk-hWhn8sK26EA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "_testId": "urn:uuid:ebb7a650-5459-4ee9-9c64-329315a6ac30" + }, + { + "title": "Trential", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7035,39 +7163,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "nbLmb5HoEj_GcOp8UO-Mk", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:1cb8732c-78a1-49b5-adbd-9171b4105ea9", + "_testId": "urn:uuid:98da11e6-975f-41b6-a7d4-3d4c4a212fc0", "cell": { - "columnId": "Procivis One Core", - "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "skipMessage": "Test needs to be validated." + "columnId": "Trential", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8126, + "_idleStart": 20888, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "Test needs to be validated." - } + "duration": 1, + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", - "async": 0, + "title": "The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding BitstringStatusListEntry.", + "body": "", "sync": true, "_timeout": 15000, "_slow": 75, @@ -7076,49 +7200,50 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", - "parent": "yvOlAO8YW1YwCYUXr-km3", + "parent": "tO3sf1zoPC0c-cltfXmOv", + "ctx": null, + "state": "pending" + }, + { + "type": "test", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:fa769897-9a6f-4ec2-80a4-b9fe194e2fd5", + "_testId": "urn:uuid:37231a60-06ef-454b-bece-351825bee558", "cell": { - "columnId": "SpruceID", - "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", - "skipMessage": "Test needs to be validated." + "columnId": "Trential", + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8204, + "_idleStart": 20888, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "Test needs to be validated." - } - } - ] - } - ] - }, - { - "title": "Algorithm", - "ctx": null, - "suites": [ - { - "title": "Digital Bazaar", - "ctx": null, - "suites": [], - "tests": [ + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7127,61 +7252,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "kfVOabTUmONXZGfgitYPP", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:1552f35f-1feb-42f5-ac5f-cfc378c248ff", + "_testId": "urn:uuid:f7b0beae-dbab-42f1-b544-3d3019baf687", "cell": { - "columnId": "Digital Bazaar", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Trential", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8204, + "_idleStart": 20888, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1181, + "duration": 0, "state": "passed", - "speed": "slow" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ - { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "kfVOabTUmONXZGfgitYPP", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "speed": "fast" + }, { - "title": "\"before all\" hook in \"Digital Bazaar\"", - "body": "async function() {\n }", + "type": "test", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7190,47 +7288,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "kfVOabTUmONXZGfgitYPP", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:154e35f4-38d9-4bf3-88d4-2431ba2ad6ba", + "cell": { + "columnId": "Trential", + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8204, + "_idleStart": 20889, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "gsyUB6ZJWwTEUAIIuvo6i", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:7eb51986-95b8-4675-88c5-887a797c6ffa" - }, - { - "title": "OpSecId", - "ctx": null, - "suites": [], - "tests": [ + "duration": 1, + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7239,65 +7324,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "zGz3SizMJ5dVsCCoIReiy", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:46c20d28-32d9-4b9d-8d08-f16264fc96a0", + "_testId": "urn:uuid:fdaf0278-676f-46ed-8623-bf1687828419", "cell": { - "columnId": "OpSecId", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Trential", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 9386, + "_idleStart": 20889, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 834, - "state": "failed", - "err": { - "generatedMessage": false, - "code": "ERR_ASSERTION", - "operator": "rejects" - } - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ - { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "zGz3SizMJ5dVsCCoIReiy", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "passed", + "speed": "fast" + }, { - "title": "\"before all\" hook in \"OpSecId\"", - "body": "async function() {\n }", + "type": "test", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7306,47 +7360,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "zGz3SizMJ5dVsCCoIReiy", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:50a3f5e5-0b90-4d6d-a86a-fd4da9f7a963", + "cell": { + "columnId": "Trential", + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 9386, + "_idleStart": 20890, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "gsyUB6ZJWwTEUAIIuvo6i", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:e3bed505-9a5c-4ad9-b837-7a54752b4d6b" - }, - { - "title": "Procivis One Core", - "ctx": null, - "suites": [], - "tests": [ + "duration": 1, + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7354,33 +7395,32 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "JW1UiSY2SJFkFKKaWHNYT", + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:fda8a83c-d02c-4abd-a2f2-d1ccbb5be1ec", + "_testId": "urn:uuid:33b8e3c9-f319-4daf-8953-1f191ccf071b", "cell": { - "columnId": "Procivis One Core", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Trential", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10223, + "_idleStart": 20891, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 140, - "state": "failed", + "duration": 0, + "state": "pending", "err": { - "generatedMessage": false, - "code": "ERR_ASSERTION", - "operator": "rejects" + "message": "Test needs to be validated." } } ], @@ -7389,7 +7429,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -7400,9 +7440,9 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "JW1UiSY2SJFkFKKaWHNYT", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", "_events": {}, "_eventsCount": 1, @@ -7412,8 +7452,8 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"Procivis One Core\"", - "body": "async function() {\n }", + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7423,9 +7463,9 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "JW1UiSY2SJFkFKKaWHNYT", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, @@ -7433,12 +7473,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10223, + "_idleStart": 17129, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 3759, "_error": null } ], @@ -7450,19 +7490,47 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "gsyUB6ZJWwTEUAIIuvo6i", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:3eb6bb22-b519-4b96-be74-5625852b9d67" - }, + "parent": "6YVRlHZPk-hWhn8sK26EA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "_testId": "urn:uuid:6752580b-5baf-4bc1-b12a-bfaaa3d8e7d3" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [], + "_beforeAll": [], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "matrix": true, + "report": true, + "rowLabel": "Test Name", + "columnLabel": "Implementer", + "_testId": "urn:uuid:2db6d559-b2ad-48f7-a294-0e91200d965e", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ { - "title": "SpruceID", - "ctx": null, - "suites": [], - "tests": [ + "id": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", + "cells": [ { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7471,38 +7539,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "DwUjD9goKWre-vw0M2M8r", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:89e80fd1-6a2b-4cad-b6f1-2c7eaa59e9a6", + "_testId": "urn:uuid:651f1f5d-dcdf-4712-a24c-2cde3b9cde04", "cell": { - "columnId": "SpruceID", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Digital Bazaar", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10364, + "_idleStart": 14690, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 19, + "duration": 1, "state": "passed", "speed": "fast" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7511,97 +7575,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "DwUjD9goKWre-vw0M2M8r", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ - { - "title": "\"before all\" hook in \"SpruceID\"", - "body": "async function() {\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "DwUjD9goKWre-vw0M2M8r", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:3f183b03-b304-43a6-a3f6-20ea137508f4", + "cell": { + "columnId": "OpSecId", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10363, + "_idleStart": 15999, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "gsyUB6ZJWwTEUAIIuvo6i", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:9db854d1-7d87-40f9-b57e-b0689b8cf554" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [], - "_beforeAll": [], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "matrix": true, - "report": true, - "rowLabel": "Test Name", - "columnLabel": "Implementer", - "_testId": "urn:uuid:52527fa6-181b-4b85-98a0-06e6caea1563", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ - { - "id": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", - "cells": [ + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7610,34 +7611,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "kfVOabTUmONXZGfgitYPP", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:1552f35f-1feb-42f5-ac5f-cfc378c248ff", + "_testId": "urn:uuid:dc98cd9c-02c0-48ea-90d4-842d99cff093", "cell": { - "columnId": "Digital Bazaar", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Procivis One Core", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 8204, + "_idleStart": 16818, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1181, + "duration": 1, "state": "passed", - "speed": "slow" + "speed": "fast" }, { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7646,38 +7647,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "zGz3SizMJ5dVsCCoIReiy", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:46c20d28-32d9-4b9d-8d08-f16264fc96a0", + "_testId": "urn:uuid:edf522e9-fff5-43ab-9021-a940a3eb8eab", "cell": { - "columnId": "OpSecId", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "SpruceID", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 9386, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 834, - "state": "failed", - "err": { - "generatedMessage": false, - "code": "ERR_ASSERTION", - "operator": "rejects" - } + "duration": 0, + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential:\n statusListCredential},\n 'Expected status credential to conform to VCDM 2.0.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7686,38 +7683,40 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "JW1UiSY2SJFkFKKaWHNYT", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:fda8a83c-d02c-4abd-a2f2-d1ccbb5be1ec", + "_testId": "urn:uuid:98da11e6-975f-41b6-a7d4-3d4c4a212fc0", "cell": { - "columnId": "Procivis One Core", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Trential", + "rowId": "When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0]." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=When%20a%20status%20list%20verifiable%20credential%20is%20published%2C%20it%20MUST%20be%20a%20conforming%20document%2C%20as%20defined%20in%20%5BVC%2DDATA%2DMODEL%2D2.0%5D", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10223, + "_idleStart": 20888, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 140, - "state": "failed", - "err": { - "generatedMessage": false, - "code": "ERR_ASSERTION", - "operator": "rejects" - } - }, + "duration": 1, + "state": "passed", + "speed": "fast" + } + ] + }, + { + "id": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "cells": [ { "type": "test", - "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7726,47 +7725,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "DwUjD9goKWre-vw0M2M8r", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:89e80fd1-6a2b-4cad-b6f1-2c7eaa59e9a6", + "_testId": "urn:uuid:deeaf33b-c065-4af2-8179-8b1774c7dd3e", "cell": { - "columnId": "SpruceID", - "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + "columnId": "Digital Bazaar", + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10364, + "_idleStart": 14691, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 19, + "duration": 1, "state": "passed", "speed": "fast" - } - ] - } - ] - }, - { - "title": "Algorithm: Generate Algorithm", - "ctx": null, - "suites": [ - { - "title": "Digital Bazaar", - "ctx": null, - "suites": [], - "tests": [ + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7775,22 +7761,22 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "hGAisJv2SmCtdgQDhmQO6", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:47f39caa-3a74-4f00-85ef-034d1283b4d1", + "_testId": "urn:uuid:b0271922-45e5-4e93-9630-55f9358a94fb", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "columnId": "OpSecId", + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10781, + "_idleStart": 16000, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -7798,15 +7784,11 @@ "duration": 1, "state": "passed", "speed": "fast" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7815,21 +7797,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "hGAisJv2SmCtdgQDhmQO6", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_testId": "urn:uuid:664c3887-817d-4a59-9b6d-72b31b10183c", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 16818, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "passed", + "speed": "fast" + }, { - "title": "\"before all\" hook in \"Digital Bazaar\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "type": "test", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7838,47 +7833,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "hGAisJv2SmCtdgQDhmQO6", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:04d7fb8f-ad9c-4c5a-80b8-0729e4daaab8", + "cell": { + "columnId": "SpruceID", + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10384, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 396, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "RjitqMxkjTgxaBnLqs13H", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:c1083391-fd0c-45b3-ab40-72d24cb5fd6b" - }, - { - "title": "OpSecId", - "ctx": null, - "suites": [], - "tests": [ + "duration": 0, + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential\n .should.have.own.property(\n 'type').to.be.an('array',\n 'Expected type property to be a string or an array.'\n );\n statusListCredential\n .type.should.include(\n 'BitstringStatusListCredential',\n 'Expected credential status type to include ' +\n 'BitstringStatusListCredential.');\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7887,22 +7869,22 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "vj5Y3VwQNJUNglbuGCqKJ", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:dda0a5d7-ec5d-4c3b-971c-963a3283c499", + "_testId": "urn:uuid:37231a60-06ef-454b-bece-351825bee558", "cell": { - "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "columnId": "Trential", + "rowId": "The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20verifiable%20credential%20that%20contains%20the%20status%20list%20MUST%20express%20a%20type%20property%20that%20includes%20the%20BitstringStatusListCredential%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11622, + "_idleStart": 20888, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -7911,37 +7893,16 @@ "state": "passed", "speed": "fast" } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ - { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "vj5Y3VwQNJUNglbuGCqKJ", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + ] + }, + { + "id": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", + "cells": [ { - "title": "\"before all\" hook in \"OpSecId\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "type": "test", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7950,47 +7911,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "vj5Y3VwQNJUNglbuGCqKJ", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:06dc2ab8-7e41-47ca-ba3a-26211cce527e", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10781, + "_idleStart": 14692, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 841, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "RjitqMxkjTgxaBnLqs13H", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:674e1a15-62ab-489e-8987-2640e895ef70" - }, - { - "title": "Procivis One Core", - "ctx": null, - "suites": [], - "tests": [ + "duration": 0, + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -7999,61 +7947,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "duBTxFuUHTaAhyJta7S88", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:be38cb6a-7af0-444d-b3db-2281e96f559a", + "_testId": "urn:uuid:cd84ee04-b582-4491-aa1b-f2438bde2263", "cell": { - "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "columnId": "OpSecId", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11878, + "_idleStart": 16000, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ - { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "duBTxFuUHTaAhyJta7S88", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + }, { - "title": "\"before all\" hook in \"Procivis One Core\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "type": "test", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8062,47 +7983,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "duBTxFuUHTaAhyJta7S88", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:dbdd105a-137b-4df8-96e1-f721aa060edf", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11623, + "_idleStart": 16818, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 254, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "RjitqMxkjTgxaBnLqs13H", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:369b7634-75c3-4db5-9c48-20610b47555a" - }, - { - "title": "SpruceID", - "ctx": null, - "suites": [], - "tests": [ + "duration": 0, + "state": "passed", + "speed": "fast" + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8111,22 +8019,22 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "z30CCbxotav6W7UOIJ8MA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:2eac7b01-ddc7-4397-a8d8-04b20af96b4d", + "_testId": "urn:uuid:ef6d6ab8-dc5f-43a0-a9ac-125357754f7a", "cell": { "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11932, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -8134,38 +8042,11 @@ "duration": 0, "state": "passed", "speed": "fast" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ - { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "z30CCbxotav6W7UOIJ8MA", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + }, { - "title": "\"before all\" hook in \"SpruceID\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "type": "test", + "title": "The type of the credential subject, which is the status list, MUST be BitstringStatusList.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.';\n for(statusListCredential of statusListCredentials) {\n statusListCredential.\n credentialSubject.should.have.own.property(\n 'type').to.be.a('string',\n 'Expected type property to be a string.'\n );\n statusListCredential.\n credentialSubject.type.should.equal(\n 'BitstringStatusList',\n 'Expected credential status type to be ' +\n 'BitstringStatusList.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8174,74 +8055,40 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "z30CCbxotav6W7UOIJ8MA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:f7b0beae-dbab-42f1-b544-3d3019baf687", + "cell": { + "columnId": "Trential", + "rowId": "The type of the credential subject, which is the status list, MUST be BitstringStatusList." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20of%20the%20credential%20subject%2C%20which%20is%20the%20status%20list%2C%20MUST%20be%20BitstringStatusList.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11878, + "_idleStart": 20888, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 53, - "_error": null + "duration": 0, + "state": "passed", + "speed": "fast" } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "RjitqMxkjTgxaBnLqs13H", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:0dbbe8b2-637d-4538-9538-24155de92139" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [], - "_beforeAll": [], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "matrix": true, - "report": true, - "rowLabel": "Test Name", - "columnLabel": "Implementer", - "_testId": "urn:uuid:2ce14a03-f22f-4047-890c-3c18137cd980", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ + ] + }, { - "id": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "id": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "cells": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8250,34 +8097,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "hGAisJv2SmCtdgQDhmQO6", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:47f39caa-3a74-4f00-85ef-034d1283b4d1", + "_testId": "urn:uuid:f501c054-bba1-4c3b-ad65-c84f17b245fc", "cell": { "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 10781, + "_idleStart": 14692, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8286,22 +8133,22 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "vj5Y3VwQNJUNglbuGCqKJ", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:dda0a5d7-ec5d-4c3b-971c-963a3283c499", + "_testId": "urn:uuid:f58e0f2e-220e-465b-8f63-9d6ac68c0907", "cell": { "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11622, + "_idleStart": 16000, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -8312,8 +8159,8 @@ }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8322,22 +8169,22 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "duBTxFuUHTaAhyJta7S88", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:be38cb6a-7af0-444d-b3db-2281e96f559a", + "_testId": "urn:uuid:593dc080-3b13-4107-8690-94a8f2e58192", "cell": { "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11878, + "_idleStart": 16819, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -8348,8 +8195,8 @@ }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8358,22 +8205,22 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "z30CCbxotav6W7UOIJ8MA", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:2eac7b01-ddc7-4397-a8d8-04b20af96b4d", + "_testId": "urn:uuid:dfdec3d8-080b-43bf-91fd-1df1a9592344", "cell": { "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11932, + "_idleStart": 17127, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -8381,24 +8228,11 @@ "duration": 0, "state": "passed", "speed": "fast" - } - ] - } - ] - }, - { - "title": "Algorithm: Validate Algorithm", - "ctx": null, - "suites": [ - { - "title": "Digital Bazaar", - "ctx": null, - "suites": [], - "tests": [ + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.';\n for(statusListCredential of statusListCredentials) {\n const statusPurposeType = typeof (\n statusListCredential.\n credentialSubject.statusPurpose);\n statusPurposeType.should.be.oneOf(['string', 'object']);\n if(statusPurposeType === 'object') {\n const credentialSubject =\n statusListCredential.credentialSubject;\n credentialSubject.statusPurpose.should.be.an(\n 'array');\n credentialSubject.statusPurpose.forEach(\n item => item.should.be.a('string'));\n }\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8407,34 +8241,40 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:6b3102ef-cae2-4ae6-879b-5dbce2e9f5bf", + "_testId": "urn:uuid:154e35f4-38d9-4bf3-88d4-2431ba2ad6ba", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + "columnId": "Trential", + "rowId": "The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20value%20of%20the%20purpose%20property%20of%20the%20status%20entry%2C%20statusPurpose%2C%20MUST%20be%20one%20or%20more%20strings.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12587, + "_idleStart": 20889, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 267, + "duration": 1, "state": "passed", - "speed": "slow" - }, + "speed": "fast" + } + ] + }, + { + "id": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "cells": [ { "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8442,38 +8282,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:5ec2b2e5-63b5-4f58-a2f2-9fe6f5678e56", + "_testId": "urn:uuid:85e94d9f-3b0f-450b-91b2-56154e61d0e7", "cell": { "columnId": "Digital Bazaar", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12854, + "_idleStart": 14696, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } + "duration": 4, + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8481,38 +8318,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:8968b081-180d-415c-88b5-d720b5f4eb45", + "_testId": "urn:uuid:b470f185-601d-4b8e-aa34-f97afb682c96", "cell": { - "columnId": "Digital Bazaar", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "OpSecId", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12854, + "_idleStart": 16001, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } + "duration": 1, + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8520,42 +8354,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:f06b7d58-42cb-4498-88d6-718aa352ec99", + "_testId": "urn:uuid:09ed63b8-fb6e-4ecc-b14d-92119992be0b", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." + "columnId": "Procivis One Core", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12854, + "_idleStart": 16819, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + "state": "passed", + "speed": "fast" + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8564,21 +8391,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "OC_sbjp-knn6vk26rkq5R", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_testId": "urn:uuid:5dcb0680-3718-4b04-83c1-5d156afd7319", + "cell": { + "columnId": "SpruceID", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + }, "_events": {}, "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 17128, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "passed", + "speed": "fast" + }, { - "title": "\"before all\" hook in \"Digital Bazaar\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "type": "test", + "title": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8587,47 +8427,40 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "OC_sbjp-knn6vk26rkq5R", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:fdaf0278-676f-46ed-8623-bf1687828419", + "cell": { + "columnId": "Trential", + "rowId": "The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20encodedList%20property%20of%20the%20credential%20subject%20MUST%20be%20a%20Multibase%2Dencoded%20base64url%20(with%20no%20padding)%20%5BRFC4648%5D%20representation%20of%20the%20GZIP%2Dcompressed%20%5BRFC1952%5D%20bitstring%20values%20for%20the%20associated%20range%20of%20verifiable%20credential%20status%20values.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 11932, + "_idleStart": 20889, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 655, - "_error": null + "duration": 0, + "state": "passed", + "speed": "fast" } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "RWteFSos0C7xmja-4evwb", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:2356ca54-70f6-4824-b541-23815f709459" + ] }, { - "title": "OpSecId", - "ctx": null, - "suites": [], - "tests": [ + "id": "The uncompressed bitstring MUST be at least 16KB in size.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "cells": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8636,34 +8469,34 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "_testId": "urn:uuid:f3f0dbc5-8b5f-4d97-bded-e9e16adea904", + "_testId": "urn:uuid:adab6d11-6dba-4ccf-94a3-f8532bdc9a44", "cell": { - "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + "columnId": "Digital Bazaar", + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13663, + "_idleStart": 14698, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 70, + "duration": 2, "state": "passed", - "speed": "medium" + "speed": "fast" }, { "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8671,38 +8504,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:b088a205-a60b-445c-9d2d-c5fa0cf3f42a", + "_testId": "urn:uuid:64ba0d69-d4c8-4bd4-ab25-f152d673cc9f", "cell": { "columnId": "OpSecId", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13733, + "_idleStart": 16002, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8710,38 +8540,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:31588984-4339-47fe-9def-303172a6b13b", + "_testId": "urn:uuid:b2590898-4145-4b85-825b-bf434d9e6dfd", "cell": { - "columnId": "OpSecId", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "Procivis One Core", + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13733, + "_idleStart": 16820, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } + "state": "passed", + "speed": "fast" }, { "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8749,42 +8576,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:0f55900c-dcf5-4186-9ae5-694c5aa6b3ed", + "_testId": "urn:uuid:101d59f1-0a9f-4600-8ebf-ddd3c87db021", "cell": { - "columnId": "OpSecId", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." + "columnId": "SpruceID", + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13733, + "_idleStart": 17128, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + "state": "passed", + "speed": "fast" + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "The uncompressed bitstring MUST be at least 16KB in size.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.';\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n // decoded size should be 16kb\n const decodedSize = (decoded.length / 100);\n decodedSize.should.be.gte(16,\n 'Expected bitstring to be at least 16KB in size.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8793,21 +8613,40 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "type": "hook", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_testId": "urn:uuid:50a3f5e5-0b90-4d6d-a86a-fd4da9f7a963", + "cell": { + "columnId": "Trential", + "rowId": "The uncompressed bitstring MUST be at least 16KB in size." + }, "_events": {}, "_eventsCount": 1, - "duration": 0, - "_error": null + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20uncompressed%20bitstring%20MUST%20be%20at%20least%2016KB%20in%20size.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 20890, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "passed", + "speed": "fast" } - ], - "_beforeAll": [ + ] + }, + { + "id": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", + "cells": [ { - "title": "\"before all\" hook in \"OpSecId\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "type": "test", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8815,48 +8654,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "UYK8fshPI4EWET9C4bmVh", "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "_testId": "urn:uuid:fe63ff83-8c00-4e95-8b2b-4fe54dc7b355", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12854, + "_idleStart": 14699, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 809, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "RWteFSos0C7xmja-4evwb", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:cb7619b9-5b99-47b5-9047-7c9846b7e0b1" - }, - { - "title": "Procivis One Core", - "ctx": null, - "suites": [], - "tests": [ + "duration": 1, + "state": "pending", + "err": { + "message": "Test needs to be validated." + } + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8864,35 +8693,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "E4u5MXXaSeIdr6RBLmeyV", "ctx": null, - "_testId": "urn:uuid:5c442c3a-7a29-4aee-b5bb-a043fc7ce64d", + "_testId": "urn:uuid:b4d89260-86f5-4d3e-868a-8ee651a4ed37", "cell": { - "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + "columnId": "OpSecId", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13876, + "_idleStart": 16002, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 138, - "state": "passed", - "speed": "slow" + "duration": 0, + "state": "pending", + "err": { + "message": "Test needs to be validated." + } }, { "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8901,23 +8733,23 @@ "timedOut": false, "_currentRetry": 0, "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Gg2QFg6zYomnDBl0pIaZu", "ctx": null, - "_testId": "urn:uuid:5234cb32-cd3e-4097-ba8b-f7fbf86c543c", + "_testId": "urn:uuid:f7ed593c-e423-4656-8b66-2c8921a0c9dd", "cell": { "columnId": "Procivis One Core", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14014, + "_idleStart": 16820, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -8925,13 +8757,13 @@ "duration": 0, "state": "pending", "err": { - "message": "Missing negative test fixtures." + "message": "Test needs to be validated." } }, { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8940,23 +8772,23 @@ "timedOut": false, "_currentRetry": 0, "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "Y3rVotSSpBtV_fXCGyfyg", "ctx": null, - "_testId": "urn:uuid:b427d146-5363-495e-a32d-c618c4f2bf7d", + "_testId": "urn:uuid:c7725aa2-e220-490f-b808-943d5bb77927", "cell": { - "columnId": "Procivis One Core", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "SpruceID", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14014, + "_idleStart": 17128, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -8964,13 +8796,13 @@ "duration": 0, "state": "pending", "err": { - "message": "No feature support." + "message": "Test needs to be validated." } }, { "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.';\n this.test.cell.skipMessage = 'Test needs to be validated.';\n this.skip();\n for(statusListCredential of statusListCredentials) {\n const {encodedList} = statusListCredential.credentialSubject;\n const decoded = await decodeSl({encodedList});\n decoded[0].should.be.equal(0,\n 'Expected the first index of the statusList to have ' +\n 'the value 0.'\n );\n decoded[\n decoded.length - 1].should.be.equal(\n decoded.length - 1,\n 'Expected the last index of the statusList to have ' +\n 'the value of the bitstring length minus 1.'\n );\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -8979,23 +8811,23 @@ "timedOut": false, "_currentRetry": 0, "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/10-data_model.js", + "parent": "tO3sf1zoPC0c-cltfXmOv", "ctx": null, - "_testId": "urn:uuid:0eb5e5cf-0a58-4505-8fc3-febb7cc1a806", + "_testId": "urn:uuid:33b8e3c9-f319-4daf-8953-1f191ccf071b", "cell": { - "columnId": "Procivis One Core", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." + "columnId": "Trential", + "rowId": "The bitstring MUST be encoded such that the first index, with a value of zero (0), is located at the left-most bit in the bitstring and the last index, with a value of one less than the length of the bitstring (bitstring_length - 1), is located at the right-most bit in the bitstring.", + "skipMessage": "Test needs to be validated." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20bitstring%20MUST,Bitstring%20Encoding.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14014, + "_idleStart": 20891, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -9003,16 +8835,65 @@ "duration": 0, "state": "pending", "err": { - "message": "No feature support." + "message": "Test needs to be validated." } } + ] + } + ] + }, + { + "title": "Algorithm", + "ctx": null, + "suites": [ + { + "title": "Digital Bazaar", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "ufDKlrtfjWmvpaCkN3toh", + "ctx": null, + "_testId": "urn:uuid:21f236ad-1182-4016-9cf3-a34c63d5be2b", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 20892, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 288, + "state": "passed", + "speed": "slow" + } ], "root": false, "pending": false, "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -9023,7 +8904,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "parent": "ufDKlrtfjWmvpaCkN3toh", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -9035,8 +8916,8 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"Procivis One Core\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "title": "\"before all\" hook in \"Digital Bazaar\"", + "body": "async function() {\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9046,7 +8927,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "parent": "ufDKlrtfjWmvpaCkN3toh", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -9056,12 +8937,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13733, + "_idleStart": 20891, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 142, + "duration": 0, "_error": null } ], @@ -9073,19 +8954,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "RWteFSos0C7xmja-4evwb", + "parent": "XrrCiaWt1875l5i_P32nU", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:5973c34b-3bff-49a6-878d-80d30d1e93cd" + "_testId": "urn:uuid:c2e51714-3e8e-4cdc-88bb-9a3d1a9cf08f" }, { - "title": "SpruceID", + "title": "OpSecId", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9095,33 +8976,41 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "0qzmjHwPOoU18h_czm3Q1", "ctx": null, - "_testId": "urn:uuid:ccbdf6a4-6418-42af-be5e-1e15342e6926", + "_testId": "urn:uuid:eadb9218-568b-4ec2-b6f1-0f50222d794b", "cell": { - "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + "columnId": "OpSecId", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14044, + "_idleStart": 21180, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 28, - "state": "passed", - "speed": "fast" - }, + "duration": 1288, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "operator": "rejects" + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -9129,38 +9018,22 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "pending": false, + "type": "hook", + "parent": "0qzmjHwPOoU18h_czm3Q1", "ctx": null, - "_testId": "urn:uuid:9278d087-f4df-4db5-8c75-387b64cf9440", - "cell": { - "columnId": "SpruceID", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 14073, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } - }, + "_error": null + } + ], + "_beforeAll": [ { - "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "\"before all\" hook in \"OpSecId\"", + "body": "async function() {\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9168,38 +9041,48 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "pending": false, + "type": "hook", + "parent": "0qzmjHwPOoU18h_czm3Q1", "ctx": null, - "_testId": "urn:uuid:85ae2e53-d998-4124-8d5c-e22aa0aa06f3", - "cell": { - "columnId": "SpruceID", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14073, + "_idleStart": 21180, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - }, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "XrrCiaWt1875l5i_P32nU", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:33af50e5-a30d-4c3a-8efd-6e109a57262e" + }, + { + "title": "Procivis One Core", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9207,32 +9090,33 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "cUExSM6-SQrhp2va2rSSD", "ctx": null, - "_testId": "urn:uuid:13df8e10-5ced-432c-bf43-1cb65b11dc2c", + "_testId": "urn:uuid:a0c33b03-1f3a-4252-84b9-6de4d8d8a6c3", "cell": { - "columnId": "SpruceID", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." + "columnId": "Procivis One Core", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14073, + "_idleStart": 22471, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", + "duration": 382, + "state": "failed", "err": { - "message": "No feature support." + "generatedMessage": false, + "code": "ERR_ASSERTION", + "operator": "rejects" } } ], @@ -9241,7 +9125,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -9252,7 +9136,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "cUExSM6-SQrhp2va2rSSD", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -9264,8 +9148,8 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"SpruceID\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "title": "\"before all\" hook in \"Procivis One Core\"", + "body": "async function() {\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9275,7 +9159,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "cUExSM6-SQrhp2va2rSSD", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -9285,12 +9169,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14014, + "_idleStart": 22470, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 30, + "duration": 0, "_error": null } ], @@ -9302,46 +9186,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "RWteFSos0C7xmja-4evwb", + "parent": "XrrCiaWt1875l5i_P32nU", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:67c105f8-78d0-4dac-9cd1-4e206cc0aa85" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [], - "_beforeAll": [], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "matrix": true, - "report": true, - "rowLabel": "Test Name", - "columnLabel": "Implementer", - "_testId": "urn:uuid:d64680ef-c9b4-41e7-b656-2e190c4e3ab6", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ + "_testId": "urn:uuid:d2611cce-c58f-4d22-8df7-559d3480751a" + }, { - "id": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", - "cells": [ + "title": "SpruceID", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9351,33 +9208,37 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "parent": "Ba_XUo0vi4iDHMG4gdsfv", "ctx": null, - "_testId": "urn:uuid:6b3102ef-cae2-4ae6-879b-5dbce2e9f5bf", + "_testId": "urn:uuid:91b98a9a-9dc2-49ad-8786-8b47580d4142", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + "columnId": "SpruceID", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12587, + "_idleStart": 22854, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 267, + "duration": 48, "state": "passed", - "speed": "slow" - }, + "speed": "medium" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -9386,34 +9247,21 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "type": "hook", + "parent": "Ba_XUo0vi4iDHMG4gdsfv", "ctx": null, - "_testId": "urn:uuid:f3f0dbc5-8b5f-4d97-bded-e9e16adea904", - "cell": { - "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 13663, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 70, - "state": "passed", - "speed": "medium" - }, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ { - "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "\"before all\" hook in \"SpruceID\"", + "body": "async function() {\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9422,34 +9270,47 @@ "timedOut": false, "_currentRetry": 0, "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "type": "hook", + "parent": "Ba_XUo0vi4iDHMG4gdsfv", "ctx": null, - "_testId": "urn:uuid:5c442c3a-7a29-4aee-b5bb-a043fc7ce64d", - "cell": { - "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13876, + "_idleStart": 22854, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 138, - "state": "passed", - "speed": "slow" - }, + "duration": 0, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "XrrCiaWt1875l5i_P32nU", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:8c510139-a5e7-43f3-bdf5-eeb5039765bf" + }, + { + "title": "Trential", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9459,39 +9320,37 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "hqweyVM2XRsxd75gqkcO8", "ctx": null, - "_testId": "urn:uuid:ccbdf6a4-6418-42af-be5e-1e15342e6926", + "_testId": "urn:uuid:8f9e5022-6f3c-4934-8a35-b2d38f55e57b", "cell": { - "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + "columnId": "Trential", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14044, + "_idleStart": 22902, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 28, + "duration": 1220, "state": "passed", - "speed": "fast" + "speed": "slow" } - ] - }, - { - "id": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", - "cells": [ + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -9499,38 +9358,22 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "pending": false, + "type": "hook", + "parent": "hqweyVM2XRsxd75gqkcO8", "ctx": null, - "_testId": "urn:uuid:5ec2b2e5-63b5-4f58-a2f2-9fe6f5678e56", - "cell": { - "columnId": "Digital Bazaar", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 12854, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } - }, + "_error": null + } + ], + "_beforeAll": [ { - "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9538,38 +9381,76 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "pending": false, + "type": "hook", + "parent": "hqweyVM2XRsxd75gqkcO8", "ctx": null, - "_testId": "urn:uuid:b088a205-a60b-445c-9d2d-c5fa0cf3f42a", - "cell": { - "columnId": "OpSecId", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13733, + "_idleStart": 22902, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } - }, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "XrrCiaWt1875l5i_P32nU", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:4138b39a-891b-42e7-83cd-9f6b57b2f070" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [], + "_beforeAll": [], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "matrix": true, + "report": true, + "rowLabel": "Test Name", + "columnLabel": "Implementer", + "_testId": "urn:uuid:efed24b1-c68d-45b3-8499-a130ffb5cd86", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ + { + "id": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", + "cells": [ { "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9577,38 +9458,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "parent": "ufDKlrtfjWmvpaCkN3toh", "ctx": null, - "_testId": "urn:uuid:5234cb32-cd3e-4097-ba8b-f7fbf86c543c", + "_testId": "urn:uuid:21f236ad-1182-4016-9cf3-a34c63d5be2b", "cell": { - "columnId": "Procivis One Core", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." + "columnId": "Digital Bazaar", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14014, + "_idleStart": 20892, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } + "duration": 288, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9616,44 +9494,39 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "0qzmjHwPOoU18h_czm3Q1", "ctx": null, - "_testId": "urn:uuid:9278d087-f4df-4db5-8c75-387b64cf9440", + "_testId": "urn:uuid:eadb9218-568b-4ec2-b6f1-0f50222d794b", "cell": { - "columnId": "SpruceID", - "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", - "skipMessage": "Missing negative test fixtures." + "columnId": "OpSecId", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14073, + "_idleStart": 21180, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", + "duration": 1288, + "state": "failed", "err": { - "message": "Missing negative test fixtures." + "generatedMessage": false, + "code": "ERR_ASSERTION", + "operator": "rejects" } - } - ] - }, - { - "id": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", - "cells": [ + }, { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9661,38 +9534,39 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "parent": "cUExSM6-SQrhp2va2rSSD", "ctx": null, - "_testId": "urn:uuid:8968b081-180d-415c-88b5-d720b5f4eb45", + "_testId": "urn:uuid:a0c33b03-1f3a-4252-84b9-6de4d8d8a6c3", "cell": { - "columnId": "Digital Bazaar", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "Procivis One Core", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 12854, + "_idleStart": 22471, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", + "duration": 382, + "state": "failed", "err": { - "message": "No feature support." + "generatedMessage": false, + "code": "ERR_ASSERTION", + "operator": "rejects" } }, { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9700,38 +9574,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", + "parent": "Ba_XUo0vi4iDHMG4gdsfv", "ctx": null, - "_testId": "urn:uuid:31588984-4339-47fe-9def-303172a6b13b", + "_testId": "urn:uuid:91b98a9a-9dc2-49ad-8786-8b47580d4142", "cell": { - "columnId": "OpSecId", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "SpruceID", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 13733, + "_idleStart": 22854, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } + "duration": 48, + "state": "passed", + "speed": "medium" }, { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.';\n const credential = structuredClone(require('./validVc.json'));\n\n // Create a negative fixture\n credential.statusEntry = {\n type: 'BitstringStatusListEntry',\n statusListIndex: true,\n statusListCredential: 'https://example.com',\n };\n await assert.rejects(endpoints.issue(credential),\n 'Failed to reject a credential with an invalid ' +\n 'BitstringStatusListEntry.');\n // TODO add verifier tests, requires negative fixtures\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9739,38 +9610,48 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "parent": "hqweyVM2XRsxd75gqkcO8", "ctx": null, - "_testId": "urn:uuid:b427d146-5363-495e-a32d-c618c4f2bf7d", + "_testId": "urn:uuid:8f9e5022-6f3c-4934-8a35-b2d38f55e57b", "cell": { - "columnId": "Procivis One Core", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "Trential", + "rowId": "If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated \"MUST\" statements, a MALFORMED_VALUE_ERROR MUST be raised." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20an%20implementation%20of%20any%20of%20the%20algorithms%20in%20this%20section%20processes%20a%20property%20defined%20in%20Section%202.%20Data%20Model%20whose%20value%20is%20malformed%20due%20to%20not%20complying%20with%20associated%20%22MUST%22%20statements%2C%20a%20MALFORMED_VALUE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14014, + "_idleStart": 22902, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - }, + "duration": 1220, + "state": "passed", + "speed": "slow" + } + ] + } + ] + }, + { + "title": "Algorithm: Generate Algorithm", + "ctx": null, + "suites": [ + { + "title": "Digital Bazaar", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9778,44 +9659,39 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", + "parent": "XLVq4MHGSaVkD2J0X9toy", "ctx": null, - "_testId": "urn:uuid:85ae2e53-d998-4124-8d5c-e22aa0aa06f3", + "_testId": "urn:uuid:a2256e43-3ac0-4686-9a20-9ff998534cda", "cell": { - "columnId": "SpruceID", - "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", - "skipMessage": "No feature support." + "columnId": "Digital Bazaar", + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14073, + "_idleStart": 24576, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } + "duration": 1, + "state": "passed", + "speed": "fast" } - ] - }, - { - "id": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", - "cells": [ + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ { - "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, "_timeout": 15000, @@ -9823,77 +9699,22 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OC_sbjp-knn6vk26rkq5R", + "pending": false, + "type": "hook", + "parent": "XLVq4MHGSaVkD2J0X9toy", "ctx": null, - "_testId": "urn:uuid:f06b7d58-42cb-4498-88d6-718aa352ec99", - "cell": { - "columnId": "Digital Bazaar", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." - }, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 12854, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - }, - { - "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "6PRre6M5Qv12Ycs5Peerm", - "ctx": null, - "_testId": "urn:uuid:0f55900c-dcf5-4186-9ae5-694c5aa6b3ed", - "cell": { - "columnId": "OpSecId", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." - }, - "_events": {}, - "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 13733, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - }, + "_error": null + } + ], + "_beforeAll": [ { - "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "title": "\"before all\" hook in \"Digital Bazaar\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9901,90 +9722,48 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "fs1MwKpSW0b0bQQkUbPSn", + "pending": false, + "type": "hook", + "parent": "XLVq4MHGSaVkD2J0X9toy", "ctx": null, - "_testId": "urn:uuid:0eb5e5cf-0a58-4505-8fc3-febb7cc1a806", - "cell": { - "columnId": "Procivis One Core", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." - }, - "_events": {}, - "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 14014, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } - }, - { - "type": "test", - "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "cq6IAsa5VCcjMMAty1v9O", - "ctx": null, - "_testId": "urn:uuid:13df8e10-5ced-432c-bf43-1cb65b11dc2c", - "cell": { - "columnId": "SpruceID", - "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", - "skipMessage": "No feature support." - }, + "originalTitle": "\"before all\" hook", "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14073, + "_idleStart": 24123, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "No feature support." - } + "duration": 451, + "_error": null } - ] - } - ] - }, - { - "title": "Algorithm: Bitstring Generation Algorithm", - "ctx": null, - "suites": [ + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "cxy3WzmTfi6FTh1ZIBBxm", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:c145467b-6fba-4189-a503-73fc9ddf6d7e" + }, { - "title": "Digital Bazaar", + "title": "OpSecId", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -9994,21 +9773,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "VRiW5VpIbH3ph4ms8y1OZ", + "parent": "pbzvoG-iHaUDtGi-CL631", "ctx": null, - "_testId": "urn:uuid:7eb8129c-f430-4db3-b240-01257b5869ee", + "_testId": "urn:uuid:42e7aa5f-f9a5-42bf-8d47-8f3cb1252bec", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "columnId": "OpSecId", + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14407, + "_idleStart": 25824, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -10023,7 +9802,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -10034,7 +9813,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "VRiW5VpIbH3ph4ms8y1OZ", + "parent": "pbzvoG-iHaUDtGi-CL631", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -10046,7 +9825,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"Digital Bazaar\"", + "title": "\"before all\" hook in \"OpSecId\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, @@ -10057,7 +9836,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "VRiW5VpIbH3ph4ms8y1OZ", + "parent": "pbzvoG-iHaUDtGi-CL631", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -10067,12 +9846,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14074, + "_idleStart": 24576, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 332, + "duration": 1247, "_error": null } ], @@ -10084,19 +9863,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "yIdnFcjEc9wmVFtlunv6E", + "parent": "cxy3WzmTfi6FTh1ZIBBxm", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:7a4bcd66-1858-41f6-a66c-8035e48a2494" + "_testId": "urn:uuid:6411039d-83c4-40c5-a350-4ff391819373" }, { - "title": "OpSecId", + "title": "Procivis One Core", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10106,26 +9885,26 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "R8zM7uIQ82-T2sdzGSKOH", + "parent": "1ZdUtqb2WV_xpB1HIjHWE", "ctx": null, - "_testId": "urn:uuid:a2e3ad86-fa21-4ea9-bb6d-814a89ecb16e", + "_testId": "urn:uuid:7d27cb3a-426c-4363-b0d0-c373935a5e85", "cell": { - "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15210, + "_idleStart": 26339, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" } @@ -10135,7 +9914,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -10146,7 +9925,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "R8zM7uIQ82-T2sdzGSKOH", + "parent": "1ZdUtqb2WV_xpB1HIjHWE", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -10158,7 +9937,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"OpSecId\"", + "title": "\"before all\" hook in \"Procivis One Core\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, @@ -10169,7 +9948,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "R8zM7uIQ82-T2sdzGSKOH", + "parent": "1ZdUtqb2WV_xpB1HIjHWE", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -10179,12 +9958,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14408, + "_idleStart": 25824, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 801, + "duration": 514, "_error": null } ], @@ -10196,19 +9975,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "yIdnFcjEc9wmVFtlunv6E", + "parent": "cxy3WzmTfi6FTh1ZIBBxm", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:be7bb38e-6d34-43fe-b8ce-f732a11006af" + "_testId": "urn:uuid:3cc70356-13a8-44c3-bd63-6119d7bad865" }, { - "title": "Procivis One Core", + "title": "SpruceID", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10218,26 +9997,26 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "K9l-Y4csB_q_84VBWo8OE", + "parent": "Yrw3ys6atO_IhP4-wFkH9", "ctx": null, - "_testId": "urn:uuid:a85a35d7-772e-424c-9f61-8191bd73ac1c", + "_testId": "urn:uuid:47a82b75-a043-4801-9a59-339081ed7581", "cell": { - "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15457, + "_idleStart": 26588, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" } @@ -10247,7 +10026,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -10258,7 +10037,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "K9l-Y4csB_q_84VBWo8OE", + "parent": "Yrw3ys6atO_IhP4-wFkH9", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -10270,7 +10049,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"Procivis One Core\"", + "title": "\"before all\" hook in \"SpruceID\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, @@ -10281,7 +10060,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "K9l-Y4csB_q_84VBWo8OE", + "parent": "Yrw3ys6atO_IhP4-wFkH9", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -10291,12 +10070,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15211, + "_idleStart": 26340, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 245, + "duration": 249, "_error": null } ], @@ -10308,19 +10087,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "yIdnFcjEc9wmVFtlunv6E", + "parent": "cxy3WzmTfi6FTh1ZIBBxm", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:a1804c5e-fc69-4501-814f-54bf00a19d9d" + "_testId": "urn:uuid:d4d33182-1132-4ed2-a5bd-10d9b796d262" }, { - "title": "SpruceID", + "title": "Trential", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10330,21 +10109,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "yKJ-TztpmKrmER_Y7CDbq", + "parent": "m-WTqqyp8hlE3UyM8yxzk", "ctx": null, - "_testId": "urn:uuid:361163b0-ab95-4685-9aea-03066c259224", + "_testId": "urn:uuid:b803a030-deaa-4486-a143-3f61f39c513d", "cell": { - "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15514, + "_idleStart": 29587, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -10359,7 +10138,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -10370,7 +10149,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "yKJ-TztpmKrmER_Y7CDbq", + "parent": "m-WTqqyp8hlE3UyM8yxzk", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -10382,7 +10161,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"SpruceID\"", + "title": "\"before all\" hook in \"Trential\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", "async": 0, "sync": true, @@ -10393,7 +10172,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "yKJ-TztpmKrmER_Y7CDbq", + "parent": "m-WTqqyp8hlE3UyM8yxzk", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -10403,12 +10182,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15458, + "_idleStart": 26589, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 56, + "duration": 2996, "_error": null } ], @@ -10420,9 +10199,9 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "yIdnFcjEc9wmVFtlunv6E", + "parent": "cxy3WzmTfi6FTh1ZIBBxm", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:fcece220-9e24-4ef9-ba5c-22dc6986d09d" + "_testId": "urn:uuid:65c6b5b9-b01b-42f1-b1bb-f01044174928" } ], "root": false, @@ -10438,28 +10217,29 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", + "parent": "HoYFM04Y1Jfvr5_52ZW5E", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "matrix": true, "report": true, "rowLabel": "Test Name", "columnLabel": "Implementer", - "_testId": "urn:uuid:296b9b2f-c364-45cf-9b93-88180d75cca7", + "_testId": "urn:uuid:48238d7d-e5f4-4131-a25d-569fc1456c41", "columns": [ "Digital Bazaar", "OpSecId", "Procivis One Core", - "SpruceID" + "SpruceID", + "Trential" ], "rows": [ { - "id": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "id": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "cells": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10469,21 +10249,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "VRiW5VpIbH3ph4ms8y1OZ", + "parent": "XLVq4MHGSaVkD2J0X9toy", "ctx": null, - "_testId": "urn:uuid:7eb8129c-f430-4db3-b240-01257b5869ee", + "_testId": "urn:uuid:a2256e43-3ac0-4686-9a20-9ff998534cda", "cell": { "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 14407, + "_idleStart": 24576, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -10494,8 +10274,8 @@ }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10505,21 +10285,21 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "R8zM7uIQ82-T2sdzGSKOH", + "parent": "pbzvoG-iHaUDtGi-CL631", "ctx": null, - "_testId": "urn:uuid:a2e3ad86-fa21-4ea9-bb6d-814a89ecb16e", + "_testId": "urn:uuid:42e7aa5f-f9a5-42bf-8d47-8f3cb1252bec", "cell": { "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15210, + "_idleStart": 25824, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -10530,8 +10310,8 @@ }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10541,33 +10321,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "K9l-Y4csB_q_84VBWo8OE", + "parent": "1ZdUtqb2WV_xpB1HIjHWE", "ctx": null, - "_testId": "urn:uuid:a85a35d7-772e-424c-9f61-8191bd73ac1c", + "_testId": "urn:uuid:7d27cb3a-426c-4363-b0d0-c373935a5e85", "cell": { "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15457, + "_idleStart": 26339, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 0, "state": "passed", "speed": "fast" }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10577,21 +10357,57 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "yKJ-TztpmKrmER_Y7CDbq", + "parent": "Yrw3ys6atO_IhP4-wFkH9", "ctx": null, - "_testId": "urn:uuid:361163b0-ab95-4685-9aea-03066c259224", + "_testId": "urn:uuid:47a82b75-a043-4801-9a59-339081ed7581", "cell": { "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 26588, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.';\n for(statusListCredential of statusListCredentials) {\n testSlCredential({slCredential: statusListCredential});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "m-WTqqyp8hlE3UyM8yxzk", + "ctx": null, + "_testId": "urn:uuid:b803a030-deaa-4486-a143-3f61f39c513d", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20producing%20a%20BitstringStatusListCredential.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15514, + "_idleStart": 29587, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -10605,7 +10421,7 @@ ] }, { - "title": "Algorithm: Bitstring Expansion Algorithm", + "title": "Algorithm: Validate Algorithm", "ctx": null, "suites": [ { @@ -10615,8 +10431,8 @@ "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10626,37 +10442,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "ezegnF0JP_N4YGjmF_Yrs", + "parent": "gsl6IT0zkrvq5skxOkxM-", "ctx": null, - "_testId": "urn:uuid:d56fb679-7308-4b89-8ed1-8677030038b7", + "_testId": "urn:uuid:2a8d62d8-967f-49fd-b0b7-bd553059ade1", "cell": { "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15707, + "_idleStart": 30614, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 50, + "duration": 290, "state": "passed", - "speed": "medium" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + "speed": "slow" + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10664,22 +10476,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "ezegnF0JP_N4YGjmF_Yrs", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "parent": "gsl6IT0zkrvq5skxOkxM-", + "ctx": null, + "_testId": "urn:uuid:6dbfb2a3-a5f3-435f-b15b-9d0eb87c3ef5", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 30905, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, { - "title": "\"before all\" hook in \"Digital Bazaar\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10687,48 +10515,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "ezegnF0JP_N4YGjmF_Yrs", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "parent": "gsl6IT0zkrvq5skxOkxM-", + "ctx": null, + "_testId": "urn:uuid:8828a0ae-87a0-40af-808e-eab5da22715a", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15515, + "_idleStart": 30905, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 192, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "1CBdG2QL-jwOuQ05BT0NK", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:7a55067e-f829-4a01-945f-f2428708e234" - }, - { - "title": "OpSecId", - "ctx": null, - "suites": [], - "tests": [ + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10736,30 +10554,33 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "O7BCGNozmK2wtfI6Tjgji", + "parent": "gsl6IT0zkrvq5skxOkxM-", "ctx": null, - "_testId": "urn:uuid:672c7afa-2e0d-4647-bf0e-8beb2df3d287", + "_testId": "urn:uuid:43fad180-5e61-441b-9f86-936ddcc2ee34", "cell": { - "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "columnId": "Digital Bazaar", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 16652, + "_idleStart": 30905, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 76, - "state": "passed", - "speed": "slow" + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } } ], "root": false, @@ -10767,7 +10588,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -10778,7 +10599,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "O7BCGNozmK2wtfI6Tjgji", + "parent": "gsl6IT0zkrvq5skxOkxM-", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -10790,7 +10611,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"OpSecId\"", + "title": "\"before all\" hook in \"Digital Bazaar\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", "async": 0, "sync": true, @@ -10801,7 +10622,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "O7BCGNozmK2wtfI6Tjgji", + "parent": "gsl6IT0zkrvq5skxOkxM-", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -10811,12 +10632,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15757, + "_idleStart": 29588, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 895, + "duration": 1025, "_error": null } ], @@ -10828,19 +10649,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "1CBdG2QL-jwOuQ05BT0NK", + "parent": "nseLEZUHrfbe0r-vYIT7F", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:31b60932-208c-4d24-b4c5-031408131bdf" + "_testId": "urn:uuid:a6c174e9-61bb-43a5-a1e8-8c0d9a7b16d2" }, { - "title": "Procivis One Core", + "title": "OpSecId", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10850,37 +10671,33 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "seDm_G1yGMz-txAkijfDl", + "parent": "1cxLkpGwP-bwvn-YZub4Z", "ctx": null, - "_testId": "urn:uuid:c31e2feb-bc35-4664-9885-3f05ede3c2f7", + "_testId": "urn:uuid:189a5bbe-c94e-4b30-9d33-fec735bc62b5", "cell": { - "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "columnId": "OpSecId", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 16871, + "_idleStart": 32103, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 132, + "duration": 67, "state": "passed", - "speed": "slow" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + "speed": "medium" + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10888,22 +10705,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "seDm_G1yGMz-txAkijfDl", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "parent": "1cxLkpGwP-bwvn-YZub4Z", + "ctx": null, + "_testId": "urn:uuid:af66f718-a1c0-4dae-be82-54569507f9b9", + "cell": { + "columnId": "OpSecId", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32170, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, { - "title": "\"before all\" hook in \"Procivis One Core\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10911,48 +10744,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "seDm_G1yGMz-txAkijfDl", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "parent": "1cxLkpGwP-bwvn-YZub4Z", + "ctx": null, + "_testId": "urn:uuid:4f5b976e-7f5a-4de6-b832-a6638efb9f46", + "cell": { + "columnId": "OpSecId", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 16728, + "_idleStart": 32170, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 142, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "1CBdG2QL-jwOuQ05BT0NK", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:06609a0e-714b-4d12-85d1-75e18e12dcc8" - }, - { - "title": "SpruceID", - "ctx": null, - "suites": [], - "tests": [ + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -10960,30 +10783,33 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "f0WJR3LrRxMNcfbGXv7Ut", + "parent": "1cxLkpGwP-bwvn-YZub4Z", "ctx": null, - "_testId": "urn:uuid:0b81c923-4225-4db4-baaf-f44f831ea035", + "_testId": "urn:uuid:724f98b4-f354-4121-8e78-52af3c6893e3", "cell": { - "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "columnId": "OpSecId", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17032, + "_idleStart": 32170, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 27, - "state": "passed", - "speed": "fast" + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } } ], "root": false, @@ -10991,7 +10817,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -11002,7 +10828,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "f0WJR3LrRxMNcfbGXv7Ut", + "parent": "1cxLkpGwP-bwvn-YZub4Z", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -11014,7 +10840,7 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"SpruceID\"", + "title": "\"before all\" hook in \"OpSecId\"", "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", "async": 0, "sync": true, @@ -11025,7 +10851,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "f0WJR3LrRxMNcfbGXv7Ut", + "parent": "1cxLkpGwP-bwvn-YZub4Z", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -11035,12 +10861,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17003, + "_idleStart": 30905, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 29, + "duration": 1198, "_error": null } ], @@ -11052,46 +10878,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "1CBdG2QL-jwOuQ05BT0NK", + "parent": "nseLEZUHrfbe0r-vYIT7F", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:8e662d8d-0739-46bd-85d0-0358e62c5139" - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [], - "_beforeAll": [], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "matrix": true, - "report": true, - "rowLabel": "Test Name", - "columnLabel": "Implementer", - "_testId": "urn:uuid:0951b2bd-edf1-4459-9ea8-ed032f814b97", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ + "_testId": "urn:uuid:d7c404e7-a7b0-4625-b4b6-712de4b4b188" + }, { - "id": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", - "cells": [ + "title": "Procivis One Core", + "ctx": null, + "suites": [], + "tests": [ { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11101,33 +10900,158 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "ezegnF0JP_N4YGjmF_Yrs", + "parent": "aygYm5JaprgXyL8-qPCv1", "ctx": null, - "_testId": "urn:uuid:d56fb679-7308-4b89-8ed1-8677030038b7", + "_testId": "urn:uuid:ba38a143-dba4-424d-9516-59d99c9d2cdf", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 15707, + "_idleStart": 32572, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 50, - "state": "passed", - "speed": "medium" + "duration": 151, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:fa9b61d5-d5e2-4f38-83d8-1457c1cdd3cd\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:27.21898006Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:849b4d63-f1f5-4d23-9261-e9ce73e31d66\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:27.219004854Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z3eYvN1APifCJBmBVafFYkPtfrGHHDVhqQ5MVY2riTG2Tvcb8mmn61GWGSxFbmLPdEtuMHn2Eiszj4SrizmbgMQN5\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "id": "urn:uuid:fa9b61d5-d5e2-4f38-83d8-1457c1cdd3cd", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:27.21898006Z", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "urn:uuid:849b4d63-f1f5-4d23-9261-e9ce73e31d66", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" + }, + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:27.219004854Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z3eYvN1APifCJBmBVafFYkPtfrGHHDVhqQ5MVY2riTG2Tvcb8mmn61GWGSxFbmLPdEtuMHn2Eiszj4SrizmbgMQN5" + } + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", + "status": 400, + "data": { + "errors": [ + { + "status": 400, + "title": "Formatter error `Could not verify: `Verification error: Could not verify: `Key algorithm error: `invalid kty````", + "detail": null + } + ] + } + }, + "operator": "doesNotReject" + } }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11135,35 +11059,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "O7BCGNozmK2wtfI6Tjgji", + "parent": "aygYm5JaprgXyL8-qPCv1", "ctx": null, - "_testId": "urn:uuid:672c7afa-2e0d-4647-bf0e-8beb2df3d287", + "_testId": "urn:uuid:10c9336b-a7bd-40e2-9457-26d587346c03", "cell": { - "columnId": "OpSecId", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "columnId": "Procivis One Core", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 16652, + "_idleStart": 32724, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 76, - "state": "passed", - "speed": "slow" + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11171,84 +11098,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "seDm_G1yGMz-txAkijfDl", + "parent": "aygYm5JaprgXyL8-qPCv1", "ctx": null, - "_testId": "urn:uuid:c31e2feb-bc35-4664-9885-3f05ede3c2f7", + "_testId": "urn:uuid:ebac1f0b-8dea-408d-911e-dda10cd57fa2", "cell": { "columnId": "Procivis One Core", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 16871, + "_idleStart": 32724, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 132, - "state": "passed", - "speed": "slow" + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } }, { "type": "test", - "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "f0WJR3LrRxMNcfbGXv7Ut", - "ctx": null, - "_testId": "urn:uuid:0b81c923-4225-4db4-baaf-f44f831ea035", - "cell": { - "columnId": "SpruceID", - "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." - }, - "_events": {}, - "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 17032, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 27, - "state": "passed", - "speed": "fast" - } - ] - } - ] - }, - { - "title": "Algorithm: Processing Errors", - "ctx": null, - "suites": [ - { - "title": "Digital Bazaar", - "ctx": null, - "suites": [], - "tests": [ - { - "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11258,22 +11139,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OAmyU1NAs-5Cx3IXMmj0X", + "parent": "aygYm5JaprgXyL8-qPCv1", "ctx": null, - "_testId": "urn:uuid:bb25b7a4-6286-4cbf-b553-1e0f7384deff", + "_testId": "urn:uuid:23052654-4183-4922-843c-25cbbf42c696", "cell": { - "columnId": "Digital Bazaar", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "skipMessage": "Missing negative test fixtures." + "columnId": "Procivis One Core", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32724, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -11281,7 +11162,7 @@ "duration": 0, "state": "pending", "err": { - "message": "Missing negative test fixtures." + "message": "No feature support." } } ], @@ -11290,7 +11171,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -11301,7 +11182,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "OAmyU1NAs-5Cx3IXMmj0X", + "parent": "aygYm5JaprgXyL8-qPCv1", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -11313,8 +11194,8 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"Digital Bazaar\"", - "body": "async function() {\n }", + "title": "\"before all\" hook in \"Procivis One Core\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11324,7 +11205,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "OAmyU1NAs-5Cx3IXMmj0X", + "parent": "aygYm5JaprgXyL8-qPCv1", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -11334,12 +11215,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17059, + "_idleStart": 32171, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 1, + "duration": 402, "_error": null } ], @@ -11351,19 +11232,19 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "OdmGDrNZphOSSigO4InA5", + "parent": "nseLEZUHrfbe0r-vYIT7F", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:24511cfd-c154-442c-aaf7-76741ef3c608" + "_testId": "urn:uuid:f8e6f596-1ec7-4890-9e64-97f1e65715b2" }, { - "title": "OpSecId", + "title": "SpruceID", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11371,42 +11252,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "m-3JYXMjWe84FRcCSOTJv", + "parent": "MNf4niXh6NVPxhZj87lCN", "ctx": null, - "_testId": "urn:uuid:8c2cd25d-e08d-4a82-8a4f-25278706563a", + "_testId": "urn:uuid:99c4a746-3de8-46f7-beac-7fe012efd950", "cell": { - "columnId": "OpSecId", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "skipMessage": "Missing negative test fixtures." + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32865, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } - } - ], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ + "duration": 47, + "state": "passed", + "speed": "medium" + }, { - "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11414,22 +11288,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "m-3JYXMjWe84FRcCSOTJv", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", + "parent": "MNf4niXh6NVPxhZj87lCN", + "ctx": null, + "_testId": "urn:uuid:1744f7be-cfbf-48c8-8cf9-668c4a9d011a", + "cell": { + "columnId": "SpruceID", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32912, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, "duration": 0, - "_error": null - } - ], - "_beforeAll": [ + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, { - "title": "\"before all\" hook in \"OpSecId\"", - "body": "async function() {\n }", + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11437,48 +11327,38 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "m-3JYXMjWe84FRcCSOTJv", - "ctx": null, + "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "originalTitle": "\"before all\" hook", + "parent": "MNf4niXh6NVPxhZj87lCN", + "ctx": null, + "_testId": "urn:uuid:658fbec5-d5dc-49ee-b8b1-32ab6f1fb473", + "cell": { + "columnId": "SpruceID", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, "_events": {}, "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32912, "_onTimeout": null, "_repeat": null, "_destroyed": true }, "duration": 0, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "OdmGDrNZphOSSigO4InA5", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:68cba6e2-9098-4514-b554-ed85aa0e1efb" - }, - { - "title": "Procivis One Core", - "ctx": null, - "suites": [], - "tests": [ + "state": "pending", + "err": { + "message": "No feature support." + } + }, { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11488,22 +11368,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "AEslkWKLCnVJeVINJpZck", + "parent": "MNf4niXh6NVPxhZj87lCN", "ctx": null, - "_testId": "urn:uuid:72b4cd64-0466-40c2-93b3-d4aaec08aad0", + "_testId": "urn:uuid:d4106796-d90c-4ec7-a39e-b0d4b957ef4f", "cell": { - "columnId": "Procivis One Core", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "skipMessage": "Missing negative test fixtures." + "columnId": "SpruceID", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32913, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -11511,7 +11391,7 @@ "duration": 0, "state": "pending", "err": { - "message": "Missing negative test fixtures." + "message": "No feature support." } } ], @@ -11520,7 +11400,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -11531,7 +11411,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "AEslkWKLCnVJeVINJpZck", + "parent": "MNf4niXh6NVPxhZj87lCN", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -11543,8 +11423,8 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"Procivis One Core\"", - "body": "async function() {\n }", + "title": "\"before all\" hook in \"SpruceID\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11554,7 +11434,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "AEslkWKLCnVJeVINJpZck", + "parent": "MNf4niXh6NVPxhZj87lCN", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -11564,12 +11444,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32724, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 141, "_error": null } ], @@ -11581,19 +11461,55 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "OdmGDrNZphOSSigO4InA5", + "parent": "nseLEZUHrfbe0r-vYIT7F", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:7a29a276-6cc8-4208-906c-ee35f25ef58c" + "_testId": "urn:uuid:d8ba79c9-bb27-4032-9f45-49f203c709f4" }, { - "title": "SpruceID", + "title": "Trential", "ctx": null, "suites": [], "tests": [ { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:c22199e8-f00a-4996-b6f4-e31e62d8c8d5", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34128, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 544, + "state": "passed", + "speed": "slow" + }, + { + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11603,22 +11519,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "lgW0ssw0l24I7SuUv2bjx", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", "ctx": null, - "_testId": "urn:uuid:1b97f6b4-f766-47e8-b301-e5e13f0ee96a", + "_testId": "urn:uuid:42932a4b-fec8-42fd-9f99-b36c73a8a517", "cell": { - "columnId": "SpruceID", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "columnId": "Trential", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", "skipMessage": "Missing negative test fixtures." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 34673, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -11628,6 +11544,84 @@ "err": { "message": "Missing negative test fixtures." } + }, + { + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:1d89baed-2b4a-4db2-89f7-cdaab831e9f3", + "cell": { + "columnId": "Trential", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34673, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:48ef3342-27d0-4aa8-81b3-0c25b9a75a34", + "cell": { + "columnId": "Trential", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34673, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } } ], "root": false, @@ -11635,7 +11629,7 @@ "_retries": -1, "_beforeEach": [ { - "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", "async": 0, "sync": true, @@ -11646,7 +11640,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "lgW0ssw0l24I7SuUv2bjx", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before each\" hook: addPerTestMetadata", @@ -11658,8 +11652,8 @@ ], "_beforeAll": [ { - "title": "\"before all\" hook in \"SpruceID\"", - "body": "async function() {\n }", + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11669,7 +11663,7 @@ "_currentRetry": 0, "pending": false, "type": "hook", - "parent": "lgW0ssw0l24I7SuUv2bjx", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", "ctx": null, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "originalTitle": "\"before all\" hook", @@ -11679,12 +11673,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32913, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, + "duration": 1214, "_error": null } ], @@ -11696,9 +11690,9 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "OdmGDrNZphOSSigO4InA5", + "parent": "nseLEZUHrfbe0r-vYIT7F", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "_testId": "urn:uuid:556f03cc-166d-4f2d-922f-7a2e04e9e4c8" + "_testId": "urn:uuid:a8739850-e048-46b8-b009-0ca9917eedc3" } ], "root": false, @@ -11714,28 +11708,29 @@ "_onlyTests": [], "_onlySuites": [], "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", + "parent": "HoYFM04Y1Jfvr5_52ZW5E", "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", "matrix": true, "report": true, "rowLabel": "Test Name", "columnLabel": "Implementer", - "_testId": "urn:uuid:661dafcd-62b8-4339-97ee-cb1caa39de1c", + "_testId": "urn:uuid:5f7732e3-a816-41d6-b1b7-b847dc066a9c", "columns": [ "Digital Bazaar", "OpSecId", "Procivis One Core", - "SpruceID" + "SpruceID", + "Trential" ], "rows": [ { - "id": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "id": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "cells": [ { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11743,38 +11738,35 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "OAmyU1NAs-5Cx3IXMmj0X", + "parent": "gsl6IT0zkrvq5skxOkxM-", "ctx": null, - "_testId": "urn:uuid:bb25b7a4-6286-4cbf-b553-1e0f7384deff", + "_testId": "urn:uuid:2a8d62d8-967f-49fd-b0b7-bd553059ade1", "cell": { "columnId": "Digital Bazaar", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "skipMessage": "Missing negative test fixtures." + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 30614, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", - "err": { - "message": "Missing negative test fixtures." - } + "duration": 290, + "state": "passed", + "speed": "slow" }, { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11782,38 +11774,274 @@ "_retries": -1, "timedOut": false, "_currentRetry": 0, - "pending": true, + "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "m-3JYXMjWe84FRcCSOTJv", + "parent": "1cxLkpGwP-bwvn-YZub4Z", "ctx": null, - "_testId": "urn:uuid:8c2cd25d-e08d-4a82-8a4f-25278706563a", + "_testId": "urn:uuid:189a5bbe-c94e-4b30-9d33-fec735bc62b5", "cell": { "columnId": "OpSecId", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "skipMessage": "Missing negative test fixtures." + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32103, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 0, - "state": "pending", + "duration": 67, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "aygYm5JaprgXyL8-qPCv1", + "ctx": null, + "_testId": "urn:uuid:ba38a143-dba4-424d-9516-59d99c9d2cdf", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32572, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 151, + "state": "failed", "err": { - "message": "Missing negative test fixtures." + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:fa9b61d5-d5e2-4f38-83d8-1457c1cdd3cd\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:27.21898006Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:849b4d63-f1f5-4d23-9261-e9ce73e31d66\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:27.219004854Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z3eYvN1APifCJBmBVafFYkPtfrGHHDVhqQ5MVY2riTG2Tvcb8mmn61GWGSxFbmLPdEtuMHn2Eiszj4SrizmbgMQN5\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "id": "urn:uuid:fa9b61d5-d5e2-4f38-83d8-1457c1cdd3cd", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:27.21898006Z", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "urn:uuid:849b4d63-f1f5-4d23-9261-e9ce73e31d66", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" + }, + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:27.219004854Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z3eYvN1APifCJBmBVafFYkPtfrGHHDVhqQ5MVY2riTG2Tvcb8mmn61GWGSxFbmLPdEtuMHn2Eiszj4SrizmbgMQN5" + } + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", + "status": 400, + "data": { + "errors": [ + { + "status": 400, + "title": "Formatter error `Could not verify: `Verification error: Could not verify: `Key algorithm error: `invalid kty````", + "detail": null + } + ] + } + }, + "operator": "doesNotReject" } }, { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "MNf4niXh6NVPxhZj87lCN", + "ctx": null, + "_testId": "urn:uuid:99c4a746-3de8-46f7-beac-7fe012efd950", + "cell": { + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32865, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 47, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:c22199e8-f00a-4996-b6f4-e31e62d8c8d5", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential" + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20validating%20a%20verifiable%20credential%20that%20is%20contained%20in%20a%20BitstringStatusListCredential", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34128, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 544, + "state": "passed", + "speed": "slow" + } + ] + }, + { + "id": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "cells": [ + { + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11823,22 +12051,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "AEslkWKLCnVJeVINJpZck", + "parent": "gsl6IT0zkrvq5skxOkxM-", "ctx": null, - "_testId": "urn:uuid:72b4cd64-0466-40c2-93b3-d4aaec08aad0", + "_testId": "urn:uuid:6dbfb2a3-a5f3-435f-b15b-9d0eb87c3ef5", "cell": { - "columnId": "Procivis One Core", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "columnId": "Digital Bazaar", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", "skipMessage": "Missing negative test fixtures." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 30905, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -11851,8 +12079,8 @@ }, { "type": "test", - "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", - "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", "async": 0, "sync": true, "_timeout": 15000, @@ -11862,22 +12090,22 @@ "_currentRetry": 0, "pending": true, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", - "parent": "lgW0ssw0l24I7SuUv2bjx", + "parent": "1cxLkpGwP-bwvn-YZub4Z", "ctx": null, - "_testId": "urn:uuid:1b97f6b4-f766-47e8-b301-e5e13f0ee96a", + "_testId": "urn:uuid:af66f718-a1c0-4dae-be82-54569507f9b9", "cell": { - "columnId": "SpruceID", - "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "columnId": "OpSecId", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", "skipMessage": "Missing negative test fixtures." }, "_events": {}, "_eventsCount": 1, - "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 17060, + "_idleStart": 32170, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -11887,254 +12115,4283 @@ "err": { "message": "Missing negative test fixtures." } - } - ] - } - ] - }, - { - "title": "Interop", - "ctx": null, - "suites": [], - "root": false, - "pending": false, - "_retries": -1, - "_beforeEach": [ - { - "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - }, - { - "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - }, - { - "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - }, - { - "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", - "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before each\" hook: addPerTestMetadata", - "_events": {}, - "_eventsCount": 1, - "duration": 0, - "_error": null - } - ], - "_beforeAll": [ - { - "title": "\"before all\" hook in \"Interop\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before all\" hook", - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 17061, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 592, - "_error": null - }, - { - "title": "\"before all\" hook in \"Interop\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before all\" hook", - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 17653, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 780, - "_error": null + }, + { + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "aygYm5JaprgXyL8-qPCv1", + "ctx": null, + "_testId": "urn:uuid:10c9336b-a7bd-40e2-9457-26d587346c03", + "cell": { + "columnId": "Procivis One Core", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32724, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, + { + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "MNf4niXh6NVPxhZj87lCN", + "ctx": null, + "_testId": "urn:uuid:1744f7be-cfbf-48c8-8cf9-668c4a9d011a", + "cell": { + "columnId": "SpruceID", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32912, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, + { + "type": "test", + "title": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:42932a4b-fec8-42fd-9f99-b36c73a8a517", + "cell": { + "columnId": "Trential", + "rowId": "If the credentialIndex multiplied by the size is a value outside of the range of the bitstring, a RANGE_ERROR MUST be raised.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=Let%20status%20be%20the%20value%20in%20the%20bitstring%20at%20the%20position%20indicated%20by%20the%20credentialIndex%20multiplied%20by%20the%20size.%20If%20the%20credentialIndex%20multiplied%20by%20the%20size%20is%20a%20value%20outside%20of%20the%20range%20of%20the%20bitstring%2C%20a%20RANGE_ERROR%20MUST%20be%20raised.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34673, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ] }, { - "title": "\"before all\" hook in \"Interop\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before all\" hook", - "_events": {}, + "id": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "cells": [ + { + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "gsl6IT0zkrvq5skxOkxM-", + "ctx": null, + "_testId": "urn:uuid:8828a0ae-87a0-40af-808e-eab5da22715a", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 30905, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "1cxLkpGwP-bwvn-YZub4Z", + "ctx": null, + "_testId": "urn:uuid:4f5b976e-7f5a-4de6-b832-a6638efb9f46", + "cell": { + "columnId": "OpSecId", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32170, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "aygYm5JaprgXyL8-qPCv1", + "ctx": null, + "_testId": "urn:uuid:ebac1f0b-8dea-408d-911e-dda10cd57fa2", + "cell": { + "columnId": "Procivis One Core", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32724, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "MNf4niXh6NVPxhZj87lCN", + "ctx": null, + "_testId": "urn:uuid:658fbec5-d5dc-49ee-b8b1-32ab6f1fb473", + "cell": { + "columnId": "SpruceID", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32912, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:1d89baed-2b4a-4db2-89f7-cdaab831e9f3", + "cell": { + "columnId": "Trential", + "rowId": "When a statusListCredential URL is dereferenced, server implementations MAY provide a mechanism to dereference the status list as of a particular point in time If such a feature is supported, and if query parameters are supported by the URL scheme, then the name of the query parameter MUST be timestamp and the value MUST be a valid URL-encoded [XMLSCHEMA11-2] dateTimeStamp string value.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=If%20such%20a%20feature%20is%20supported%2C%20and%20if%20query%20parameters%20are%20supported%20by%20the%20URL%20scheme%2C%20then%20the%20name%20of%20the%20query%20parameter%20MUST%20be%20timestamp%20and%20the%20value%20MUST%20be%20a%20valid%20URL%2Dencoded%20%5BXMLSCHEMA11%2D2%5D%20dateTimeStamp%20string%20value.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34673, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + } + ] + }, + { + "id": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "cells": [ + { + "type": "test", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "gsl6IT0zkrvq5skxOkxM-", + "ctx": null, + "_testId": "urn:uuid:43fad180-5e61-441b-9f86-936ddcc2ee34", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 30905, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "1cxLkpGwP-bwvn-YZub4Z", + "ctx": null, + "_testId": "urn:uuid:724f98b4-f354-4121-8e78-52af3c6893e3", + "cell": { + "columnId": "OpSecId", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32170, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "aygYm5JaprgXyL8-qPCv1", + "ctx": null, + "_testId": "urn:uuid:23052654-4183-4922-843c-25cbbf42c696", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32724, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "MNf4niXh6NVPxhZj87lCN", + "ctx": null, + "_testId": "urn:uuid:d4106796-d90c-4ec7-a39e-b0d4b957ef4f", + "cell": { + "columnId": "SpruceID", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 32913, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + }, + { + "type": "test", + "title": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.';\n this.test.cell.skipMessage = 'No feature support.';\n this.skip();\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CSxIc_9tfV3q7nE5bIEWZ", + "ctx": null, + "_testId": "urn:uuid:48ef3342-27d0-4aa8-81b3-0c25b9a75a34", + "cell": { + "columnId": "Trential", + "rowId": "The result of dereferencing such a timestamp-parameterized URL MUST be either a status list credential containing the status list as it existed at the given point in time, or a STATUS_RETRIEVAL_ERROR.", + "skipMessage": "No feature support." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20result%20of%20dereferencing%20such%20a%20timestamp%2Dparameterized%20URL%20MUST%20be%20either%20a%20status%20list%20credential%20containing%20the%20status%20list%20as%20it%20existed%20at%20the%20given%20point%20in%20time%2C%20or%20a%20STATUS_RETRIEVAL_ERROR.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34673, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "No feature support." + } + } + ] + } + ] + }, + { + "title": "Algorithm: Bitstring Generation Algorithm", + "ctx": null, + "suites": [ + { + "title": "Digital Bazaar", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "cExvkwIgKqZ_7ol3ChyQS", + "ctx": null, + "_testId": "urn:uuid:25103645-2460-461f-831c-75c5599bbb0a", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 35028, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "cExvkwIgKqZ_7ol3ChyQS", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Digital Bazaar\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "cExvkwIgKqZ_7ol3ChyQS", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 34673, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 354, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "NtRZaFsiIRVusBEnUY8d8", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:9ccdeed4-d578-4a92-8435-f4e534740f85" + }, + { + "title": "OpSecId", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "0u47wyfX3JpvMXveYuL-n", + "ctx": null, + "_testId": "urn:uuid:6dc37e60-83dc-4aeb-a79c-a756556d5e3a", + "cell": { + "columnId": "OpSecId", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 36428, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "0u47wyfX3JpvMXveYuL-n", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"OpSecId\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "0u47wyfX3JpvMXveYuL-n", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 35029, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1399, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "NtRZaFsiIRVusBEnUY8d8", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:963e0f2f-3243-4ca4-bbd1-4d77d253ef7d" + }, + { + "title": "Procivis One Core", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "HGV2K_Dr_fgrOV2yDhZEi", + "ctx": null, + "_testId": "urn:uuid:de9d1aaf-e53d-4603-bf06-8fbd51a91cb9", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 36933, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "HGV2K_Dr_fgrOV2yDhZEi", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Procivis One Core\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "HGV2K_Dr_fgrOV2yDhZEi", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 36428, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 504, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "NtRZaFsiIRVusBEnUY8d8", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:7360cb8c-1fd9-478d-8092-05d37c6de124" + }, + { + "title": "SpruceID", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "ZQkvfliK1q6meQph7D_Tx", + "ctx": null, + "_testId": "urn:uuid:7a03806a-c420-421d-8832-3e7c5ee7aff8", + "cell": { + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 37048, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "ZQkvfliK1q6meQph7D_Tx", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"SpruceID\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "ZQkvfliK1q6meQph7D_Tx", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 36933, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 115, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "NtRZaFsiIRVusBEnUY8d8", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:8a9431ca-fe6e-49b5-a9cd-69bcb3f0aa68" + }, + { + "title": "Trential", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "DJLKsrD-lpULpBWN93V8M", + "ctx": null, + "_testId": "urn:uuid:e4a2cdb7-75db-4bba-a7f6-6f069311e129", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 40088, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "passed", + "speed": "fast" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "DJLKsrD-lpULpBWN93V8M", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n statusEntries = await getStatusEntries(issuedVc);\n statusListCredentials = await getStatusListCredentials(statusEntries);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "DJLKsrD-lpULpBWN93V8M", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 37048, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 3039, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "NtRZaFsiIRVusBEnUY8d8", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:2ec0d053-382e-438b-948d-0bc9868347c0" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [], + "_beforeAll": [], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "matrix": true, + "report": true, + "rowLabel": "Test Name", + "columnLabel": "Implementer", + "_testId": "urn:uuid:4ecf90ba-3a79-4726-a67a-8c95d38ba36a", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ + { + "id": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "cells": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "cExvkwIgKqZ_7ol3ChyQS", + "ctx": null, + "_testId": "urn:uuid:25103645-2460-461f-831c-75c5599bbb0a", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 35028, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "0u47wyfX3JpvMXveYuL-n", + "ctx": null, + "_testId": "urn:uuid:6dc37e60-83dc-4aeb-a79c-a756556d5e3a", + "cell": { + "columnId": "OpSecId", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 36428, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "HGV2K_Dr_fgrOV2yDhZEi", + "ctx": null, + "_testId": "urn:uuid:de9d1aaf-e53d-4603-bf06-8fbd51a91cb9", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 36933, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "ZQkvfliK1q6meQph7D_Tx", + "ctx": null, + "_testId": "urn:uuid:7a03806a-c420-421d-8832-3e7c5ee7aff8", + "cell": { + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 37048, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "passed", + "speed": "fast" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.';\n for(statusListCredential of statusListCredentials) {\n const credentialSubject =\n statusListCredential.credentialSubject;\n const {encodedList} = credentialSubject;\n await decodeSl({encodedList});\n }\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "DJLKsrD-lpULpBWN93V8M", + "ctx": null, + "_testId": "urn:uuid:e4a2cdb7-75db-4bba-a7f6-6f069311e129", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when generating a status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20generating%20a%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 40088, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "passed", + "speed": "fast" + } + ] + } + ] + }, + { + "title": "Algorithm: Bitstring Expansion Algorithm", + "ctx": null, + "suites": [ + { + "title": "Digital Bazaar", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "IAYLuKvczeuNPzgtXMou7", + "ctx": null, + "_testId": "urn:uuid:a9494417-33b8-42e1-a359-a113d11d5a0d", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 40436, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 226, + "state": "passed", + "speed": "slow" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "IAYLuKvczeuNPzgtXMou7", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Digital Bazaar\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "IAYLuKvczeuNPzgtXMou7", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 40088, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 348, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "LGorquQ0LqkltRyPd-OhN", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:d0b1b7d5-e170-46c8-a2c1-9131ceaf09aa" + }, + { + "title": "OpSecId", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "rsvNhmnSpWhvcIewIIBJr", + "ctx": null, + "_testId": "urn:uuid:ccc8ea65-811c-4860-bab0-5afda2eb9a47", + "cell": { + "columnId": "OpSecId", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 41686, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 67, + "state": "passed", + "speed": "medium" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "rsvNhmnSpWhvcIewIIBJr", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"OpSecId\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "rsvNhmnSpWhvcIewIIBJr", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 40663, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1022, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "LGorquQ0LqkltRyPd-OhN", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:625844dd-a390-4d12-aced-b3b4f245e02c" + }, + { + "title": "Procivis One Core", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "IRtR5Tm74z2a8KVnLQp4s", + "ctx": null, + "_testId": "urn:uuid:4cc49888-3a8e-4852-9417-2866474f4590", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 42138, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 146, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:3276044d-24ea-4700-a496-72152bf284c3\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:36.782137314Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:9da30ab6-e76f-4bd9-9688-2af538723cd4\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\",\"statusListIndex\":\"0\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:36.782156254Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z7woKp553B41eikGduyBQdoN33xpx2DGUtBBf7p4dKdQXekQW7YTB5u7geBXiF2EijBWvV7cLGe1DGYBo5RhYvEF\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "id": "urn:uuid:3276044d-24ea-4700-a496-72152bf284c3", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:36.782137314Z", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "urn:uuid:9da30ab6-e76f-4bd9-9688-2af538723cd4", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd", + "statusListIndex": "0" + }, + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:36.782156254Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z7woKp553B41eikGduyBQdoN33xpx2DGUtBBf7p4dKdQXekQW7YTB5u7geBXiF2EijBWvV7cLGe1DGYBo5RhYvEF" + } + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", + "status": 400, + "data": { + "errors": [ + { + "status": 400, + "title": "Formatter error `Could not verify: `Verification error: Could not verify: `Key algorithm error: `invalid kty````", + "detail": null + } + ] + } + }, + "operator": "doesNotReject" + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "IRtR5Tm74z2a8KVnLQp4s", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Procivis One Core\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "IRtR5Tm74z2a8KVnLQp4s", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 41753, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 385, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "LGorquQ0LqkltRyPd-OhN", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:4d63bfea-e46e-4078-8aa4-4861bc00054d" + }, + { + "title": "SpruceID", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "E6Bwgu3DcQ3rjDRLyeyFz", + "ctx": null, + "_testId": "urn:uuid:3c99b521-4b9e-4b06-a5ed-b0e2a8b3ffe1", + "cell": { + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 42348, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 50, + "state": "passed", + "speed": "medium" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "E6Bwgu3DcQ3rjDRLyeyFz", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"SpruceID\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "E6Bwgu3DcQ3rjDRLyeyFz", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 42285, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 63, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "LGorquQ0LqkltRyPd-OhN", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:7f3fac44-4e22-477f-9705-93d59f737b68" + }, + { + "title": "Trential", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "6eTx7KGxNEvDbOZx4IDYv", + "ctx": null, + "_testId": "urn:uuid:9dcd1b63-b106-466b-a026-b4a209081e33", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 44049, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 993, + "state": "passed", + "speed": "slow" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "6eTx7KGxNEvDbOZx4IDYv", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, name);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "6eTx7KGxNEvDbOZx4IDYv", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 42398, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1651, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "LGorquQ0LqkltRyPd-OhN", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:2fea086a-3f33-4905-9950-842e5971587c" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [], + "_beforeAll": [], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "matrix": true, + "report": true, + "rowLabel": "Test Name", + "columnLabel": "Implementer", + "_testId": "urn:uuid:e0181eef-d29f-451d-ae86-3de88803ab69", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ + { + "id": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "cells": [ + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "IAYLuKvczeuNPzgtXMou7", + "ctx": null, + "_testId": "urn:uuid:a9494417-33b8-42e1-a359-a113d11d5a0d", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 40436, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 226, + "state": "passed", + "speed": "slow" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "rsvNhmnSpWhvcIewIIBJr", + "ctx": null, + "_testId": "urn:uuid:ccc8ea65-811c-4860-bab0-5afda2eb9a47", + "cell": { + "columnId": "OpSecId", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 41686, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 67, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "IRtR5Tm74z2a8KVnLQp4s", + "ctx": null, + "_testId": "urn:uuid:4cc49888-3a8e-4852-9417-2866474f4590", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 42138, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 146, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:3276044d-24ea-4700-a496-72152bf284c3\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:36.782137314Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:9da30ab6-e76f-4bd9-9688-2af538723cd4\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\",\"statusListIndex\":\"0\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:36.782156254Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z7woKp553B41eikGduyBQdoN33xpx2DGUtBBf7p4dKdQXekQW7YTB5u7geBXiF2EijBWvV7cLGe1DGYBo5RhYvEF\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "id": "urn:uuid:3276044d-24ea-4700-a496-72152bf284c3", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:36.782137314Z", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "urn:uuid:9da30ab6-e76f-4bd9-9688-2af538723cd4", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd", + "statusListIndex": "0" + }, + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:36.782156254Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z7woKp553B41eikGduyBQdoN33xpx2DGUtBBf7p4dKdQXekQW7YTB5u7geBXiF2EijBWvV7cLGe1DGYBo5RhYvEF" + } + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", + "status": 400, + "data": { + "errors": [ + { + "status": 400, + "title": "Formatter error `Could not verify: `Verification error: Could not verify: `Key algorithm error: `invalid kty````", + "detail": null + } + ] + } + }, + "operator": "doesNotReject" + } + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "E6Bwgu3DcQ3rjDRLyeyFz", + "ctx": null, + "_testId": "urn:uuid:3c99b521-4b9e-4b06-a5ed-b0e2a8b3ffe1", + "cell": { + "columnId": "SpruceID", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 42348, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 50, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.';\n await assert.doesNotReject(endpoints.verify(issuedVc));\n // TODO add negative verifier tests\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "6eTx7KGxNEvDbOZx4IDYv", + "ctx": null, + "_testId": "urn:uuid:9dcd1b63-b106-466b-a026-b4a209081e33", + "cell": { + "columnId": "Trential", + "rowId": "The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20following%20process%2C%20or%20one%20generating%20the%20exact%20output%2C%20MUST%20be%20followed%20when%20expanding%20a%20compressed%20status%20list%20bitstring.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 44049, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 993, + "state": "passed", + "speed": "slow" + } + ] + } + ] + }, + { + "title": "Algorithm: Processing Errors", + "ctx": null, + "suites": [ + { + "title": "Digital Bazaar", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "eMVQS8T5GwXxPeGSsaItn", + "ctx": null, + "_testId": "urn:uuid:18a9713e-f416-4484-b629-9c3b6ef995bb", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Digital Bazaar\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "eMVQS8T5GwXxPeGSsaItn", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Digital Bazaar\"", + "body": "async function() {\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "eMVQS8T5GwXxPeGSsaItn", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "wf-0FdLF7SV4xFZvV5PsO", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:d0a969c6-a4e5-4660-a4eb-6f88c5c802e4" + }, + { + "title": "OpSecId", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "TqWEB2GqZ3G2IhvJqpKEF", + "ctx": null, + "_testId": "urn:uuid:f350c4e0-cf31-4297-a617-e4b067cf308d", + "cell": { + "columnId": "OpSecId", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"OpSecId\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "TqWEB2GqZ3G2IhvJqpKEF", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"OpSecId\"", + "body": "async function() {\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "TqWEB2GqZ3G2IhvJqpKEF", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "wf-0FdLF7SV4xFZvV5PsO", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:76179e42-824e-49ff-a379-1dd7281d2a82" + }, + { + "title": "Procivis One Core", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CjirUa4dwyAFMF1fO_X7K", + "ctx": null, + "_testId": "urn:uuid:dd5e982d-04f9-451f-89b2-be55678c07bd", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Procivis One Core\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "CjirUa4dwyAFMF1fO_X7K", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Procivis One Core\"", + "body": "async function() {\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "CjirUa4dwyAFMF1fO_X7K", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "wf-0FdLF7SV4xFZvV5PsO", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:a76915b4-00c2-4878-b34c-d07472e1c005" + }, + { + "title": "SpruceID", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "6aQInr1Pjd3TG3UcA-qyf", + "ctx": null, + "_testId": "urn:uuid:acdc4fe0-8b63-4a4f-97d9-aa5ca55f6f55", + "cell": { + "columnId": "SpruceID", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"SpruceID\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "6aQInr1Pjd3TG3UcA-qyf", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"SpruceID\"", + "body": "async function() {\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "6aQInr1Pjd3TG3UcA-qyf", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "wf-0FdLF7SV4xFZvV5PsO", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:a1e107a8-0b7d-401c-8fdd-af12bf6dfd58" + }, + { + "title": "Trential", + "ctx": null, + "suites": [], + "tests": [ + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "J6EB3tFXUhOVjNjmT6jqX", + "ctx": null, + "_testId": "urn:uuid:9a0121c5-5364-4b4f-a793-3d5310d681ef", + "cell": { + "columnId": "Trential", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45044, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Trential\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "J6EB3tFXUhOVjNjmT6jqX", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Trential\"", + "body": "async function() {\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "J6EB3tFXUhOVjNjmT6jqX", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45044, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "wf-0FdLF7SV4xFZvV5PsO", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "_testId": "urn:uuid:e341be1d-af4d-4fea-93c0-43998c168d67" + } + ], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [], + "_beforeAll": [], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "matrix": true, + "report": true, + "rowLabel": "Test Name", + "columnLabel": "Implementer", + "_testId": "urn:uuid:18a7f177-32d8-451a-ae6a-8bd0048ff271", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ + { + "id": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "cells": [ + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "eMVQS8T5GwXxPeGSsaItn", + "ctx": null, + "_testId": "urn:uuid:18a9713e-f416-4484-b629-9c3b6ef995bb", + "cell": { + "columnId": "Digital Bazaar", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "TqWEB2GqZ3G2IhvJqpKEF", + "ctx": null, + "_testId": "urn:uuid:f350c4e0-cf31-4297-a617-e4b067cf308d", + "cell": { + "columnId": "OpSecId", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "CjirUa4dwyAFMF1fO_X7K", + "ctx": null, + "_testId": "urn:uuid:dd5e982d-04f9-451f-89b2-be55678c07bd", + "cell": { + "columnId": "Procivis One Core", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "6aQInr1Pjd3TG3UcA-qyf", + "ctx": null, + "_testId": "urn:uuid:acdc4fe0-8b63-4a4f-97d9-aa5ca55f6f55", + "cell": { + "columnId": "SpruceID", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45043, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 0, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + }, + { + "type": "test", + "title": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "body": "async function() {\n this.test.link = 'https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.';\n this.test.cell.skipMessage = 'Missing negative test fixtures.';\n this.skip();\n await assert.rejects(endpoints.verify({}));\n // STATUS_RETRIEVAL_ERROR\n // STATUS_VERIFICATION_ERROR\n // STATUS_LIST_LENGTH_ERROR\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": true, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/20-algorithms.js", + "parent": "J6EB3tFXUhOVjNjmT6jqX", + "ctx": null, + "_testId": "urn:uuid:9a0121c5-5364-4b4f-a793-3d5310d681ef", + "cell": { + "columnId": "Trential", + "rowId": "The type value of the error object MUST be a URL that starts with the value https://www.w3.org/ns/credentials/status-list# and ends with the value in the section listed below.", + "skipMessage": "Missing negative test fixtures." + }, + "_events": {}, + "_eventsCount": 1, + "link": "https://www.w3.org/TR/vc-bitstring-status-list/#:~:text=The%20type%20value%20of%20the%20error%20object%20MUST%20be%20a%20URL%20that%20starts%20with%20the%20value%20https%3A//www.w3.org/ns/credentials/status%2Dlist%23%20and%20ends%20with%20the%20value%20in%20the%20section%20listed%20below.", + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45044, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1, + "state": "pending", + "err": { + "message": "Missing negative test fixtures." + } + } + ] + } + ] + }, + { + "title": "Interop", + "ctx": null, + "suites": [], + "root": false, + "pending": false, + "_retries": -1, + "_beforeEach": [ + { + "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + }, + { + "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + }, + { + "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + }, + { + "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + }, + { + "title": "\"before each\" hook: addPerTestMetadata in \"Interop\"", + "body": "function addPerTestMetadata() {\n // append test meta data to the it/test this.\n this.currentTest.cell = {\n columnId: this.currentTest.parent.title,\n rowId: this.currentTest.title\n };\n}", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before each\" hook: addPerTestMetadata", + "_events": {}, + "_eventsCount": 1, + "duration": 0, + "_error": null + } + ], + "_beforeAll": [ + { + "title": "\"before all\" hook in \"Interop\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45044, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 426, + "_error": null + }, + { + "title": "\"before all\" hook in \"Interop\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 45470, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 1246, + "_error": null + }, + { + "title": "\"before all\" hook in \"Interop\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 46716, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 392, + "_error": null + }, + { + "title": "\"before all\" hook in \"Interop\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before all\" hook", + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 47109, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 76, + "_error": null + }, + { + "title": "\"before all\" hook in \"Interop\"", + "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "type": "hook", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "originalTitle": "\"before all\" hook", + "_events": {}, "_eventsCount": 1, "timer": { "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 18433, + "_idleStart": 47184, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 142, + "duration": 542, "_error": null + } + ], + "_afterEach": [], + "_afterAll": [], + "_timeout": 15000, + "_slow": 75, + "_bail": false, + "_onlyTests": [], + "_onlySuites": [], + "delayed": false, + "parent": "HoYFM04Y1Jfvr5_52ZW5E", + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "matrix": true, + "report": true, + "rowLabel": "Issuer", + "columnLabel": "Verifier", + "_testId": "urn:uuid:5c87bfa3-fb2c-4a66-a3d6-7875d4588f86", + "columns": [ + "Digital Bazaar", + "OpSecId", + "Procivis One Core", + "SpruceID", + "Trential" + ], + "rows": [ + { + "id": "Digital Bazaar", + "cells": [ + { + "type": "test", + "title": "Digital Bazaar should verify Digital Bazaar", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:f0df3989-99f0-4dbe-b6ea-d5f6bb4649a4", + "cell": { + "rowId": "Digital Bazaar", + "columnId": "Digital Bazaar" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 47727, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 81, + "state": "passed", + "speed": "slow" + }, + { + "type": "test", + "title": "OpSecId should verify Digital Bazaar", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:7c71463a-0fd7-42d2-b051-c225bd29e227", + "cell": { + "rowId": "Digital Bazaar", + "columnId": "OpSecId" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 47808, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 25, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"id\":\"urn:uuid:0ba66584-6903-41af-aa06-7347be9c38df\",\"issuer\":\"did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo\",\"credentialStatus\":[{\"id\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV#25666\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV\",\"statusListIndex\":\"25666\",\"statusPurpose\":\"revocation\"},{\"id\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R#25666\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R\",\"statusListIndex\":\"25666\",\"statusPurpose\":\"suspension\"}],\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:39Z\",\"verificationMethod\":\"did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo#zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo\",\"cryptosuite\":\"ecdsa-rdfc-2019\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z3NNTrB3tueAP3LPnSpWCxQe77W6KDgrigGY4MticYMn6NRSZ4eSmpYYuoLDpa1PwmZJ2Z9v3qDy3LVvRik2wHZnb\"}}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "type": [ + "VerifiableCredential" + ], + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "id": "urn:uuid:0ba66584-6903-41af-aa06-7347be9c38df", + "issuer": "did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo", + "credentialStatus": [ + { + "id": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV#25666", + "type": "BitstringStatusListEntry", + "statusListCredential": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV", + "statusListIndex": "25666", + "statusPurpose": "revocation" + }, + { + "id": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R#25666", + "type": "BitstringStatusListEntry", + "statusListCredential": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R", + "statusListIndex": "25666", + "statusPurpose": "suspension" + } + ], + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:39Z", + "verificationMethod": "did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo#zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo", + "cryptosuite": "ecdsa-rdfc-2019", + "proofPurpose": "assertionMethod", + "proofValue": "z3NNTrB3tueAP3LPnSpWCxQe77W6KDgrigGY4MticYMn6NRSZ4eSmpYYuoLDpa1PwmZJ2Z9v3qDy3LVvRik2wHZnb" + } + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://vc.opsec.id/credentials/verify", + "status": 400, + "data": { + "detail": "Unsupported cryptosuite." + } + }, + "operator": "doesNotReject" + } + }, + { + "type": "test", + "title": "Procivis One Core should verify Digital Bazaar", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:fee8ab55-63fd-4c5c-8059-33cd794e0ad4", + "cell": { + "rowId": "Digital Bazaar", + "columnId": "Procivis One Core" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 47833, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 159, + "state": "passed", + "speed": "slow" + }, + { + "type": "test", + "title": "SpruceID should verify Digital Bazaar", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:ff9d9231-2ffc-4d26-824a-2edff8ee7411", + "cell": { + "rowId": "Digital Bazaar", + "columnId": "SpruceID" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 47992, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 48, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "Trential should verify Digital Bazaar", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:fed99d60-719f-410b-a44d-9b794fdddd85", + "cell": { + "rowId": "Digital Bazaar", + "columnId": "Trential" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 48040, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 541, + "state": "passed", + "speed": "slow" + } + ] + }, + { + "id": "OpSecId", + "cells": [ + { + "type": "test", + "title": "Digital Bazaar should verify OpSecId", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:715813c1-7a5d-4c4e-8611-88f2f512535d", + "cell": { + "rowId": "OpSecId", + "columnId": "Digital Bazaar" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 48582, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 57, + "state": "passed", + "speed": "medium" + }, + { + "type": "test", + "title": "OpSecId should verify OpSecId", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:c44390ac-a574-45b0-921d-26d21d57be38", + "cell": { + "rowId": "OpSecId", + "columnId": "OpSecId" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 48639, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 26, + "state": "passed", + "speed": "fast" + }, + { + "type": "test", + "title": "Procivis One Core should verify OpSecId", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:885f6160-fb90-4486-b63d-d71f3198f8ac", + "cell": { + "rowId": "OpSecId", + "columnId": "Procivis One Core" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 48666, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 116, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"type\":[\"VerifiableCredential\"],\"id\":\"urn:uuid:b2f393e7-a841-46fc-b199-42e08342fe13\",\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"issuer\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#166980\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"166980\",\"statusListCredential\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e\"},\"proof\":[{\"type\":\"DataIntegrityProof\",\"cryptosuite\":\"eddsa-jcs-2022\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"proofValue\":\"z2zxKyi7KfFAiVndbHrxuQ2dHrozcQGEnUEBzHEciRVSAWD5aGsqFzgAhijsUkFqqVK88kGPG3CsXxNz3vNz3KbT7\"}]},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "method": "POST", + "json": { + "verifiableCredential": { + "type": [ + "VerifiableCredential" + ], + "id": "urn:uuid:b2f393e7-a841-46fc-b199-42e08342fe13", + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "issuer": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#166980", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "166980", + "statusListCredential": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e" + }, + "proof": [ + { + "type": "DataIntegrityProof", + "cryptosuite": "eddsa-jcs-2022", + "proofPurpose": "assertionMethod", + "verificationMethod": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "proofValue": "z2zxKyi7KfFAiVndbHrxuQ2dHrozcQGEnUEBzHEciRVSAWD5aGsqFzgAhijsUkFqqVK88kGPG3CsXxNz3vNz3KbT7" + } + ] + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", + "status": 400, + "data": { + "errors": [ + { + "status": 400, + "title": "Failed to deserialize the JSON body into the target type", + "detail": null + } + ] + } + }, + "operator": "doesNotReject" + } + }, + { + "type": "test", + "title": "SpruceID should verify OpSecId", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:327342ad-3688-45eb-8635-b294db01a35f", + "cell": { + "rowId": "OpSecId", + "columnId": "SpruceID" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 48782, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 41, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"type\":[\"VerifiableCredential\"],\"id\":\"urn:uuid:b2f393e7-a841-46fc-b199-42e08342fe13\",\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"issuer\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#166980\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"166980\",\"statusListCredential\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e\"},\"proof\":[{\"type\":\"DataIntegrityProof\",\"cryptosuite\":\"eddsa-jcs-2022\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"proofValue\":\"z2zxKyi7KfFAiVndbHrxuQ2dHrozcQGEnUEBzHEciRVSAWD5aGsqFzgAhijsUkFqqVK88kGPG3CsXxNz3vNz3KbT7\"}]}}", + "method": "POST", + "json": { + "verifiableCredential": { + "type": [ + "VerifiableCredential" + ], + "id": "urn:uuid:b2f393e7-a841-46fc-b199-42e08342fe13", + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "issuer": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#166980", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "166980", + "statusListCredential": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e" + }, + "proof": [ + { + "type": "DataIntegrityProof", + "cryptosuite": "eddsa-jcs-2022", + "proofPurpose": "assertionMethod", + "verificationMethod": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "proofValue": "z2zxKyi7KfFAiVndbHrxuQ2dHrozcQGEnUEBzHEciRVSAWD5aGsqFzgAhijsUkFqqVK88kGPG3CsXxNz3vNz3KbT7" + } + ] + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://vc.spruceid.xyz/credentials/verify", + "status": 400 + }, + "operator": "doesNotReject" + } + }, + { + "type": "test", + "title": "Trential should verify OpSecId", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:6f4098c2-35ab-4600-ab55-6b77dabf91a7", + "cell": { + "rowId": "OpSecId", + "columnId": "Trential" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 48824, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 234, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"type\":[\"VerifiableCredential\"],\"id\":\"urn:uuid:b2f393e7-a841-46fc-b199-42e08342fe13\",\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"issuer\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#166980\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"166980\",\"statusListCredential\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e\"},\"proof\":[{\"type\":\"DataIntegrityProof\",\"cryptosuite\":\"eddsa-jcs-2022\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"proofValue\":\"z2zxKyi7KfFAiVndbHrxuQ2dHrozcQGEnUEBzHEciRVSAWD5aGsqFzgAhijsUkFqqVK88kGPG3CsXxNz3vNz3KbT7\"}]}}", + "method": "POST", + "json": { + "verifiableCredential": { + "type": [ + "VerifiableCredential" + ], + "id": "urn:uuid:b2f393e7-a841-46fc-b199-42e08342fe13", + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "issuer": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#166980", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "166980", + "statusListCredential": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e" + }, + "proof": [ + { + "type": "DataIntegrityProof", + "cryptosuite": "eddsa-jcs-2022", + "proofPurpose": "assertionMethod", + "verificationMethod": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "proofValue": "z2zxKyi7KfFAiVndbHrxuQ2dHrozcQGEnUEBzHEciRVSAWD5aGsqFzgAhijsUkFqqVK88kGPG3CsXxNz3vNz3KbT7" + } + ] + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://api.trential.dev/indisi-vc/verifier/credentials/verify", + "status": 400, + "data": { + "message": "unsupported cryptosuite" + } + }, + "operator": "doesNotReject" + } + } + ] }, { - "title": "\"before all\" hook in \"Interop\"", - "body": "async function() {\n issuedVc = await issueValidVc(endpoints, issuerName);\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "type": "hook", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "originalTitle": "\"before all\" hook", - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 18575, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 26, - "_error": null - } - ], - "_afterEach": [], - "_afterAll": [], - "_timeout": 15000, - "_slow": 75, - "_bail": false, - "_onlyTests": [], - "_onlySuites": [], - "delayed": false, - "parent": "Fpd1tM4fH_mE3RWSYJ2s9", - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "matrix": true, - "report": true, - "rowLabel": "Issuer", - "columnLabel": "Verifier", - "_testId": "urn:uuid:8ffce683-de14-44f2-9aca-071d9d65bed9", - "columns": [ - "Digital Bazaar", - "OpSecId", - "Procivis One Core", - "SpruceID" - ], - "rows": [ - { - "id": "Digital Bazaar", + "id": "Procivis One Core", "cells": [ { "type": "test", - "title": "Digital Bazaar should verify Digital Bazaar", + "title": "Digital Bazaar should verify Procivis One Core", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12145,11 +16402,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:e9567799-6e02-46cb-8d00-22ba15579e91", + "_testId": "urn:uuid:87417b7a-95c5-4d73-ae4d-89b58c540ee5", "cell": { - "rowId": "Digital Bazaar", + "rowId": "Procivis One Core", "columnId": "Digital Bazaar" }, "_events": {}, @@ -12158,18 +16415,181 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 18601, + "_idleStart": 49058, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 52, - "state": "passed", - "speed": "medium" + "duration": 63, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "id": "urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:41.75367347Z", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" + }, + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:41.753682849Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL" + } + }, + "options": { + "checks": [ + "proof" + ] + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:41.75367347Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:41.753682849Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL\"}},\"options\":{\"checks\":[\"proof\"]}}" + }, + "name": "HTTPError", + "requestUrl": "https://vc2.veresverifier.dev/verifiers/z19w7KofwvE2nkJeRVLp8NDxz/credentials/verify", + "status": 400, + "data": { + "verified": false, + "results": [ + { + "proof": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:41.753682849Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL" + }, + "verified": false, + "error": { + "name": "DataError", + "code": "invalidPublicKeyLength", + "message": "\"bytes\" must be a 32-byte Uint8Array." + } + } + ], + "error": { + "name": "VerificationError", + "errors": [ + { + "name": "DataError", + "code": "invalidPublicKeyLength", + "message": "\"bytes\" must be a 32-byte Uint8Array.", + "stack": "DataError: \"bytes\" must be a 32-byte Uint8Array.\n at assertKeyBytes (file:///home/node/app/node_modules/@digitalbazaar/ed25519-multikey/lib/validators.js:22:19)\n at _publicKeyDerEncode (file:///home/node/app/node_modules/@digitalbazaar/ed25519-multikey/lib/ed25519.js:143:3)\n at Module.verify (file:///home/node/app/node_modules/@digitalbazaar/ed25519-multikey/lib/ed25519.js:59:10)\n at Object.verify (file:///home/node/app/node_modules/@digitalbazaar/ed25519-multikey/lib/factory.js:29:22)\n at DataIntegrityProof.verifySignature (file:///home/node/app/node_modules/@digitalbazaar/data-integrity/lib/DataIntegrityProof.js:151:21)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DataIntegrityProof.verifyProof (file:///home/node/app/node_modules/@digitalbazaar/data-integrity/lib/DataIntegrityProof.js:299:24)\n at async /home/node/app/node_modules/jsonld-signatures/lib/ProofSet.js:272:53\n at async Promise.all (index 0)\n at async _verify (/home/node/app/node_modules/jsonld-signatures/lib/ProofSet.js:260:3)" + } + ], + "message": "Verification error(s)." + }, + "checks": [ + { + "check": [ + "proof" + ], + "id": "urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8", + "error": "\"bytes\" must be a 32-byte Uint8Array.", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE" + } + ] + } + }, + "operator": "doesNotReject" + } }, { "type": "test", - "title": "OpSecId should verify Digital Bazaar", + "title": "OpSecId should verify Procivis One Core", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12180,11 +16600,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:5f1b099b-3758-4e57-8742-1e53ed0258c7", + "_testId": "urn:uuid:1cf6ddb9-63f0-4649-8253-82918ba9b7f8", "cell": { - "rowId": "Digital Bazaar", + "rowId": "Procivis One Core", "columnId": "OpSecId" }, "_events": {}, @@ -12193,12 +16613,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 18653, + "_idleStart": 49122, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 27, + "duration": 26, "state": "failed", "err": { "generatedMessage": false, @@ -12209,44 +16629,36 @@ "options": { "credentials": "same-origin", "headers": {}, - "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"id\":\"urn:uuid:757fe457-1d92-4d3b-8fe6-3d968ddfef94\",\"issuer\":\"did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo\",\"credentialStatus\":[{\"id\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV#130881\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV\",\"statusListIndex\":\"130881\",\"statusPurpose\":\"revocation\"},{\"id\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R#130881\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R\",\"statusListIndex\":\"130881\",\"statusPurpose\":\"suspension\"}],\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-10T05:04:10Z\",\"verificationMethod\":\"did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo#zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo\",\"cryptosuite\":\"ecdsa-rdfc-2019\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z47DwZMHYcwQ4hkq4XfEb4R9fdhpTG5WtiYHbqqbyZDKbTFEfEDdQQkTnn69XTrcYaK3LCAdgVGofmSr8ktz3xK2v\"}}}", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:41.75367347Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:41.753682849Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL\"}}}", "method": "POST", "json": { "verifiableCredential": { "@context": [ "https://www.w3.org/ns/credentials/v2" ], + "id": "urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8", "type": [ "VerifiableCredential" ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:41.75367347Z", "credentialSubject": { "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" }, - "id": "urn:uuid:757fe457-1d92-4d3b-8fe6-3d968ddfef94", - "issuer": "did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo", - "credentialStatus": [ - { - "id": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV#130881", - "type": "BitstringStatusListEntry", - "statusListCredential": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z1AERHrY9eCESjR6rHkVWiTRV", - "statusListIndex": "130881", - "statusPurpose": "revocation" - }, - { - "id": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R#130881", - "type": "BitstringStatusListEntry", - "statusListCredential": "https://sandbox.platform.veres.dev/statuses/z19vnKFKrDW3thUvrnx44uq2d/status-lists/z19xnH8WTRuuRSG85NwNihm9R", - "statusListIndex": "130881", - "statusPurpose": "suspension" - } - ], + "credentialStatus": { + "id": "urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" + }, "proof": { "type": "DataIntegrityProof", - "created": "2024-11-10T05:04:10Z", - "verificationMethod": "did:key:zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo#zDnaerQCrQwEocofoup5cMxyviZwPiXgyykMEb5gd2PTUxiqo", - "cryptosuite": "ecdsa-rdfc-2019", + "created": "2024-11-17T05:04:41.753682849Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", "proofPurpose": "assertionMethod", - "proofValue": "z47DwZMHYcwQ4hkq4XfEb4R9fdhpTG5WtiYHbqqbyZDKbTFEfEDdQQkTnn69XTrcYaK3LCAdgVGofmSr8ktz3xK2v" + "proofValue": "z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL" } } }, @@ -12327,7 +16739,7 @@ }, { "type": "test", - "title": "Procivis One Core should verify Digital Bazaar", + "title": "Procivis One Core should verify Procivis One Core", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12338,11 +16750,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:39cb1c0f-5e90-439b-a762-18149a10f407", + "_testId": "urn:uuid:1f5b135e-b4da-451f-97b8-b3cd58b0aa62", "cell": { - "rowId": "Digital Bazaar", + "rowId": "Procivis One Core", "columnId": "Procivis One Core" }, "_events": {}, @@ -12351,128 +16763,143 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 18680, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 141, - "state": "passed", - "speed": "slow" - }, - { - "type": "test", - "title": "SpruceID should verify Digital Bazaar", - "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "_testId": "urn:uuid:d96b22c9-f86c-4369-b0f5-983a4b4f0cd3", - "cell": { - "rowId": "Digital Bazaar", - "columnId": "SpruceID" - }, - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 18822, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 27, - "state": "passed", - "speed": "fast" - } - ] - }, - { - "id": "OpSecId", - "cells": [ - { - "type": "test", - "title": "Digital Bazaar should verify OpSecId", - "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "_testId": "urn:uuid:66e70021-38d1-42d3-81c4-abe33dceb5b3", - "cell": { - "rowId": "OpSecId", - "columnId": "Digital Bazaar" - }, - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 18849, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 51, - "state": "passed", - "speed": "medium" - }, - { - "type": "test", - "title": "OpSecId should verify OpSecId", - "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "_testId": "urn:uuid:305d81f0-abba-4b5b-a0b3-1c39fa957a37", - "cell": { - "rowId": "OpSecId", - "columnId": "OpSecId" - }, - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 18901, + "_idleStart": 49147, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 28, - "state": "passed", - "speed": "fast" + "duration": 149, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:41.75367347Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:41.753682849Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2" + ], + "id": "urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:41.75367347Z", + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "credentialStatus": { + "id": "urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554", + "type": "BitstringStatusListEntry", + "statusPurpose": "revocation", + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" + }, + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:41.753682849Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL" + } + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", + "status": 400, + "data": { + "errors": [ + { + "status": 400, + "title": "Formatter error `Could not verify: `Verification error: Could not verify: `Key algorithm error: `invalid kty````", + "detail": null + } + ] + } + }, + "operator": "doesNotReject" + } }, { "type": "test", - "title": "Procivis One Core should verify OpSecId", + "title": "SpruceID should verify Procivis One Core", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12483,12 +16910,12 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:8775cf84-4b68-405f-907a-10ae2ffb8ab0", + "_testId": "urn:uuid:f96288d9-3936-4a7d-94d4-e57d072e1534", "cell": { - "rowId": "OpSecId", - "columnId": "Procivis One Core" + "rowId": "Procivis One Core", + "columnId": "SpruceID" }, "_events": {}, "_eventsCount": 1, @@ -12496,12 +16923,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 18929, + "_idleStart": 49298, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 101, + "duration": 48, "state": "failed", "err": { "generatedMessage": false, @@ -12512,41 +16939,37 @@ "options": { "credentials": "same-origin", "headers": {}, - "body": "{\"verifiableCredential\":{\"type\":[\"VerifiableCredential\"],\"id\":\"urn:uuid:4bc1e0d0-a054-4e36-a489-6a290aac0e08\",\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"issuer\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#160318\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"160318\",\"statusListCredential\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e\"},\"proof\":[{\"type\":\"DataIntegrityProof\",\"cryptosuite\":\"eddsa-jcs-2022\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"proofValue\":\"z28vXsy1wR8W1WeTVfaN7iCNo4zZirGv3zyx1qqycRxSKqM1pHLKoBqAFbxDMWJ85W2Vwvb1fxnjCvtvWfDnzC651\"}]},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:41.75367347Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:41.753682849Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL\"}}}", "method": "POST", "json": { "verifiableCredential": { - "type": [ - "VerifiableCredential" - ], - "id": "urn:uuid:4bc1e0d0-a054-4e36-a489-6a290aac0e08", "@context": [ "https://www.w3.org/ns/credentials/v2" ], - "issuer": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "id": "urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:41.75367347Z", "credentialSubject": { "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" }, "credentialStatus": { - "id": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#160318", + "id": "urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": "160318", - "statusListCredential": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e" + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" }, - "proof": [ - { - "type": "DataIntegrityProof", - "cryptosuite": "eddsa-jcs-2022", - "proofPurpose": "assertionMethod", - "verificationMethod": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", - "proofValue": "z28vXsy1wR8W1WeTVfaN7iCNo4zZirGv3zyx1qqycRxSKqM1pHLKoBqAFbxDMWJ85W2Vwvb1fxnjCvtvWfDnzC651" - } - ] - }, - "options": { - "checks": [], - "credentialFormat": "JSON_LD_CLASSIC" + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:41.753682849Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL" + } } }, "agent": { @@ -12615,24 +17038,15 @@ "duplex": "half" }, "name": "HTTPError", - "requestUrl": "https://core.test.procivis-one.com/vc-api/credentials/verify", - "status": 400, - "data": { - "errors": [ - { - "status": 400, - "title": "Failed to deserialize the JSON body into the target type", - "detail": null - } - ] - } + "requestUrl": "https://vc.spruceid.xyz/credentials/verify", + "status": 400 }, "operator": "doesNotReject" } }, { "type": "test", - "title": "SpruceID should verify OpSecId", + "title": "Trential should verify Procivis One Core", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12643,12 +17057,12 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:aa444abc-9ba4-4d68-aca7-3e439bc3d96d", + "_testId": "urn:uuid:b036b71f-8534-476e-af5b-669c1771d67c", "cell": { - "rowId": "OpSecId", - "columnId": "SpruceID" + "rowId": "Procivis One Core", + "columnId": "Trential" }, "_events": {}, "_eventsCount": 1, @@ -12656,12 +17070,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19030, + "_idleStart": 49347, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 22, + "duration": 538, "state": "failed", "err": { "generatedMessage": false, @@ -12672,37 +17086,37 @@ "options": { "credentials": "same-origin", "headers": {}, - "body": "{\"verifiableCredential\":{\"type\":[\"VerifiableCredential\"],\"id\":\"urn:uuid:4bc1e0d0-a054-4e36-a489-6a290aac0e08\",\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"issuer\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#160318\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"160318\",\"statusListCredential\":\"https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e\"},\"proof\":[{\"type\":\"DataIntegrityProof\",\"cryptosuite\":\"eddsa-jcs-2022\",\"proofPurpose\":\"assertionMethod\",\"verificationMethod\":\"did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu\",\"proofValue\":\"z28vXsy1wR8W1WeTVfaN7iCNo4zZirGv3zyx1qqycRxSKqM1pHLKoBqAFbxDMWJ85W2Vwvb1fxnjCvtvWfDnzC651\"}]}}", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"validFrom\":\"2024-11-17T05:04:41.75367347Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListIndex\":\"0\",\"statusListCredential\":\"https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:41.753682849Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL\"}}}", "method": "POST", "json": { "verifiableCredential": { - "type": [ - "VerifiableCredential" - ], - "id": "urn:uuid:4bc1e0d0-a054-4e36-a489-6a290aac0e08", "@context": [ "https://www.w3.org/ns/credentials/v2" ], - "issuer": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", + "id": "urn:uuid:f4f45d46-cf73-4344-9808-7bac1fa6d9e8", + "type": [ + "VerifiableCredential" + ], + "issuer": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "validFrom": "2024-11-17T05:04:41.75367347Z", "credentialSubject": { "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" }, "credentialStatus": { - "id": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e#160318", + "id": "urn:uuid:5f977a0b-5795-4578-85c0-37cb340e8554", "type": "BitstringStatusListEntry", "statusPurpose": "revocation", - "statusListIndex": "160318", - "statusListCredential": "https://vc.opsec.id/credentials/status/e223eb30-a508-5bfb-912f-2eafe04ab13e" + "statusListIndex": "0", + "statusListCredential": "https://canivc.core.dev.procivis-one.com/ssi/revocation/v1/list/50642bb1-8291-4601-8940-18db982edccd" }, - "proof": [ - { - "type": "DataIntegrityProof", - "cryptosuite": "eddsa-jcs-2022", - "proofPurpose": "assertionMethod", - "verificationMethod": "did:key:z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu#z6MkwMaVueYP9pYSTKxtRSMzgzsSkpx1wrhwdq8MEHFxtHdu", - "proofValue": "z28vXsy1wR8W1WeTVfaN7iCNo4zZirGv3zyx1qqycRxSKqM1pHLKoBqAFbxDMWJ85W2Vwvb1fxnjCvtvWfDnzC651" - } - ] + "proof": { + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:41.753682849Z", + "cryptosuite": "eddsa-rdfc-2022", + "verificationMethod": "did:key:zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE#zDnaebiWvYW4sEFcncp6sLRmGPio1tVaXSDBwnYELtyvwpnYE", + "proofPurpose": "assertionMethod", + "proofValue": "z5HeUHpnabxknC7qnfPWsrqJAUphLv24MK2jLNT6XD5mSPUeAijtqJFNaGHvCBPw6hwAY7edXEhoUxipe3HTtGJwL" + } } }, "agent": { @@ -12771,8 +17185,11 @@ "duplex": "half" }, "name": "HTTPError", - "requestUrl": "https://vc.spruceid.xyz/credentials/verify", - "status": 400 + "requestUrl": "https://api.trential.dev/indisi-vc/verifier/credentials/verify", + "status": 400, + "data": { + "message": "invalid proof" + } }, "operator": "doesNotReject" } @@ -12780,11 +17197,11 @@ ] }, { - "id": "Procivis One Core", + "id": "SpruceID", "cells": [ { "type": "test", - "title": "Digital Bazaar should verify Procivis One Core", + "title": "Digital Bazaar should verify SpruceID", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12795,11 +17212,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:95caed2f-6aac-4457-a861-c41d1c047ee4", + "_testId": "urn:uuid:483f3ec9-eda5-441b-83fb-f00671f6adf3", "cell": { - "rowId": "Procivis One Core", + "rowId": "SpruceID", "columnId": "Digital Bazaar" }, "_events": {}, @@ -12808,18 +17225,18 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19052, + "_idleStart": 49886, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 58, + "duration": 59, "state": "passed", "speed": "medium" }, { "type": "test", - "title": "OpSecId should verify Procivis One Core", + "title": "OpSecId should verify SpruceID", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -12830,11 +17247,11 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:0a99a5cd-c35a-4362-93d9-651ef99c65da", + "_testId": "urn:uuid:9e777740-f48b-4d9a-ab17-ee2bfc5b66ad", "cell": { - "rowId": "Procivis One Core", + "rowId": "SpruceID", "columnId": "OpSecId" }, "_events": {}, @@ -12843,12 +17260,162 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19111, + "_idleStart": 49945, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 26, + "state": "failed", + "err": { + "generatedMessage": false, + "code": "ERR_ASSERTION", + "actual": { + "response": {}, + "request": {}, + "options": { + "credentials": "same-origin", + "headers": {}, + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"urn:uuid:d9dc11e4-4bc0-446c-bd2d-5dfc8f66ecf0\",\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"issuer\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"credentialStatus\":{\"id\":\"https://vc.spruceid.xyz/urn%3Auuid%3Ad9dc11e4%2D4bc0%2D446c%2Dbd2d%2D5dfc8f66ecf0\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://vc.spruceid.xyz/statuslist\",\"statusListIndex\":\"1\",\"statusPurpose\":\"revocation\"},\"proof\":{\"type\":\"Ed25519Signature2020\",\"verificationMethod\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3\"}}}", + "method": "POST", + "json": { + "verifiableCredential": { + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://w3id.org/security/suites/ed25519-2020/v1" + ], + "id": "urn:uuid:d9dc11e4-4bc0-446c-bd2d-5dfc8f66ecf0", + "type": [ + "VerifiableCredential" + ], + "credentialSubject": { + "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" + }, + "issuer": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", + "credentialStatus": { + "id": "https://vc.spruceid.xyz/urn%3Auuid%3Ad9dc11e4%2D4bc0%2D446c%2Dbd2d%2D5dfc8f66ecf0", + "type": "BitstringStatusListEntry", + "statusListCredential": "https://vc.spruceid.xyz/statuslist", + "statusListIndex": "1", + "statusPurpose": "revocation" + }, + "proof": { + "type": "Ed25519Signature2020", + "verificationMethod": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", + "proofPurpose": "assertionMethod", + "proofValue": "z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3" + } + } + }, + "agent": { + "_events": {}, + "_eventsCount": 2, + "defaultPort": 443, + "protocol": "https:", + "options": { + "rejectUnauthorized": false, + "noDelay": true, + "path": null + }, + "requests": {}, + "sockets": {}, + "freeSockets": {}, + "keepAliveMsecs": 1000, + "keepAlive": false, + "maxSockets": null, + "maxFreeSockets": 256, + "scheduling": "lifo", + "maxTotalSockets": null, + "totalSocketCount": 0, + "maxCachedSessions": 100, + "_sessionCache": { + "map": {}, + "list": [] + } + }, + "hooks": { + "beforeRequest": [], + "beforeRetry": [], + "beforeError": [], + "afterResponse": [] + }, + "prefixUrl": "", + "retry": { + "limit": 2, + "methods": [ + "get", + "put", + "head", + "delete", + "options", + "trace" + ], + "statusCodes": [ + 408, + 413, + 429, + 500, + 502, + 503, + 504 + ], + "afterStatusCodes": [ + 413, + 429, + 503 + ], + "maxRetryAfter": null, + "backoffLimit": null + }, + "throwHttpErrors": true, + "timeout": 10000, + "signal": {}, + "duplex": "half" + }, + "name": "HTTPError", + "requestUrl": "https://vc.opsec.id/credentials/verify", + "status": 422, + "data": { + "status_code": 10422, + "message": "[{'type': 'list_type', 'loc': ('body', 'verifiableCredential', 'proof', 'list[DataIntegrityProof]'), 'msg': 'Input should be a valid list', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3'}}, {'type': 'missing', 'loc': ('body', 'verifiableCredential', 'proof', 'DataIntegrityProof', 'cryptosuite'), 'msg': 'Field required', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3'}}]", + "data": null + } + }, + "operator": "doesNotReject" + } + }, + { + "type": "test", + "title": "Procivis One Core should verify SpruceID", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:2ffe045d-67c4-4ed4-8929-34074e46c949", + "cell": { + "rowId": "SpruceID", + "columnId": "Procivis One Core" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 49972, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 26, + "duration": 115, "state": "failed", "err": { "generatedMessage": false, @@ -12859,37 +17426,39 @@ "options": { "credentials": "same-origin", "headers": {}, - "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"id\":\"urn:uuid:d2e21187-863e-4683-8d31-8bd8a3b76ec9\",\"type\":[\"VerifiableCredential\"],\"issuer\":\"did:key:z6Mkpkxjp7478bTmfccmSdzJAXSwbN98KbQbgi4DNWJDwQNn\",\"validFrom\":\"2024-11-10T05:04:11.90913994Z\",\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"credentialStatus\":{\"id\":\"urn:uuid:1af6f44b-ff58-43ae-b4d0-4682dcecab55\",\"type\":\"BitstringStatusListEntry\",\"statusPurpose\":\"revocation\",\"statusListCredential\":\"https://core.test.procivis-one.com/ssi/revocation/v1/list/e9290b9b-1dec-42f3-b29b-df6be72a3d8e\",\"statusListIndex\":\"0\"},\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-10T05:04:11.909159864Z\",\"cryptosuite\":\"eddsa-rdfc-2022\",\"verificationMethod\":\"did:key:z6Mkpkxjp7478bTmfccmSdzJAXSwbN98KbQbgi4DNWJDwQNn#z6Mkpkxjp7478bTmfccmSdzJAXSwbN98KbQbgi4DNWJDwQNn\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z2JbcMrXoQwuCCgNWY6NdiyaTDU3Pqi64zQni4sDSnZWm8T9QPZ6aXPnTbkDs8RUtkZNt4ojugYLbVVQzkhpTmuL4\"}}}", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"urn:uuid:d9dc11e4-4bc0-446c-bd2d-5dfc8f66ecf0\",\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"issuer\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"credentialStatus\":{\"id\":\"https://vc.spruceid.xyz/urn%3Auuid%3Ad9dc11e4%2D4bc0%2D446c%2Dbd2d%2D5dfc8f66ecf0\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://vc.spruceid.xyz/statuslist\",\"statusListIndex\":\"1\",\"statusPurpose\":\"revocation\"},\"proof\":{\"type\":\"Ed25519Signature2020\",\"verificationMethod\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", "method": "POST", "json": { "verifiableCredential": { "@context": [ - "https://www.w3.org/ns/credentials/v2" + "https://www.w3.org/ns/credentials/v2", + "https://w3id.org/security/suites/ed25519-2020/v1" ], - "id": "urn:uuid:d2e21187-863e-4683-8d31-8bd8a3b76ec9", + "id": "urn:uuid:d9dc11e4-4bc0-446c-bd2d-5dfc8f66ecf0", "type": [ "VerifiableCredential" ], - "issuer": "did:key:z6Mkpkxjp7478bTmfccmSdzJAXSwbN98KbQbgi4DNWJDwQNn", - "validFrom": "2024-11-10T05:04:11.90913994Z", "credentialSubject": { "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" }, + "issuer": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", "credentialStatus": { - "id": "urn:uuid:1af6f44b-ff58-43ae-b4d0-4682dcecab55", + "id": "https://vc.spruceid.xyz/urn%3Auuid%3Ad9dc11e4%2D4bc0%2D446c%2Dbd2d%2D5dfc8f66ecf0", "type": "BitstringStatusListEntry", - "statusPurpose": "revocation", - "statusListCredential": "https://core.test.procivis-one.com/ssi/revocation/v1/list/e9290b9b-1dec-42f3-b29b-df6be72a3d8e", - "statusListIndex": "0" + "statusListCredential": "https://vc.spruceid.xyz/statuslist", + "statusListIndex": "1", + "statusPurpose": "revocation" }, "proof": { - "type": "DataIntegrityProof", - "created": "2024-11-10T05:04:11.909159864Z", - "cryptosuite": "eddsa-rdfc-2022", - "verificationMethod": "did:key:z6Mkpkxjp7478bTmfccmSdzJAXSwbN98KbQbgi4DNWJDwQNn#z6Mkpkxjp7478bTmfccmSdzJAXSwbN98KbQbgi4DNWJDwQNn", + "type": "Ed25519Signature2020", + "verificationMethod": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", "proofPurpose": "assertionMethod", - "proofValue": "z2JbcMrXoQwuCCgNWY6NdiyaTDU3Pqi64zQni4sDSnZWm8T9QPZ6aXPnTbkDs8RUtkZNt4ojugYLbVVQzkhpTmuL4" + "proofValue": "z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3" } + }, + "options": { + "checks": [], + "credentialFormat": "JSON_LD_CLASSIC" } }, "agent": { @@ -12958,10 +17527,16 @@ "duplex": "half" }, "name": "HTTPError", - "requestUrl": "https://vc.opsec.id/credentials/verify", + "requestUrl": "https://canivc.core.dev.procivis-one.com/vc-api/credentials/verify", "status": 400, "data": { - "detail": "Unsupported cryptosuite." + "errors": [ + { + "status": 400, + "title": "Failed to deserialize the JSON body into the target type", + "detail": null + } + ] } }, "operator": "doesNotReject" @@ -12969,82 +17544,7 @@ }, { "type": "test", - "title": "Procivis One Core should verify Procivis One Core", - "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "_testId": "urn:uuid:49b25593-fa68-49a0-b9f7-0a80ce18a02b", - "cell": { - "rowId": "Procivis One Core", - "columnId": "Procivis One Core" - }, - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 19138, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 136, - "state": "passed", - "speed": "slow" - }, - { - "type": "test", - "title": "SpruceID should verify Procivis One Core", - "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", - "async": 0, - "sync": true, - "_timeout": 15000, - "_slow": 75, - "_retries": -1, - "timedOut": false, - "_currentRetry": 0, - "pending": false, - "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", - "ctx": null, - "_testId": "urn:uuid:4b7b643a-eda0-45cb-9e64-347789aea0c0", - "cell": { - "rowId": "Procivis One Core", - "columnId": "SpruceID" - }, - "_events": {}, - "_eventsCount": 1, - "timer": { - "_idleTimeout": -1, - "_idlePrev": null, - "_idleNext": null, - "_idleStart": 19274, - "_onTimeout": null, - "_repeat": null, - "_destroyed": true - }, - "duration": 29, - "state": "passed", - "speed": "fast" - } - ] - }, - { - "id": "SpruceID", - "cells": [ - { - "type": "test", - "title": "Digital Bazaar should verify SpruceID", + "title": "SpruceID should verify SpruceID", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -13055,12 +17555,12 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:75c8cade-8c0a-4961-a1a6-971f747b9fc0", + "_testId": "urn:uuid:bf30686c-7a92-40d3-8727-ab2af124a4fe", "cell": { "rowId": "SpruceID", - "columnId": "Digital Bazaar" + "columnId": "SpruceID" }, "_events": {}, "_eventsCount": 1, @@ -13068,7 +17568,7 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19304, + "_idleStart": 50088, "_onTimeout": null, "_repeat": null, "_destroyed": true @@ -13079,7 +17579,7 @@ }, { "type": "test", - "title": "OpSecId should verify SpruceID", + "title": "Trential should verify SpruceID", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -13090,12 +17590,12 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:f39ba60a-6112-47be-b919-9b35feedd0ad", + "_testId": "urn:uuid:7b5afcc5-3d0c-4313-a7d5-e84a1b72b5b2", "cell": { "rowId": "SpruceID", - "columnId": "OpSecId" + "columnId": "Trential" }, "_events": {}, "_eventsCount": 1, @@ -13103,12 +17603,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19353, + "_idleStart": 50137, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 29, + "duration": 239, "state": "failed", "err": { "generatedMessage": false, @@ -13119,7 +17619,7 @@ "options": { "credentials": "same-origin", "headers": {}, - "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"urn:uuid:64b089fa-549b-40f4-b1c0-f22c72aa6bc6\",\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"issuer\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"credentialStatus\":{\"id\":\"https://vc.spruceid.xyz/urn%3Auuid%3A64b089fa%2D549b%2D40f4%2Db1c0%2Df22c72aa6bc6\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://vc.spruceid.xyz/statuslist\",\"statusListIndex\":\"1\",\"statusPurpose\":\"revocation\"},\"proof\":{\"type\":\"Ed25519Signature2020\",\"verificationMethod\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko\"}}}", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"urn:uuid:d9dc11e4-4bc0-446c-bd2d-5dfc8f66ecf0\",\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"issuer\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"credentialStatus\":{\"id\":\"https://vc.spruceid.xyz/urn%3Auuid%3Ad9dc11e4%2D4bc0%2D446c%2Dbd2d%2D5dfc8f66ecf0\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://vc.spruceid.xyz/statuslist\",\"statusListIndex\":\"1\",\"statusPurpose\":\"revocation\"},\"proof\":{\"type\":\"Ed25519Signature2020\",\"verificationMethod\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3\"}}}", "method": "POST", "json": { "verifiableCredential": { @@ -13127,7 +17627,7 @@ "https://www.w3.org/ns/credentials/v2", "https://w3id.org/security/suites/ed25519-2020/v1" ], - "id": "urn:uuid:64b089fa-549b-40f4-b1c0-f22c72aa6bc6", + "id": "urn:uuid:d9dc11e4-4bc0-446c-bd2d-5dfc8f66ecf0", "type": [ "VerifiableCredential" ], @@ -13136,7 +17636,7 @@ }, "issuer": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", "credentialStatus": { - "id": "https://vc.spruceid.xyz/urn%3Auuid%3A64b089fa%2D549b%2D40f4%2Db1c0%2Df22c72aa6bc6", + "id": "https://vc.spruceid.xyz/urn%3Auuid%3Ad9dc11e4%2D4bc0%2D446c%2Dbd2d%2D5dfc8f66ecf0", "type": "BitstringStatusListEntry", "statusListCredential": "https://vc.spruceid.xyz/statuslist", "statusListIndex": "1", @@ -13146,7 +17646,7 @@ "type": "Ed25519Signature2020", "verificationMethod": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", "proofPurpose": "assertionMethod", - "proofValue": "z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko" + "proofValue": "z3wjbPqnzeuiUR1T4DargpHGir86VbgUfCnCMD3AHtBgtk2BEJ15zpEJWzAGuW4Re6pLvLcCGHXv4jw23QpezofM3" } } }, @@ -13216,20 +17716,58 @@ "duplex": "half" }, "name": "HTTPError", - "requestUrl": "https://vc.opsec.id/credentials/verify", - "status": 422, + "requestUrl": "https://api.trential.dev/indisi-vc/verifier/credentials/verify", + "status": 400, "data": { - "status_code": 10422, - "message": "[{'type': 'list_type', 'loc': ('body', 'verifiableCredential', 'proof', 'list[DataIntegrityProof]'), 'msg': 'Input should be a valid list', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko'}}, {'type': 'missing', 'loc': ('body', 'verifiableCredential', 'proof', 'DataIntegrityProof', 'cryptosuite'), 'msg': 'Field required', 'input': {'type': 'Ed25519Signature2020', 'verificationMethod': 'did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD', 'proofPurpose': 'assertionMethod', 'proofValue': 'z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko'}}]", - "data": null + "message": "unsupported cryptosuite" } }, "operator": "doesNotReject" } + } + ] + }, + { + "id": "Trential", + "cells": [ + { + "type": "test", + "title": "Digital Bazaar should verify Trential", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:900c658e-07f2-44ed-b181-3be436b8e7fb", + "cell": { + "rowId": "Trential", + "columnId": "Digital Bazaar" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 50377, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 61, + "state": "passed", + "speed": "medium" }, { "type": "test", - "title": "Procivis One Core should verify SpruceID", + "title": "OpSecId should verify Trential", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -13240,12 +17778,12 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:c1ec6ab9-ef96-420e-bd06-1b3dcb244cb9", + "_testId": "urn:uuid:c574cb48-ecd6-4237-8a9b-bd2c66a9ef95", "cell": { - "rowId": "SpruceID", - "columnId": "Procivis One Core" + "rowId": "Trential", + "columnId": "OpSecId" }, "_events": {}, "_eventsCount": 1, @@ -13253,12 +17791,12 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19382, + "_idleStart": 50439, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 100, + "duration": 25, "state": "failed", "err": { "generatedMessage": false, @@ -13269,39 +17807,43 @@ "options": { "credentials": "same-origin", "headers": {}, - "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"urn:uuid:64b089fa-549b-40f4-b1c0-f22c72aa6bc6\",\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"issuer\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"credentialStatus\":{\"id\":\"https://vc.spruceid.xyz/urn%3Auuid%3A64b089fa%2D549b%2D40f4%2Db1c0%2Df22c72aa6bc6\",\"type\":\"BitstringStatusListEntry\",\"statusListCredential\":\"https://vc.spruceid.xyz/statuslist\",\"statusListIndex\":\"1\",\"statusPurpose\":\"revocation\"},\"proof\":{\"type\":\"Ed25519Signature2020\",\"verificationMethod\":\"did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko\"}},\"options\":{\"checks\":[],\"credentialFormat\":\"JSON_LD_CLASSIC\"}}", + "body": "{\"verifiableCredential\":{\"@context\":[\"https://www.w3.org/ns/credentials/v2\"],\"type\":[\"VerifiableCredential\"],\"credentialSubject\":{\"id\":\"did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r\"},\"id\":\"urn:uuid:386a0721-6f8a-4ef0-9d4f-9edb7a194ebf\",\"issuer\":\"did:key:zDnaeUEETxo2R8EKb8SP8arohj2uzYe459FDXo6sGfpHs5tAb\",\"credentialStatus\":[{\"type\":\"BitstringStatusListEntry\",\"statusListIndex\":\"27\",\"statusListCredential\":\"https://mhhigzgqu6.ap-south-1.awsapprunner.com/status-list/revocation/0\",\"statusPurpose\":\"revocation\"},{\"type\":\"BitstringStatusListEntry\",\"statusListIndex\":\"27\",\"statusListCredential\":\"https://mhhigzgqu6.ap-south-1.awsapprunner.com/status-list/suspension/0\",\"statusPurpose\":\"suspension\"}],\"proof\":{\"type\":\"DataIntegrityProof\",\"created\":\"2024-11-17T05:04:42Z\",\"verificationMethod\":\"did:key:zDnaeUEETxo2R8EKb8SP8arohj2uzYe459FDXo6sGfpHs5tAb#zDnaeUEETxo2R8EKb8SP8arohj2uzYe459FDXo6sGfpHs5tAb\",\"cryptosuite\":\"ecdsa-rdfc-2019\",\"proofPurpose\":\"assertionMethod\",\"proofValue\":\"z4Meqh4vTdgfik1XNihKhRvRdiQ7XnWt8RPfS8fsuGhe5hMc8xCtWe1oHH58CKBVaBsfw1Er8QooFf3SRUoFWWobv\"}}}", "method": "POST", "json": { "verifiableCredential": { "@context": [ - "https://www.w3.org/ns/credentials/v2", - "https://w3id.org/security/suites/ed25519-2020/v1" + "https://www.w3.org/ns/credentials/v2" ], - "id": "urn:uuid:64b089fa-549b-40f4-b1c0-f22c72aa6bc6", "type": [ "VerifiableCredential" ], "credentialSubject": { "id": "did:key:z6MkhTNL7i2etLerDK8Acz5t528giE5KA4p75T6ka1E1D74r" }, - "issuer": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", - "credentialStatus": { - "id": "https://vc.spruceid.xyz/urn%3Auuid%3A64b089fa%2D549b%2D40f4%2Db1c0%2Df22c72aa6bc6", - "type": "BitstringStatusListEntry", - "statusListCredential": "https://vc.spruceid.xyz/statuslist", - "statusListIndex": "1", - "statusPurpose": "revocation" - }, + "id": "urn:uuid:386a0721-6f8a-4ef0-9d4f-9edb7a194ebf", + "issuer": "did:key:zDnaeUEETxo2R8EKb8SP8arohj2uzYe459FDXo6sGfpHs5tAb", + "credentialStatus": [ + { + "type": "BitstringStatusListEntry", + "statusListIndex": "27", + "statusListCredential": "https://mhhigzgqu6.ap-south-1.awsapprunner.com/status-list/revocation/0", + "statusPurpose": "revocation" + }, + { + "type": "BitstringStatusListEntry", + "statusListIndex": "27", + "statusListCredential": "https://mhhigzgqu6.ap-south-1.awsapprunner.com/status-list/suspension/0", + "statusPurpose": "suspension" + } + ], "proof": { - "type": "Ed25519Signature2020", - "verificationMethod": "did:key:z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD#z6MkgYAGxLBSXa6Ygk1PnUbK2F7zya8juE9nfsZhrvY7c9GD", + "type": "DataIntegrityProof", + "created": "2024-11-17T05:04:42Z", + "verificationMethod": "did:key:zDnaeUEETxo2R8EKb8SP8arohj2uzYe459FDXo6sGfpHs5tAb#zDnaeUEETxo2R8EKb8SP8arohj2uzYe459FDXo6sGfpHs5tAb", + "cryptosuite": "ecdsa-rdfc-2019", "proofPurpose": "assertionMethod", - "proofValue": "z5CymEFPZXRoLoB3Evrb3N8YawPo7JNzbF6EPBtUpf6CZP3BkzaSgh6yKMCzxhRcdb8eUj8KKKSro7KAUoQNFG8ko" + "proofValue": "z4Meqh4vTdgfik1XNihKhRvRdiQ7XnWt8RPfS8fsuGhe5hMc8xCtWe1oHH58CKBVaBsfw1Er8QooFf3SRUoFWWobv" } - }, - "options": { - "checks": [], - "credentialFormat": "JSON_LD_CLASSIC" } }, "agent": { @@ -13370,16 +17912,10 @@ "duplex": "half" }, "name": "HTTPError", - "requestUrl": "https://core.test.procivis-one.com/vc-api/credentials/verify", + "requestUrl": "https://vc.opsec.id/credentials/verify", "status": 400, "data": { - "errors": [ - { - "status": 400, - "title": "Failed to deserialize the JSON body into the target type", - "detail": null - } - ] + "detail": "Unsupported cryptosuite." } }, "operator": "doesNotReject" @@ -13387,7 +17923,7 @@ }, { "type": "test", - "title": "SpruceID should verify SpruceID", + "title": "Procivis One Core should verify Trential", "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", "async": 0, "sync": true, @@ -13398,11 +17934,46 @@ "_currentRetry": 0, "pending": false, "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", - "parent": "p0FmP6YIhtojluwcRx5Vd", + "parent": "48yk9daTHViJlb5K-5-Rl", "ctx": null, - "_testId": "urn:uuid:3e231a50-d045-4109-93b0-2df8f1453e80", + "_testId": "urn:uuid:2187fb79-8fbe-4378-b022-cd1a80913337", "cell": { - "rowId": "SpruceID", + "rowId": "Trential", + "columnId": "Procivis One Core" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 50465, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 151, + "state": "passed", + "speed": "slow" + }, + { + "type": "test", + "title": "SpruceID should verify Trential", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:06885117-947d-4c29-ade6-550794db89c2", + "cell": { + "rowId": "Trential", "columnId": "SpruceID" }, "_events": {}, @@ -13411,14 +17982,67 @@ "_idleTimeout": -1, "_idlePrev": null, "_idleNext": null, - "_idleStart": 19483, + "_idleStart": 50616, "_onTimeout": null, "_repeat": null, "_destroyed": true }, - "duration": 27, + "duration": 55, "state": "passed", - "speed": "fast" + "speed": "medium" + }, + { + "type": "test", + "title": "Trential should verify Trential", + "body": "async function() {\n this.test.cell = {rowId: issuerName, columnId: verifierName};\n await assert.doesNotReject(endpoints.verify(issuedVc));\n }", + "async": 0, + "sync": true, + "_timeout": 15000, + "_slow": 75, + "_retries": -1, + "timedOut": false, + "_currentRetry": 0, + "pending": false, + "file": "/home/runner/work/vc-bitstring-status-list-test-suite/vc-bitstring-status-list-test-suite/tests/30-interop.js", + "parent": "48yk9daTHViJlb5K-5-Rl", + "ctx": null, + "_testId": "urn:uuid:7c75b0c3-ed92-488b-a4e3-292cfebbe2c8", + "cell": { + "rowId": "Trential", + "columnId": "Trential" + }, + "_events": {}, + "_eventsCount": 1, + "timer": { + "_idleTimeout": -1, + "_idlePrev": null, + "_idleNext": null, + "_idleStart": 50670, + "_onTimeout": null, + "_repeat": null, + "_destroyed": true + }, + "duration": 988, + "state": "passed", + "speed": "slow" + } + ] + } + ] + }, + { + "title": "At Risk", + "rowLabel": "Statement", + "columnLabel": "Reason", + "columns": [ + "At least 2 passing implementations" + ], + "rows": [ + { + "id": "Procivis One Core", + "cells": [ + { + "state": "failed" } ] } @@ -13460,11 +18084,11 @@ }, "title": "VC Bitstring Status List Interoperability Report 1.0", "stats": [ - "Tests passed 80/88 90%", - "Tests failed 8/88 10%", - "Failures 8", - "Tests skipped 52", - "Total tests 140" + "Tests passed 97/114 85%", + "Tests failed 17/114 15%", + "Failures 17", + "Tests skipped 66", + "Total tests 180" ], "statusMarkLabels": { "pending": {