github.com/Finschia/finschia-sdk@v0.49.1/x/evidence/types/msgs_test.go (about) 1 package types_test 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/Finschia/finschia-sdk/crypto/keys/ed25519" 10 sdk "github.com/Finschia/finschia-sdk/types" 11 "github.com/Finschia/finschia-sdk/x/evidence/exported" 12 "github.com/Finschia/finschia-sdk/x/evidence/types" 13 ) 14 15 func testMsgSubmitEvidence(t *testing.T, e exported.Evidence, s sdk.AccAddress) exported.MsgSubmitEvidenceI { 16 t.Helper() 17 msg, err := types.NewMsgSubmitEvidence(s, e) 18 require.NoError(t, err) 19 return msg 20 } 21 22 func TestMsgSubmitEvidence(t *testing.T) { 23 pk := ed25519.GenPrivKey() 24 submitter := sdk.AccAddress("test________________") 25 26 testCases := []struct { 27 msg sdk.Msg 28 submitter sdk.AccAddress 29 expectErr bool 30 }{ 31 { 32 testMsgSubmitEvidence(t, &types.Equivocation{ 33 Height: 0, 34 Power: 100, 35 Time: time.Now().UTC(), 36 ConsensusAddress: pk.PubKey().Address().String(), 37 }, submitter), 38 submitter, 39 true, 40 }, 41 { 42 testMsgSubmitEvidence(t, &types.Equivocation{ 43 Height: 10, 44 Power: 100, 45 Time: time.Now().UTC(), 46 ConsensusAddress: pk.PubKey().Address().String(), 47 }, submitter), 48 submitter, 49 false, 50 }, 51 } 52 53 for i, tc := range testCases { 54 require.Equal(t, sdk.MsgTypeURL(&types.MsgSubmitEvidence{}), sdk.MsgTypeURL(tc.msg), "unexpected result for tc #%d", i) 55 require.Equal(t, tc.expectErr, tc.msg.ValidateBasic() != nil, "unexpected result for tc #%d", i) 56 57 if !tc.expectErr { 58 require.Equal(t, tc.msg.GetSigners(), []sdk.AccAddress{tc.submitter}, "unexpected result for tc #%d", i) 59 } 60 } 61 }