The scheme MUST be the value `did` |
✓
|
✓
|
✓
|
✓
|
MUST raise `invalidDid` error if scheme is not `did` |
✓
|
✓
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:67:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
The method MUST be the value `key` |
✓
|
✓
|
✓
|
✓
|
MUST raise `methodNotSupported` error if method is not `key` |
✓
|
❌
{
"name": "AssertionError",
"message": "expected 'invalidDid' to equal 'methodNotSupported'",
"stack": "AssertionError: expected 'invalidDid' to equal 'methodNotSupported'\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:85:31)\n at shouldHaveDidResolutionError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:38:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:93:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:90:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
The version MUST be convertible to a positive integer value. |
✓
|
✓
|
✓
|
✓
|
MUST raise `invalidDid` if version is not convertible to a positive integer value. |
❌
{
"name": "AssertionError",
"message": "expected 'methodNotSupported' to equal 'invalidDid'",
"stack": "AssertionError: expected 'methodNotSupported' to equal 'invalidDid'\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:85:31)\n at shouldHaveDidResolutionError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:38:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:115:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:112:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
The multibaseValue MUST be a string and begin with the letter `z` |
✓
|
✓
|
✓
|
✓
|
MUST raise `invalidDid` if the multibaseValue does not begin with the letter `z`. |
❌
{
"name": "AssertionError",
"message": "expected 'methodNotSupported' to equal 'invalidDid'",
"stack": "AssertionError: expected 'methodNotSupported' to equal 'invalidDid'\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:85:31)\n at shouldHaveDidResolutionError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:38:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:141:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:138:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
If "didDocument.id" is not a valid DID, an `invalidDid` error MUST be raised |
❌
{
"name": "AssertionError",
"message": "Expected a didDocument: expected null to exist",
"stack": "AssertionError: Expected a didDocument: expected null to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:161:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected a didDocument: expected null to exist",
"stack": "AssertionError: Expected a didDocument: expected null to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:161:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected resolution of did:key:@ to return a response: expected undefined to exist",
"stack": "AssertionError: Expected resolution of did:key:@ to return a response: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:154:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
If the byte length of rawPublicKeyBytes does not match the expected public key length for the associated multicodecValue, an `invalidPublicKeyLength` error MUST be raised. |
❌
{
"name": "AssertionError",
"message": "expected 'methodNotSupported' to equal 'invalidPublicKeyLength'",
"stack": "AssertionError: expected 'methodNotSupported' to equal 'invalidPublicKeyLength'\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:85:31)\n at shouldHaveDidResolutionError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:38:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:174:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "expected 'invalidDid' to equal 'invalidPublicKeyLength'",
"stack": "AssertionError: expected 'invalidDid' to equal 'invalidPublicKeyLength'\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:85:31)\n at shouldHaveDidResolutionError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:38:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:174:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:172:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
If verificationMethod.id is not a valid DID URL, an `invalidDidUrl` error MUST be raised. |
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:198:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "expected { detail: 'Not Found' } to have property 'didDocument'",
"stack": "AssertionError: expected { detail: 'Not Found' } to have property 'didDocument'\n at shouldBeDidResolverResponse (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:22:20)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:199:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:198:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
If publicKeyFormat is not known to the implementation, an `unsupportedPublicKeyType` error MUST be raised. |
❌
{
"name": "AssertionError",
"message": "Expected no response: expected Response{ data: { …(4) }, …(3) } to not exist",
"stack": "AssertionError: Expected no response: expected Response{ data: { …(4) }, …(3) } to not exist\n at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:32:14)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:212:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "expected 'invalidDid' to equal 'unsupportedPublicKeyType'",
"stack": "AssertionError: expected 'invalidDid' to equal 'unsupportedPublicKeyType'\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:85:31)\n at shouldHaveDidResolutionError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:38:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:213:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected no response: expected Response{ data: { …(5) }, …(3) } to not exist",
"stack": "AssertionError: Expected no response: expected Response{ data: { …(5) }, …(3) } to not exist\n at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:32:14)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:212:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
For Signature Verification Methods, if options.enableExperimentalPublicKeyTypes is set to false and publicKeyFormat is not Multikey, JsonWebKey2020, or Ed25519VerificationKey2020, an `invalidPublicKeyType` error MUST be raised. |
❌
{
"name": "AssertionError",
"message": "Expected property didDereferencingMetadata to exist: expected undefined to exist",
"stack": "AssertionError: Expected property didDereferencingMetadata to exist: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:81:10)\n at shouldHaveDidDereferencingError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:42:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:230:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected property didDereferencingMetadata to exist: expected undefined to exist",
"stack": "AssertionError: Expected property didDereferencingMetadata to exist: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:81:10)\n at shouldHaveDidDereferencingError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:42:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:230:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected no response: expected Response{ …(3) } to not exist",
"stack": "AssertionError: Expected no response: expected Response{ …(3) } to not exist\n at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:32:14)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:229:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
For Encryption Verification Methods, if options.enableExperimentalPublicKeyTypes is set to false and publicKeyFormat is not Multikey, JsonWebKey2020, or X25519KeyAgreementKey2020, an `invalidPublicKeyType` error MUST be raised. |
❌
{
"name": "AssertionError",
"message": "Expected property didDereferencingMetadata to exist: expected undefined to exist",
"stack": "AssertionError: Expected property didDereferencingMetadata to exist: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:81:10)\n at shouldHaveDidDereferencingError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:42:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:247:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected property didDereferencingMetadata to exist: expected undefined to exist",
"stack": "AssertionError: Expected property didDereferencingMetadata to exist: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at _shouldHaveMetadataError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:81:10)\n at shouldHaveDidDereferencingError (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:42:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:247:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected an error with data: expected undefined to exist",
"stack": "AssertionError: Expected an error with data: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldErrorWithData (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:34:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:246:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
If verificationMethod.controller is not a valid DID, an `invalidDid` error MUST be raised. |
❌
{
"name": "AssertionError",
"message": "Expected a result: expected undefined to exist",
"stack": "AssertionError: Expected a result: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:258:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
✓
|
❌
{
"name": "AssertionError",
"message": "Expected a result: expected undefined to exist",
"stack": "AssertionError: Expected a result: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:258:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|
❌
{
"name": "AssertionError",
"message": "Expected DID Resolver response to have data.: expected undefined to exist",
"stack": "AssertionError: Expected DID Resolver response to have data.: expected undefined to exist\n at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34)\n at shouldBeDidResolverResponse (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/assertions.js:17:10)\n at Context. (file:///home/runner/work/did-key-test-suite/did-key-test-suite/tests/10-create.js:260:9)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
}
|