Skip to content

Commit

Permalink
Merge pull request #23 from dmelosantos/issues/CCS-517_errors_with_cr…
Browse files Browse the repository at this point in the history
…ypto_webpack

Any call to credential-commons-js inside the CW gives errors with Ran…
  • Loading branch information
jpsantosbh authored Nov 1, 2018
2 parents 4e1e793 + 37f3eba commit e8d0e7b
Show file tree
Hide file tree
Showing 11 changed files with 346 additions and 68 deletions.
3 changes: 2 additions & 1 deletion __test__/SecureRandom.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ const SecureRandom = require('../src/SecureRandom');

describe('Secure Random Tests', () => {
it('should generate an random word', () => {
const random = SecureRandom.wordWith(16);
const secureRandom = new SecureRandom();
const random = secureRandom.wordWith(16);
expect(random).toBeDefined();
expect(random).toHaveLength(16);
});
Expand Down
3 changes: 2 additions & 1 deletion __test__/SecureRandomMock.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const SecureRandom = require('../src/SecureRandom');
jest.mock('crypto');
describe('Secure Random Tests', () => {
it('should fail since we are mocking the crypto class', () => {
expect(() => SecureRandom.wordWith(16)).toThrow();
const secureRandom = new SecureRandom();
expect(() => secureRandom.wordWith(16)).toThrow();
});
});
17 changes: 16 additions & 1 deletion __test__/creds/VerifiableCredential.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ describe('Unit tests for Verifiable Credentials', () => {
});
});
});

test('Filter claims', () => {
const civIdentityName = {
givenNames: 'Joao',
Expand All @@ -137,6 +138,21 @@ describe('Unit tests for Verifiable Credentials', () => {
expect(filtered.claim.identity.name.familyNames).not.toBeDefined();
});

// TODO enable me when CCS-514 is done
test.skip('Filter claims of composite UCA', () => {
const phoneNumber = {
country: 'BRZ',
countryCode: '+55',
number: '31995383635',
lineType: 'mobile',
};

const phoneNumberUca = new UCA('cvc:Contact:phoneNumber', phoneNumber);
const phoneNumberCredential = new VC('cvc:Credential:PhoneNumber', 'Civic-Identity-Verifier', null, [phoneNumberUca], '1');

const filtered = phoneNumberCredential.filter(['cvc:Phone:countryCode']);
expect(filtered.claim.contact.phoneNumber.countryCode).toBeDefined();
});

test('cred verifyProofs', () => {
const credJSon = require('./fixtures/Cred1.json'); // eslint-disable-line
Expand Down Expand Up @@ -541,5 +557,4 @@ describe('Unit tests for Verifiable Credentials', () => {
expect(properties).toContain('contact.email.domain.name');
expect(properties).toContain('contact.email.domain.tld');
});

});
3 changes: 1 addition & 2 deletions __test__/creds/VerifiableCredentialSchema.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ describe('VerifiableCredentials SchemaGenerator validation', () => {
expect(jsonSchema.properties.proof.type).toBe('object');
});

// Skiped while dmelosantos is working on this
test.skip('Should validate the generated VC against it\'s generated schema looping the definitions', async (done) => {
test('Should validate the generated VC against it\'s generated schema looping the definitions', async (done) => {
const validateSchemaJestStep = async (credentialDefinition) => {
const ucaArray = [];
credentialDefinition.depends.forEach((ucaDefinitionIdentifier) => {
Expand Down
241 changes: 241 additions & 0 deletions __test__/creds/fixtures/CredentialAddress.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
{
"id": "fc60be8f-ea01-4881-a6e9-b4ae9a63e55e",
"issuer": "jest:test:9ff1e700-dd46-11e8-958d-e5793374641e",
"issuanceDate": "2018-10-31T19:53:23.568Z",
"identifier": "cvc:Credential:PhoneNumber",
"expirationDate": null,
"version": "1",
"type": [
"Credential",
"cvc:Credential:PhoneNumber"
],
"claim": {
"contact": {
"phoneNumber": {
"country": "WTYqO3zRU0",
"countryCode": "nmQfVTPkEM",
"extension": "lo6CoXdj2N",
"lineType": "zkdkjiX1eP",
"number": "h7CrPkWRoA"
}
}
},
"proof": {
"type": "CivicMerkleProof2018",
"merkleRoot": "77ca9a60724d007173136465fa6bdcaa27d12a1801b1d1e8ab974552344d2e39",
"anchor": {
"subject": {
"pub": "xpub:dummy",
"label": "cvc:Credential:PhoneNumber",
"data": "77ca9a60724d007173136465fa6bdcaa27d12a1801b1d1e8ab974552344d2e39",
"signature": "signed:dummy"
},
"walletId": "none",
"cosigners": [
{
"pub": "xpub:dummy"
},
{
"pub": "xpub:dummy"
}
],
"authority": {
"pub": "xpub:dummy",
"path": "/"
},
"coin": "dummycoin",
"tx": {},
"network": "dummynet",
"type": "permanent",
"civicAsPrimary": false,
"schema": "dummy-20180201",
"value": {}
},
"leaves": [
{
"identifier": "cvc:Contact:phoneNumber",
"value": "urn:country:ca3bce5c4b3256888c8fa9937d3025516b49b422112bd99cdaf9be66087984e9:WTYqO3zRU0|urn:countryCode:81a228f771ef72126b22d6d17f08222f4241efedf5f13fbb635d8568686a0b6f:nmQfVTPkEM|urn:extension:42cab0927b370d5ee047152aaf52c902f80d7de312bdeca6e4c4e3d4c6603abc:lo6CoXdj2N|urn:lineType:0a71c9a31246f2f6ecfd76a7c71f34a6f741cef3afb2466cc88017bdc16d95a7:zkdkjiX1eP|urn:number:53a8ba743f83a16e533d5572c24dad080820baef958e80c39899838ba1cdd674:h7CrPkWRoA|",
"claimPath": "contact.phoneNumber",
"targetHash": "cc8f00eaf13969a880fe5d57204b509dd7cc087b99019af1c6e678d4fe072499",
"node": [
{
"right": "082eeee25eae17f13a74b4d0801d182f9e490ddd70969d1b1a23a709fe87a184"
},
{
"right": "cd0013b49b3d52aa5c6bf6ac854e77fcac1eab934d4c388ae5837f70172ee91e"
},
{
"right": "a1d95e970de891aa6d227426d071a28f3440ee0a3e99f2a76c1a49193cd999f8"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Phone:countryCode",
"value": "urn:countryCode:81a228f771ef72126b22d6d17f08222f4241efedf5f13fbb635d8568686a0b6f:nmQfVTPkEM",
"claimPath": "phone.countryCode",
"targetHash": "082eeee25eae17f13a74b4d0801d182f9e490ddd70969d1b1a23a709fe87a184",
"node": [
{
"left": "cc8f00eaf13969a880fe5d57204b509dd7cc087b99019af1c6e678d4fe072499"
},
{
"right": "cd0013b49b3d52aa5c6bf6ac854e77fcac1eab934d4c388ae5837f70172ee91e"
},
{
"right": "a1d95e970de891aa6d227426d071a28f3440ee0a3e99f2a76c1a49193cd999f8"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Phone:number",
"value": "urn:number:53a8ba743f83a16e533d5572c24dad080820baef958e80c39899838ba1cdd674:h7CrPkWRoA",
"claimPath": "phone.number",
"targetHash": "bf6403908a22f3e8c5d477498d6828411801280128289ecd8680ea8496a92d4d",
"node": [
{
"right": "1b52b0600694813ce1992fafe6d106d10ecef752721f7c79aae6db6be8eede54"
},
{
"left": "a9cb50eddf122581028336ac675bd83d681eaeda754aced0630e8c765914a656"
},
{
"right": "a1d95e970de891aa6d227426d071a28f3440ee0a3e99f2a76c1a49193cd999f8"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Phone:extension",
"value": "urn:extension:42cab0927b370d5ee047152aaf52c902f80d7de312bdeca6e4c4e3d4c6603abc:lo6CoXdj2N",
"claimPath": "phone.extension",
"targetHash": "1b52b0600694813ce1992fafe6d106d10ecef752721f7c79aae6db6be8eede54",
"node": [
{
"left": "bf6403908a22f3e8c5d477498d6828411801280128289ecd8680ea8496a92d4d"
},
{
"left": "a9cb50eddf122581028336ac675bd83d681eaeda754aced0630e8c765914a656"
},
{
"right": "a1d95e970de891aa6d227426d071a28f3440ee0a3e99f2a76c1a49193cd999f8"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Phone:lineType",
"value": "urn:lineType:0a71c9a31246f2f6ecfd76a7c71f34a6f741cef3afb2466cc88017bdc16d95a7:zkdkjiX1eP",
"claimPath": "phone.lineType",
"targetHash": "90891289e7dd6c36dd1fc38187fce024899bdd1c20bf857ff1fe439b2bd18754",
"node": [
{
"right": "059d1df65ffdc8a1c0cff86412f716745531466cdd1c9c2c1264364bba325e01"
},
{
"right": "7d167b4360413c5016d7bdf6b080767275e925e07c18f0a16729b882ef245ace"
},
{
"left": "0d4f56aae6f29bab5d8f83fb595673bdc629d5d0973e78b53ad43a1bb1dd9515"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Meta:issuer",
"value": "urn:issuer:5bd06324dc242c17e811f56c8d449b4c8f966503811abc1f5a0ff35b876fee2d:jest:test:9ff1e700-dd46-11e8-958d-e5793374641e",
"claimPath": "meta.issuer",
"targetHash": "059d1df65ffdc8a1c0cff86412f716745531466cdd1c9c2c1264364bba325e01",
"node": [
{
"left": "90891289e7dd6c36dd1fc38187fce024899bdd1c20bf857ff1fe439b2bd18754"
},
{
"right": "7d167b4360413c5016d7bdf6b080767275e925e07c18f0a16729b882ef245ace"
},
{
"left": "0d4f56aae6f29bab5d8f83fb595673bdc629d5d0973e78b53ad43a1bb1dd9515"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Meta:issuanceDate",
"value": "urn:issuanceDate:b8b3000ae66079b85aaadb9adfe6658ae09452f77fb8eefeddf96c40692c8bd7:2018-10-31T19:53:23.568Z",
"claimPath": "meta.issuanceDate",
"targetHash": "93c37224a3cd5e6dd47a98e55f42854ee5b3b9fda63f60b8076c57a59bd84f0b",
"node": [
{
"right": "292ed3b6a33a406ae43bf0d43d159a04a5417e1a244017c174194889898de1e1"
},
{
"left": "785d97b0b9fe7809bf55803fc3ded62180e9b01fac15a488ac84e6238eb466f3"
},
{
"left": "0d4f56aae6f29bab5d8f83fb595673bdc629d5d0973e78b53ad43a1bb1dd9515"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
},
{
"identifier": "cvc:Meta:expirationDate",
"value": "urn:expirationDate:a43b2ec05674437f2e440be5c72cfcee323fe544c88e212f4bc6c463a8c35dda:null",
"claimPath": "meta.expirationDate",
"targetHash": "292ed3b6a33a406ae43bf0d43d159a04a5417e1a244017c174194889898de1e1",
"node": [
{
"left": "93c37224a3cd5e6dd47a98e55f42854ee5b3b9fda63f60b8076c57a59bd84f0b"
},
{
"left": "785d97b0b9fe7809bf55803fc3ded62180e9b01fac15a488ac84e6238eb466f3"
},
{
"left": "0d4f56aae6f29bab5d8f83fb595673bdc629d5d0973e78b53ad43a1bb1dd9515"
},
{
"right": "ac9e75c2d832091f3b18e974dc224ed5ef970673ed679ff931c1f4a33db3f929"
},
{
"right": "3b2728ce00cdc42c8c524574ab20a8ea1e78efa805bba6e988c10e0c13f77d3f"
}
]
}
]
}
}
Loading

0 comments on commit e8d0e7b

Please sign in to comment.