@@ -17,6 +17,7 @@ import (
1717 "github.com/hyperledger-labs/fabric-token-sdk/integration/nwo/token/generators/crypto/fabtokenv1"
1818 "github.com/hyperledger-labs/fabric-token-sdk/integration/nwo/token/generators/crypto/zkatdlognoghv1"
1919 v1 "github.com/hyperledger-labs/fabric-token-sdk/token/core/zkatdlog/nogh/v1/setup"
20+ "github.com/hyperledger-labs/fabric-token-sdk/token/driver"
2021 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils"
2122 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/slices"
2223 . "github.com/onsi/gomega"
@@ -65,6 +66,45 @@ func TestGenFullSuccess(t *testing.T) {
6566 "./testdata/auditors/msp" ,
6667 "./testdata/issuers/msp" ,
6768 "./testdata/idemix/msp/IssuerPublicKey" ,
69+ v1 .ProtocolV1 ,
70+ )
71+ }
72+
73+ func TestGenFullSuccessWithVersionOverride (t * testing.T ) {
74+ gt := NewGomegaWithT (t )
75+ tokengen , err := gexec .Build ("github.com/hyperledger-labs/fabric-token-sdk/cmd/tokengen" )
76+ gt .Expect (err ).NotTo (HaveOccurred ())
77+ defer gexec .CleanupBuildArtifacts ()
78+
79+ tempOutput := t .TempDir ()
80+ defer utils .IgnoreErrorWithOneArg (os .RemoveAll , tempOutput )
81+
82+ testGenRun (
83+ gt ,
84+ tokengen ,
85+ []string {
86+ "gen" ,
87+ zkatdlognoghv1 .DriverIdentifier ,
88+ "--idemix" ,
89+ "./testdata/idemix" ,
90+ "--issuers" ,
91+ "./testdata/issuers/msp" ,
92+ "--auditors" ,
93+ "./testdata/auditors/msp" ,
94+ "--output" ,
95+ tempOutput ,
96+ "--version" ,
97+ "2" ,
98+ },
99+ )
100+
101+ validateOutputEquivalent (
102+ gt ,
103+ tempOutput ,
104+ "./testdata/auditors/msp" ,
105+ "./testdata/issuers/msp" ,
106+ "./testdata/idemix/msp/IssuerPublicKey" ,
107+ driver .TokenDriverVersion (2 ),
68108 )
69109}
70110
@@ -101,6 +141,7 @@ func TestFullUpdate(t *testing.T) {
101141 "./testdata/issuers/msp" ,
102142 "./testdata/auditors/msp" ,
103143 "./testdata/idemix/msp/IssuerPublicKey" ,
144+ v1 .ProtocolV1 ,
104145 )
105146}
106147
@@ -136,6 +177,45 @@ func TestPartialUpdate(t *testing.T) {
136177 "./testdata/auditors/msp" ,
137178 "./testdata/auditors/msp" ,
138179 "./testdata/idemix/msp/IssuerPublicKey" ,
180+ v1 .ProtocolV1 ,
181+ )
182+ }
183+
184+ func TestPartialUpdateWithVersion (t * testing.T ) {
185+ gt := NewWithT (t )
186+ tokengen , err := gexec .Build ("github.com/hyperledger-labs/fabric-token-sdk/cmd/tokengen" )
187+ gt .Expect (err ).NotTo (HaveOccurred ())
188+ defer gexec .CleanupBuildArtifacts ()
189+
190+ tempOutput := t .TempDir ()
191+ defer utils .IgnoreErrorWithOneArg (os .RemoveAll , tempOutput )
192+
193+ // Only changing the issuer cert to also use the auditor cert.
194+ // The other auditor cert should stay the same.
195+ testGenRun (
196+ gt ,
197+ tokengen ,
198+ []string {
199+ "update" ,
200+ zkatdlognoghv1 .DriverIdentifier ,
201+ "--issuers" ,
202+ "./testdata/auditors/msp" ,
203+ "--input" ,
204+ "./testdata/zkatdlognoghv1_pp.json" ,
205+ "--output" ,
206+ tempOutput ,
207+ "--version" ,
208+ "2" ,
209+ },
210+ )
211+
212+ validateOutputEquivalent (
213+ gt ,
214+ tempOutput ,
215+ "./testdata/auditors/msp" ,
216+ "./testdata/auditors/msp" ,
217+ "./testdata/idemix/msp/IssuerPublicKey" ,
218+ driver .TokenDriverVersion (2 ),
139219 )
140220}
141221
@@ -214,11 +294,18 @@ func TestGenFailure(t *testing.T) {
214294 }
215295}
216296
217- func validateOutputEquivalent (gt * WithT , tempOutput , auditorsMSPdir , issuersMSPdir , idemixMSPdir string ) {
218- ppRaw , err := os .ReadFile (filepath .Join (tempOutput , "zkatdlognoghv1_pp.json" ))
297+ func validateOutputEquivalent (
298+ gt * WithT ,
299+ tempOutput , auditorsMSPdir , issuersMSPdir , idemixMSPdir string ,
300+ version driver.TokenDriverVersion ,
301+ ) {
302+ ppRaw , err := os .ReadFile (filepath .Join (
303+ tempOutput ,
304+ fmt .Sprintf ("zkatdlognoghv%d_pp.json" , version ),
305+ ))
219306 gt .Expect (err ).NotTo (HaveOccurred ())
220307
221- pp , err := v1 .NewPublicParamsFromBytes (ppRaw , v1 .DLogNoGHDriverName , v1 . ProtocolV1 )
308+ pp , err := v1 .NewPublicParamsFromBytes (ppRaw , v1 .DLogNoGHDriverName , version )
222309 gt .Expect (err ).NotTo (HaveOccurred ())
223310 gt .Expect (pp .Validate ()).NotTo (HaveOccurred ())
224311
0 commit comments