@@ -380,3 +380,44 @@ func TestVerifyPublicKeyID(t *testing.T) {
380
380
assert .Len (t , acceptedKeys , 1 , "unexpected keys" )
381
381
assert .Equal (t , acceptedKeys [0 ].KeyID , keyID , "unexpected keyid" )
382
382
}
383
+
384
+ func TestVerifyMultipleProviderAndEnvelopes (t * testing.T ) {
385
+ const payloadType = "http://example.com/HelloWorld"
386
+ const payload = "hello world"
387
+
388
+ var ns nilSignerVerifier
389
+ var null nullSignerVerifier
390
+
391
+ signerNil , err := NewEnvelopeSigner (ns )
392
+ assert .Nil (t , err , "unexpected error" )
393
+
394
+ signerNull , err := NewEnvelopeSigner (null )
395
+ assert .Nil (t , err , "unexpected error" )
396
+
397
+ envNil1 , err := signerNil .SignPayload (context .TODO (), payloadType , []byte (payload ))
398
+ assert .Nil (t , err , "sign failed" )
399
+
400
+ envNil2 , err := signerNil .SignPayload (context .TODO (), payloadType , []byte (payload ))
401
+ assert .Nil (t , err , "sign failed" )
402
+
403
+ envNull , err := signerNull .SignPayload (context .TODO (), payloadType , []byte (payload ))
404
+ assert .Nil (t , err , "sign failed" )
405
+
406
+ verifier , err := NewEnvelopeVerifier (ns , null )
407
+ assert .Nil (t , err , "unexpected error" )
408
+
409
+ acceptedKeysNil1 , err := verifier .Verify (context .TODO (), envNil1 )
410
+ assert .Nil (t , err , "unexpected error" )
411
+ assert .Len (t , acceptedKeysNil1 , 1 , "unexpected keys" )
412
+ assert .Equal (t , "nil" , acceptedKeysNil1 [0 ].KeyID , "unexpected keyid" )
413
+
414
+ acceptedKeysNil2 , err := verifier .Verify (context .TODO (), envNil2 )
415
+ assert .Nil (t , err , "unexpected error" )
416
+ assert .Len (t , acceptedKeysNil2 , 1 , "unexpected keys" )
417
+ assert .Equal (t , "nil" , acceptedKeysNil2 [0 ].KeyID , "unexpected keyid" )
418
+
419
+ acceptedKeysNull , err := verifier .Verify (context .TODO (), envNull )
420
+ assert .Nil (t , err , "unexpected error" )
421
+ assert .Len (t , acceptedKeysNull , 1 , "unexpected keys" )
422
+ assert .Equal (t , "null" , acceptedKeysNull [0 ].KeyID , "unexpected keyid" )
423
+ }
0 commit comments