Skip to content

Commit

Permalink
feat(ref-imp): #781 - add expected document
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacJChen committed Sep 22, 2020
1 parent 6921d8b commit c690412
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 2 deletions.
18 changes: 18 additions & 0 deletions tests/core/CreateOperation.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,24 @@ import SidetreeError from '../../lib/common/SidetreeError';

describe('CreateOperation', async () => {
describe('parseJcsObject', () => {
it('should leave delta as empty if it is not valid', () => {
const operationObject = {
type: 'create',
suffix_data: {
delta_hash: 'something',
recovery_commitment: 'something'
},
delta: 'this is not a valid delta'
}

spyOn(CreateOperation as any, 'validateSuffixData').and.callFake(()=> {
//do nothing
})

const result = CreateOperation.parseJcsObject(operationObject, Buffer.from('something'));
expect(result.delta).toBeUndefined();
});

it('should throw sidetree error if object contains more or less than 3 properties', () => {
const twoProperties = { one: 1, two: 2 };
const fourProperties = { one: 1, two: 2, three: 3, four: 4 };
Expand Down
3 changes: 2 additions & 1 deletion tests/core/RequestHandler.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import * as crypto from 'crypto';

import * as createFixture from '../fixtures/create/create.json';
import * as deactivateFixture from '../fixtures/deactivate/deactivate.json';
import * as longFormResultingDocument from '../fixtures/longFormDid/resultingDocument.json';
import * as recoverFixture from '../fixtures/recover/recover.json';
import * as updateFixture from '../fixtures/update/update.json';

Expand Down Expand Up @@ -139,9 +140,9 @@ describe('RequestHandler', () => {

it('should resolve long form did from test vectors correctly', async () => {
const longFormFixture = fs.readFileSync('./tests/fixtures/longFormDid/longFormDid.txt', 'utf8');
// const longFormFixture = 'did:sidetree:EiAhWlyxTdyM9XLFcWNJvz_kkbnklMfD5XiQKpBAIOnPuw:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljX2tleXMiOlt7ImlkIjoiYW55U2lnbmluZ0tleUlkIiwiandrIjp7ImNydiI6InNlY3AyNTZrMSIsImt0eSI6IkVDIiwieCI6IkVZanU4c3h5YVRvb2o4ekFzTG9fblZOSncxaHJobkhRUVRwT0hzd2g1X0UiLCJ5IjoiWG9jOFVVQUFnUWs4a196dEhlSEpGUlFySGFxb2F2Z3RyR3Fzb3cwdFh2dyJ9LCJwdXJwb3NlIjpbImF1dGgiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XSwic2VydmljZV9lbmRwb2ludHMiOlt7ImVuZHBvaW50IjoiYW55RW5kcG9pbnQiLCJpZCI6ImFueVNlcnZpY2VFbmRwb2ludElkIiwidHlwZSI6ImFueVR5cGUifV19fV0sInVwZGF0ZV9jb21taXRtZW50IjoiRWlEZnBOSmNDOWJKc3A0Q0t1Uk5Vd0JCYUxFckdwc25DUTlBTTl5c2ZqTUhQZyJ9LCJzdWZmaXhfZGF0YSI6eyJkZWx0YV9oYXNoIjoiRWlBT3BOeXNJQndpSHpKQ1NCcjhuLUR4Sjl6bG1YUFNjeGFaTW05aW5fQzVjdyIsInJlY292ZXJ5X2NvbW1pdG1lbnQiOiJFaUR4UUJhajJsUDIyYkNjQ2w0NHhLUVJ2Y21ib1h6c1ZBaTFyQnI3SGozVERRIn19'
const response = await requestHandler.handleResolveRequest(longFormFixture);
expect(response.status).toEqual(ResponseStatus.Succeeded);
expect(response).toEqual(longFormResultingDocument as any);
})

it('should process create operation from test vectors correctly', async () => {
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/longFormDid/longFormDid.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
did:sidetree:EiAhWlyxTdyM9XLFcWNJvz_kkbnklMfD5XiQKpBAIOnPuw:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljX2tleXMiOlt7ImlkIjoiYW55U2lnbmluZ0tleUlkIiwiandrIjp7ImNydiI6InNlY3AyNTZrMSIsImt0eSI6IkVDIiwieCI6IkVZanU4c3h5YVRvb2o4ekFzTG9fblZOSncxaHJobkhRUVRwT0hzd2g1X0UiLCJ5IjoiWG9jOFVVQUFnUWs4a196dEhlSEpGUlFySGFxb2F2Z3RyR3Fzb3cwdFh2dyJ9LCJwdXJwb3NlIjpbImF1dGgiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XSwic2VydmljZV9lbmRwb2ludHMiOlt7ImVuZHBvaW50IjoiYW55RW5kcG9pbnQiLCJpZCI6ImFueVNlcnZpY2VFbmRwb2ludElkIiwidHlwZSI6ImFueVR5cGUifV19fV0sInVwZGF0ZV9jb21taXRtZW50IjoiRWlEZnBOSmNDOWJKc3A0Q0t1Uk5Vd0JCYUxFckdwc25DUTlBTTl5c2ZqTUhQZyJ9LCJzdWZmaXhfZGF0YSI6eyJkZWx0YV9oYXNoIjoiRWlBT3BOeXNJQndpSHpKQ1NCcjhuLUR4Sjl6bG1YUFNjeGFaTW05aW5fQzVjdyIsInJlY292ZXJ5X2NvbW1pdG1lbnQiOiJFaUR4UUJhajJsUDIyYkNjQ2w0NHhLUVJ2Y21ib1h6c1ZBaTFyQnI3SGozVERRIn19
did:sidetree:EiDahaOGH-liLLdDtTxEAdc8i-cfCz-WUcQdRJheMVNn3A:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljX2tleXMiOlt7ImlkIjoiYW55U2lnbmluZ0tleUlkIiwiandrIjp7ImNydiI6InNlY3AyNTZrMSIsImt0eSI6IkVDIiwieCI6Ikg2MXZxQW1fLVRDM09yRlNxUHJFZlNmZzQyMk5SOFFIUHFyMG1MeDY0RE0iLCJ5IjoiczBXbldZODdKcmlCamJ5b1kzRmRVbWlmSzdKSlJMUjY1R3RQdGhYZXl1YyJ9LCJwdXJwb3NlIjpbImF1dGgiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XSwic2VydmljZV9lbmRwb2ludHMiOlt7ImVuZHBvaW50IjoiaHR0cDovL2FueS5lbmRwb2ludCIsImlkIjoiYW55U2VydmljZUVuZHBvaW50SWQiLCJ0eXBlIjoiYW55VHlwZSJ9XX19XSwidXBkYXRlX2NvbW1pdG1lbnQiOiJFaUJNV0UySkZhRmlwUGR0aGNGaVFlay1TWFRNaTVJV0lGWEFOOGhLRkN5TEp3In0sInN1ZmZpeF9kYXRhIjp7ImRlbHRhX2hhc2giOiJFaUJQNmdBT3h4M1lPTDhQWlBaRzNtZWRGZ2RxV1NEYXlWWDN1MVcyZi1JUEVRIiwicmVjb3ZlcnlfY29tbWl0bWVudCI6IkVpQmc4b3F2VTBacV9INUJvcW1XZjBJcmhldFE5MXdYYzVmRFBwSWpCOXdXNXcifX0
40 changes: 40 additions & 0 deletions tests/fixtures/longFormDid/resultingDocument.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"status": "succeeded",
"body": {
"@context": "https://www.w3.org/ns/did-resolution/v1",
"didDocument": {
"id": "did:sidetree:EiDahaOGH-liLLdDtTxEAdc8i-cfCz-WUcQdRJheMVNn3A:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljX2tleXMiOlt7ImlkIjoiYW55U2lnbmluZ0tleUlkIiwiandrIjp7ImNydiI6InNlY3AyNTZrMSIsImt0eSI6IkVDIiwieCI6Ikg2MXZxQW1fLVRDM09yRlNxUHJFZlNmZzQyMk5SOFFIUHFyMG1MeDY0RE0iLCJ5IjoiczBXbldZODdKcmlCamJ5b1kzRmRVbWlmSzdKSlJMUjY1R3RQdGhYZXl1YyJ9LCJwdXJwb3NlIjpbImF1dGgiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XSwic2VydmljZV9lbmRwb2ludHMiOlt7ImVuZHBvaW50IjoiaHR0cDovL2FueS5lbmRwb2ludCIsImlkIjoiYW55U2VydmljZUVuZHBvaW50SWQiLCJ0eXBlIjoiYW55VHlwZSJ9XX19XSwidXBkYXRlX2NvbW1pdG1lbnQiOiJFaUJNV0UySkZhRmlwUGR0aGNGaVFlay1TWFRNaTVJV0lGWEFOOGhLRkN5TEp3In0sInN1ZmZpeF9kYXRhIjp7ImRlbHRhX2hhc2giOiJFaUJQNmdBT3h4M1lPTDhQWlBaRzNtZWRGZ2RxV1NEYXlWWDN1MVcyZi1JUEVRIiwicmVjb3ZlcnlfY29tbWl0bWVudCI6IkVpQmc4b3F2VTBacV9INUJvcW1XZjBJcmhldFE5MXdYYzVmRFBwSWpCOXdXNXcifX0",
"@context": [
"https://www.w3.org/ns/did/v1",
{
"@base": "did:sidetree:EiDahaOGH-liLLdDtTxEAdc8i-cfCz-WUcQdRJheMVNn3A:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljX2tleXMiOlt7ImlkIjoiYW55U2lnbmluZ0tleUlkIiwiandrIjp7ImNydiI6InNlY3AyNTZrMSIsImt0eSI6IkVDIiwieCI6Ikg2MXZxQW1fLVRDM09yRlNxUHJFZlNmZzQyMk5SOFFIUHFyMG1MeDY0RE0iLCJ5IjoiczBXbldZODdKcmlCamJ5b1kzRmRVbWlmSzdKSlJMUjY1R3RQdGhYZXl1YyJ9LCJwdXJwb3NlIjpbImF1dGgiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XSwic2VydmljZV9lbmRwb2ludHMiOlt7ImVuZHBvaW50IjoiaHR0cDovL2FueS5lbmRwb2ludCIsImlkIjoiYW55U2VydmljZUVuZHBvaW50SWQiLCJ0eXBlIjoiYW55VHlwZSJ9XX19XSwidXBkYXRlX2NvbW1pdG1lbnQiOiJFaUJNV0UySkZhRmlwUGR0aGNGaVFlay1TWFRNaTVJV0lGWEFOOGhLRkN5TEp3In0sInN1ZmZpeF9kYXRhIjp7ImRlbHRhX2hhc2giOiJFaUJQNmdBT3h4M1lPTDhQWlBaRzNtZWRGZ2RxV1NEYXlWWDN1MVcyZi1JUEVRIiwicmVjb3ZlcnlfY29tbWl0bWVudCI6IkVpQmc4b3F2VTBacV9INUJvcW1XZjBJcmhldFE5MXdYYzVmRFBwSWpCOXdXNXcifX0"
}
],
"service": [
{
"id": "#anyServiceEndpointId",
"type": "anyType",
"serviceEndpoint": "http://any.endpoint"
}
],
"authentication": [
{
"id": "#anySigningKeyId",
"controller": "",
"type": "EcdsaSecp256k1VerificationKey2019",
"publicKeyJwk": {
"crv": "secp256k1",
"kty": "EC",
"x": "H61vqAm_-TC3OrFSqPrEfSfg422NR8QHPqr0mLx64DM",
"y": "s0WnWY87JriBjbyoY3FdUmifK7JJRLR65GtPthXeyuc"
}
}
]
},
"methodMetadata": {
"published": false,
"recoveryCommitment": "EiBg8oqvU0Zq_H5BoqmWf0IrhetQ91wXc5fDPpIjB9wW5w",
"updateCommitment": "EiBMWE2JFaFipPdthcFiQek-SXTMi5IWIFXAN8hKFCyLJw"
}
}
}

0 comments on commit c690412

Please sign in to comment.