@@ -28,10 +28,11 @@ import { TestHasher } from './hasher';
28
28
import { poseidon } from '@iden3/js-crypto' ;
29
29
import { normalizeIPFSNodeURL } from '../src/loaders/jsonld-loader' ;
30
30
import customSchemaJSON from './testdata/custom-schema.json' ;
31
+ import { cacheLoader } from './cache' ;
31
32
32
33
describe ( 'tests merkelization' , ( ) => {
33
34
it ( 'multigraph TestEntriesFromRDF' , async ( ) => {
34
- const dataset = await RDFDataset . fromDocument ( JSON . parse ( multigraphDoc2 ) ) ;
35
+ const dataset = await RDFDataset . fromDocument ( JSON . parse ( multigraphDoc2 ) , cacheLoader ( ) ) ;
35
36
36
37
const entries = await RDFEntry . fromDataSet ( dataset , DEFAULT_HASHER ) ;
37
38
@@ -90,7 +91,7 @@ describe('tests merkelization', () => {
90
91
} ) ;
91
92
92
93
it ( 'TestEntriesFromRDF' , async ( ) => {
93
- const dataSet = await RDFDataset . fromDocument ( JSON . parse ( testDocument ) ) ;
94
+ const dataSet = await RDFDataset . fromDocument ( JSON . parse ( testDocument ) , cacheLoader ( ) ) ;
94
95
const entries = await RDFEntry . fromDataSet ( dataSet , DEFAULT_HASHER ) ;
95
96
const wantEntries = [
96
97
new RDFEntry (
@@ -371,7 +372,7 @@ describe('tests merkelization', () => {
371
372
} ) ;
372
373
373
374
it ( 'test proof' , async ( ) => {
374
- const dataSet = await RDFDataset . fromDocument ( JSON . parse ( testDocument ) ) ;
375
+ const dataSet = await RDFDataset . fromDocument ( JSON . parse ( testDocument ) , cacheLoader ( ) ) ;
375
376
const entries = await RDFEntry . fromDataSet ( dataSet , DEFAULT_HASHER ) ;
376
377
377
378
const mt = new Merkletree ( new InMemoryDB ( str2Bytes ( '' ) ) , true , 40 ) ;
@@ -401,7 +402,7 @@ describe('tests merkelization', () => {
401
402
} ) ;
402
403
403
404
it ( 'TestProofInteger' , async ( ) => {
404
- const dataSet = await RDFDataset . fromDocument ( JSON . parse ( testDocument ) ) ;
405
+ const dataSet = await RDFDataset . fromDocument ( JSON . parse ( testDocument ) , cacheLoader ( ) ) ;
405
406
const entries = await RDFEntry . fromDataSet ( dataSet , DEFAULT_HASHER ) ;
406
407
const mt = new Merkletree ( new InMemoryDB ( str2Bytes ( '' ) ) , true , 40 ) ;
407
408
@@ -446,7 +447,7 @@ describe('tests merkelization', () => {
446
447
447
448
describe ( 'TestMerklizer_Proof' , ( ) => {
448
449
it ( 'test Merklizer with path as a Path' , async ( ) => {
449
- const mz = await Merklizer . merklizeJSONLD ( testDocument ) ;
450
+ const mz = await Merklizer . merklizeJSONLD ( testDocument , { documentLoader : cacheLoader ( ) } ) ;
450
451
const path = new Path ( [
451
452
'https://www.w3.org/2018/credentials#credentialSubject' ,
452
453
1 ,
@@ -475,8 +476,10 @@ describe('tests merkelization', () => {
475
476
} ) ;
476
477
477
478
it ( 'test Merklizer with path as shortcut string' , async ( ) => {
478
- const mz = await Merklizer . merklizeJSONLD ( testDocument ) ;
479
- const path = await mz . resolveDocPath ( 'credentialSubject.1.birthCountry' ) ;
479
+ const mz = await Merklizer . merklizeJSONLD ( testDocument , { documentLoader : cacheLoader ( ) } ) ;
480
+ const path = await mz . resolveDocPath ( 'credentialSubject.1.birthCountry' , {
481
+ documentLoader : cacheLoader ( )
482
+ } ) ;
480
483
481
484
const { proof, value } = await mz . proof ( path ) ;
482
485
@@ -587,8 +590,10 @@ describe('tests merkelization', () => {
587
590
} ) ;
588
591
589
592
it ( 'TestExistenceProof' , async ( ) => {
590
- const mz = await Merklizer . merklizeJSONLD ( doc1 ) ;
591
- const path = await mz . resolveDocPath ( 'credentialSubject.birthday' ) ;
593
+ const mz = await Merklizer . merklizeJSONLD ( doc1 , { documentLoader : cacheLoader ( ) } ) ;
594
+ const path = await mz . resolveDocPath ( 'credentialSubject.birthday' , {
595
+ documentLoader : cacheLoader ( )
596
+ } ) ;
592
597
593
598
const wantPath = new Path ( [
594
599
'https://www.w3.org/2018/credentials#credentialSubject' ,
@@ -605,7 +610,7 @@ describe('tests merkelization', () => {
605
610
} ) ;
606
611
607
612
it ( 'TestArrayMerklization' , async ( ) => {
608
- const mz = await Merklizer . merklizeJSONLD ( arr_test ) ;
613
+ const mz = await Merklizer . merklizeJSONLD ( arr_test , { documentLoader : cacheLoader ( ) } ) ;
609
614
610
615
const expectedPath = new Path ( [
611
616
'uuid:urn:87caf7a2-fee3-11ed-be56-0242ac120002#countries' ,
@@ -634,7 +639,9 @@ describe('tests merkelization', () => {
634
639
635
640
it ( 'TestPathFromDocument' , async ( ) => {
636
641
const inp = 'credentialSubject.1.birthDate' ;
637
- const result = await Path . fromDocument ( null , testDocument , inp ) ;
642
+ const result = await Path . fromDocument ( null , testDocument , inp , {
643
+ documentLoader : cacheLoader ( )
644
+ } ) ;
638
645
639
646
const want = new Path ( [
640
647
'https://www.w3.org/2018/credentials#credentialSubject' ,
@@ -647,7 +654,9 @@ describe('tests merkelization', () => {
647
654
648
655
it ( 'TestPathFromDocument - path to nested field' , async ( ) => {
649
656
const inp = 'objectField.customNestedField' ;
650
- const result = await Path . fromDocument ( null , nestedFieldDocument , inp ) ;
657
+ const result = await Path . fromDocument ( null , nestedFieldDocument , inp , {
658
+ documentLoader : cacheLoader ( )
659
+ } ) ;
651
660
652
661
const want = new Path ( [
653
662
'urn:uuid:87caf7a2-fee3-11ed-be56-0242ac120001#objectField' ,
@@ -658,9 +667,11 @@ describe('tests merkelization', () => {
658
667
} ) ;
659
668
660
669
it ( 'TestMerklizer_RawValue' , async ( ) => {
661
- const mz = await Merklizer . merklizeJSONLD ( multigraphDoc ) ;
670
+ const mz = await Merklizer . merklizeJSONLD ( multigraphDoc , { documentLoader : cacheLoader ( ) } ) ;
662
671
663
- const path = await Path . fromDocument ( null , multigraphDoc , 'verifiableCredential.birthday' ) ;
672
+ const path = await Path . fromDocument ( null , multigraphDoc , 'verifiableCredential.birthday' , {
673
+ documentLoader : cacheLoader ( )
674
+ } ) ;
664
675
665
676
const val = await mz . rawValue ( path ) ;
666
677
expect ( val ) . toEqual ( 19960425 ) ;
@@ -1003,9 +1014,12 @@ describe('tests merkelization', () => {
1003
1014
}
1004
1015
}` ;
1005
1016
1006
- const mz = await Merklizer . merklizeJSONLD ( testPresentationDoc , { hasher : new TestHasher ( ) } ) ;
1017
+ const mz = await Merklizer . merklizeJSONLD ( testPresentationDoc , {
1018
+ hasher : new TestHasher ( ) ,
1019
+ documentLoader : cacheLoader ( )
1020
+ } ) ;
1007
1021
1008
- const p = await mz . resolveDocPath ( 'credentialSubject' ) ;
1022
+ const p = await mz . resolveDocPath ( 'credentialSubject' , { documentLoader : cacheLoader ( ) } ) ;
1009
1023
1010
1024
const { proof, value } = await mz . proof ( p ) ;
1011
1025
@@ -1036,7 +1050,9 @@ describe('tests merkelization', () => {
1036
1050
}
1037
1051
} ;
1038
1052
1039
- const mz = await Merklizer . merklizeJSONLD ( JSON . stringify ( testPresentationDoc ) ) ;
1053
+ const mz = await Merklizer . merklizeJSONLD ( JSON . stringify ( testPresentationDoc ) , {
1054
+ documentLoader : cacheLoader ( )
1055
+ } ) ;
1040
1056
1041
1057
const testPresentationDoc2 = {
1042
1058
id : 'uuid:presentation:12312' ,
@@ -1054,12 +1070,14 @@ describe('tests merkelization', () => {
1054
1070
}
1055
1071
} ;
1056
1072
1057
- const mz2 = await Merklizer . merklizeJSONLD ( JSON . stringify ( testPresentationDoc2 ) ) ;
1073
+ const mz2 = await Merklizer . merklizeJSONLD ( JSON . stringify ( testPresentationDoc2 ) , {
1074
+ documentLoader : cacheLoader ( )
1075
+ } ) ;
1058
1076
expect ( ( await mz . root ( ) ) . toString ( ) ) . toEqual ( ( await mz2 . root ( ) ) . toString ( ) ) ;
1059
1077
} ) ;
1060
1078
1061
1079
it ( 'xsd:dateTime' , async ( ) => {
1062
- const mz = await Merklizer . merklizeJSONLD ( testDocument ) ;
1080
+ const mz = await Merklizer . merklizeJSONLD ( testDocument , { documentLoader : cacheLoader ( ) } ) ;
1063
1081
1064
1082
const path = new Path ( [
1065
1083
'https://www.w3.org/2018/credentials#credentialSubject' ,
@@ -1072,7 +1090,7 @@ describe('tests merkelization', () => {
1072
1090
} ) ;
1073
1091
1074
1092
it ( 'empty datatype' , async ( ) => {
1075
- const mz = await Merklizer . merklizeJSONLD ( testDocument ) ;
1093
+ const mz = await Merklizer . merklizeJSONLD ( testDocument , { documentLoader : cacheLoader ( ) } ) ;
1076
1094
1077
1095
const path = new Path ( [
1078
1096
'https://www.w3.org/2018/credentials#credentialSubject' ,
@@ -1115,7 +1133,7 @@ describe('tests merkelization', () => {
1115
1133
] ;
1116
1134
1117
1135
for ( const tc of testCases ) {
1118
- const result = await Merklizer . merklizeJSONLD ( tc . doc ) ;
1136
+ const result = await Merklizer . merklizeJSONLD ( tc . doc , { documentLoader : cacheLoader ( ) } ) ;
1119
1137
const root = await result . root ( ) ;
1120
1138
expect ( root . bigInt ( ) . toString ( ) ) . toEqual ( tc . wantRoot . toString ( ) ) ;
1121
1139
}
@@ -1135,18 +1153,25 @@ describe('merklize document with ipfs context', () => {
1135
1153
} ) ;
1136
1154
1137
1155
it ( 'ipfsNodeURL is set' , async ( ) => {
1138
- const mz : Merklizer = await Merklizer . merklizeJSONLD ( ipfsDocument , {
1139
- ipfsNodeURL
1140
- } ) ;
1156
+ const opts = {
1157
+ documentLoader : cacheLoader ( {
1158
+ ipfsNodeURL
1159
+ } )
1160
+ } ;
1161
+
1162
+ const mz : Merklizer = await Merklizer . merklizeJSONLD ( ipfsDocument , opts ) ;
1141
1163
expect ( ( await mz . root ( ) ) . bigInt ( ) . toString ( ) ) . toEqual (
1142
1164
'19309047812100087948241250053335720576191969395309912987389452441269932261840'
1143
1165
) ;
1144
1166
} ) ;
1145
1167
1146
1168
it ( 'ipfsGatewayURL is set' , async ( ) => {
1147
- const mz : Merklizer = await Merklizer . merklizeJSONLD ( ipfsDocument , {
1148
- ipfsNodeURL
1149
- } ) ;
1169
+ const opts = {
1170
+ documentLoader : cacheLoader ( {
1171
+ ipfsNodeURL
1172
+ } )
1173
+ } ;
1174
+ const mz : Merklizer = await Merklizer . merklizeJSONLD ( ipfsDocument , opts ) ;
1150
1175
expect ( ( await mz . root ( ) ) . bigInt ( ) . toString ( ) ) . toEqual (
1151
1176
'19309047812100087948241250053335720576191969395309912987389452441269932261840'
1152
1177
) ;
@@ -1160,7 +1185,9 @@ describe('merklize document with ipfs context', () => {
1160
1185
1161
1186
it ( 'TestExistenceProofIPFS' , async ( ) => {
1162
1187
const opts = {
1163
- ipfsGatewayURL : 'https://ipfs.io'
1188
+ documentLoader : cacheLoader ( {
1189
+ ipfsGatewayURL : 'https://ipfs.io'
1190
+ } )
1164
1191
} ;
1165
1192
const mz = await Merklizer . merklizeJSONLD ( testDocumentIPFS , opts ) ;
1166
1193
const path = await mz . resolveDocPath ( 'credentialSubject.testNewTypeInt' , opts ) ;
0 commit comments