Skip to content

Commit d8f467f

Browse files
committed
add a test for chainwrapper
1 parent b04411c commit d8f467f

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

chainwrappers/inspectors.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package chainwrappers
22

33
import (
4+
"encoding/json"
45
"fmt"
56

67
chainsel "github.com/smartcontractkit/chain-selectors"
@@ -72,8 +73,14 @@ func BuildInspector(
7273
if err != nil {
7374
return nil, fmt.Errorf("error determining aptos role: %w", err)
7475
}
76+
var afm aptos.AdditionalFieldsMetadata
77+
if len(metadata.AdditionalFields) > 0 {
78+
if err = json.Unmarshal(metadata.AdditionalFields, &afm); err != nil {
79+
return nil, fmt.Errorf("error parsing aptos metadata: %w", err)
80+
}
81+
}
7582

76-
return aptos.NewInspector(client, role, aptos.MCMSTypeRegular), nil
83+
return aptos.NewInspector(client, role, afm.MCMSType), nil
7784
case chainsel.FamilySui:
7885
client, signer, ok := chains.SuiClient(rawSelector)
7986
if !ok {

chainwrappers/inspectors_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package chainwrappers
22

33
import (
4+
"encoding/json"
45
"testing"
56

67
chainsel "github.com/smartcontractkit/chain-selectors"
78
"github.com/stretchr/testify/mock"
89
"github.com/stretchr/testify/require"
910

1011
"github.com/smartcontractkit/mcms/chainwrappers/mocks"
12+
"github.com/smartcontractkit/mcms/sdk/aptos"
1113

1214
mcmsTypes "github.com/smartcontractkit/mcms/types"
1315
)
@@ -70,6 +72,27 @@ func TestMCMInspectorBuilder_BuildInspectors(t *testing.T) {
7072
},
7173
expectedInspectorsCount: 5,
7274
},
75+
{
76+
name: "aptos curse mcms from metadata",
77+
chainMetadata: map[mcmsTypes.ChainSelector]mcmsTypes.ChainMetadata{
78+
mcmsTypes.ChainSelector(chainsel.APTOS_TESTNET.Selector): {
79+
MCMAddress: "0xaptos",
80+
AdditionalFields: func() json.RawMessage {
81+
b, _ := json.Marshal(aptos.AdditionalFieldsMetadata{
82+
Role: aptos.TimelockRoleProposer,
83+
MCMSType: aptos.MCMSTypeCurse,
84+
})
85+
return b
86+
}(),
87+
},
88+
},
89+
chainAccess: mocks.NewChainAccessor(t),
90+
expectErr: false,
91+
setup: func(access *mocks.ChainAccessor) {
92+
access.EXPECT().AptosClient(mock.Anything).Return(nil, true)
93+
},
94+
expectedInspectorsCount: 1,
95+
},
7396
}
7497

7598
for _, tc := range tests {

0 commit comments

Comments
 (0)