11import indy from 'indy-sdk' ;
22import type { SchemaId } from 'indy-sdk' ;
33import { Agent , InboundTransporter , OutboundTransporter } from '..' ;
4- import path from 'path' ;
5- import { DidInfo } from '../wallet/Wallet' ;
64import { DID_IDENTIFIER_REGEX , VERKEY_REGEX , isFullVerkey , isAbbreviatedVerkey } from '../utils/did' ;
5+ import { genesisPath , sleep } from './helpers' ;
76import { InitConfig } from '../types' ;
87import testLogger from './logger' ;
98
10- const genesisPath = process . env . GENESIS_TXN_PATH
11- ? path . resolve ( process . env . GENESIS_TXN_PATH )
12- : path . join ( __dirname , '../../../network/genesis/local-genesis.txn' ) ;
13-
149const faberConfig : InitConfig = {
1510 label : 'Faber' ,
1611 walletConfig : { id : 'faber' } ,
@@ -25,7 +20,6 @@ const faberConfig: InitConfig = {
2520describe ( 'ledger' , ( ) => {
2621 let faberAgent : Agent ;
2722 let schemaId : SchemaId ;
28- let faberAgentPublicDid : DidInfo | undefined ;
2923
3024 beforeAll ( async ( ) => {
3125 faberAgent = new Agent ( faberConfig , new DummyInboundTransporter ( ) , new DummyOutboundTransporter ( ) ) ;
@@ -37,10 +31,10 @@ describe('ledger', () => {
3731 } ) ;
3832
3933 test ( `initialization of agent's public DID` , async ( ) => {
40- faberAgentPublicDid = faberAgent . publicDid ;
41- testLogger . test ( 'faberAgentPublicDid' , faberAgentPublicDid ! ) ;
34+ const publicDid = faberAgent . publicDid ;
35+ testLogger . test ( 'faberAgentPublicDid' , publicDid ) ;
4236
43- expect ( faberAgentPublicDid ) . toEqual (
37+ expect ( publicDid ) . toEqual (
4438 expect . objectContaining ( {
4539 did : expect . stringMatching ( DID_IDENTIFIER_REGEX ) ,
4640 verkey : expect . stringMatching ( VERKEY_REGEX ) ,
@@ -49,30 +43,30 @@ describe('ledger', () => {
4943 } ) ;
5044
5145 test ( 'get public DID from ledger' , async ( ) => {
52- if ( ! faberAgentPublicDid ) {
46+ if ( ! faberAgent . publicDid ) {
5347 throw new Error ( 'Agent does not have public did.' ) ;
5448 }
5549
56- const result = await faberAgent . ledger . getPublicDid ( faberAgentPublicDid . did ) ;
50+ const result = await faberAgent . ledger . getPublicDid ( faberAgent . publicDid . did ) ;
5751
58- let { verkey } = faberAgentPublicDid ;
52+ let { verkey } = faberAgent . publicDid ;
5953 // Agent’s public did stored locally in Indy wallet and created from public did seed during
6054 // its initialization always returns full verkey. Therefore we need to align that here.
6155 if ( isFullVerkey ( verkey ) && isAbbreviatedVerkey ( result . verkey ) ) {
62- verkey = await indy . abbreviateVerkey ( faberAgentPublicDid . did , verkey ) ;
56+ verkey = await indy . abbreviateVerkey ( faberAgent . publicDid . did , verkey ) ;
6357 }
6458
6559 expect ( result ) . toEqual (
6660 expect . objectContaining ( {
67- did : faberAgentPublicDid . did ,
61+ did : faberAgent . publicDid . did ,
6862 verkey : verkey ,
6963 role : '101' ,
7064 } )
7165 ) ;
7266 } ) ;
7367
7468 test ( 'register schema on ledger' , async ( ) => {
75- if ( ! faberAgentPublicDid ) {
69+ if ( ! faberAgent . publicDid ) {
7670 throw new Error ( 'Agent does not have public did.' ) ;
7771 }
7872
@@ -87,14 +81,16 @@ describe('ledger', () => {
8781 schemaId = schemaResponse [ 0 ] ;
8882 const schema = schemaResponse [ 1 ] ;
8983
84+ await sleep ( 2000 ) ;
85+
9086 const ledgerSchema = await faberAgent . ledger . getSchema ( schemaId ) ;
9187
92- expect ( schemaId ) . toBe ( `${ faberAgentPublicDid . did } :2:${ schemaName } :1.0` ) ;
88+ expect ( schemaId ) . toBe ( `${ faberAgent . publicDid . did } :2:${ schemaName } :1.0` ) ;
9389
9490 expect ( ledgerSchema ) . toEqual (
9591 expect . objectContaining ( {
9692 attrNames : expect . arrayContaining ( schemaTemplate . attributes ) ,
97- id : `${ faberAgentPublicDid . did } :2:${ schemaName } :1.0` ,
93+ id : `${ faberAgent . publicDid . did } :2:${ schemaName } :1.0` ,
9894 name : schemaName ,
9995 seqNo : schema . seqNo ,
10096 ver : schemaTemplate . version ,
@@ -104,7 +100,7 @@ describe('ledger', () => {
104100 } ) ;
105101
106102 test ( 'register definition on ledger' , async ( ) => {
107- if ( ! faberAgentPublicDid ) {
103+ if ( ! faberAgent . publicDid ) {
108104 throw new Error ( 'Agent does not have public did.' ) ;
109105 }
110106 const schema = await faberAgent . ledger . getSchema ( schemaId ) ;
@@ -116,9 +112,12 @@ describe('ledger', () => {
116112 } ;
117113
118114 const [ credDefId ] = await faberAgent . ledger . registerCredentialDefinition ( credentialDefinitionTemplate ) ;
115+
116+ await sleep ( 2000 ) ;
117+
119118 const ledgerCredDef = await faberAgent . ledger . getCredentialDefinition ( credDefId ) ;
120119
121- const credDefIdRegExp = new RegExp ( `${ faberAgentPublicDid . did } :3:CL:[0-9]+:TAG` ) ;
120+ const credDefIdRegExp = new RegExp ( `${ faberAgent . publicDid . did } :3:CL:[0-9]+:TAG` ) ;
122121 expect ( credDefId ) . toEqual ( expect . stringMatching ( credDefIdRegExp ) ) ;
123122 expect ( ledgerCredDef ) . toEqual (
124123 expect . objectContaining ( {
0 commit comments