@@ -355,6 +355,8 @@ def test_identifier_collection_end(helpers):
355
355
356
356
keys = [signer .verfer .qb64 for signer in signers ]
357
357
ndigs = [coring .Diger (ser = nsigner .verfer .qb64b ) for nsigner in nsigners ]
358
+ signer1 = signers [0 ]
359
+ diger1 = ndigs [0 ]
358
360
359
361
serder = eventing .rotate (pre = res .json [0 ]["prefix" ],
360
362
keys = keys ,
@@ -646,6 +648,63 @@ def test_identifier_collection_end(helpers):
646
648
rotation = res .json ["rotation" ]
647
649
assert len (rotation ) == 3
648
650
651
+ # Test group rotation
652
+ p1 .rotate ()
653
+ p2 .rotate ()
654
+
655
+ keys = [signer1 .verfer .qb64 , p1 .kever .verfers [0 ].qb64 , p2 .kever .verfers [0 ].qb64 ]
656
+ ndigs = [diger1 .qb64 , p1 .kever .ndigers [0 ].qb64 , p2 .kever .ndigers [0 ].qb64 ]
657
+
658
+ rserder = eventing .rotate (pre = serder .pre ,
659
+ dig = serder .said ,
660
+ keys = keys ,
661
+ ndigs = ndigs ,
662
+ isith = "2" ,
663
+ nsith = "2" )
664
+
665
+ sigers = [signer1 .sign (ser = rserder .raw , index = 0 ).qb64 ,
666
+ p1 .sign (ser = rserder .raw , indices = [1 ])[0 ].qb64 ,
667
+ p2 .sign (ser = rserder .raw , indices = [2 ])[0 ].qb64 ]
668
+ smids = rmids = [agent0 .get ('i' ), p1 .pre , p2 .pre ]
669
+
670
+ body = {
671
+ 'rot' : rserder .ked ,
672
+ 'sigs' : sigers ,
673
+ 'smids' : smids ,
674
+ 'rmids' : rmids ,
675
+ 'group' : {
676
+ 'mhab' : mhab ,
677
+ 'keys' : keys ,
678
+ 'ndigs' : ndigs
679
+ }
680
+ }
681
+
682
+ res = client .simulate_post (path = "/identifiers/multisig/events" , body = json .dumps (body ))
683
+ assert res .status_code == 200
684
+
685
+ # Make sure keys got rotated
686
+ res = client .simulate_get (path = "/identifiers" )
687
+ assert res .status_code == 200
688
+ assert len (res .json ) == 3
689
+ aid = res .json [2 ]
690
+ assert aid ["name" ] == "multisig"
691
+ assert aid ["prefix" ] == rserder .pre
692
+ group = aid ["group" ]
693
+
694
+ assert group ["keys" ] == ['DKy7HNSig5OuFOfXKq85H_R35KA6TqjRnaLKrCl8sYih' ,
695
+ 'DNHAT44MX_0kvxXm2JParu_VXDk6_Y3csi22h85ZXklA' ,
696
+ 'DFWjujqjGJDJPDTxcCUv5uQ7rfHHVKM8FWIVMrqMM6ib' ]
697
+ assert group ["ndigs" ] == ['EHTQYGOEz97iOPC_DgEEGncSa1-X-TDiHdGNKQiN_3XJ' ,
698
+ 'EGk-woPrFzGCOqPY4eOjpUFMKXXO1QcpaY53FplXqnvr' ,
699
+ 'EDubroAsnG8zcvKQcjA-H1nfDVVvoxGy96LsEq0cTFJX' ]
700
+
701
+ # Ensure smids and rmids (remain) set
702
+ habord = agent .hby .db .habs .get (keys = (rserder .pre ,))
703
+ assert habord .smids == ['EHgwVwQT15OJvilVvW57HE4w0-GPs_Stj2OFoAHZSysY' ,
704
+ 'EBPtjiAY9ITdvScWFGeeCu3Pf6_CFFr57siQqffVt9Of' ,
705
+ 'EMYBtOuBKVdp3KdW_QM__pi-UAWfrewlDyiqGcbIbopR' ]
706
+ assert habord .smids == habord .rmids
707
+
649
708
# Try unknown witness
650
709
serder , signers = helpers .incept (salt , "signify:aid" , pidx = 3 ,
651
710
wits = ["BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkunkn" ],
0 commit comments