github.com/Finschia/finschia-sdk@v0.48.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 msg, err := types.NewMsgSubmitEvidence(s, e) 17 require.NoError(t, err) 18 return msg 19 } 20 21 func TestMsgSubmitEvidence(t *testing.T) { 22 pk := ed25519.GenPrivKey() 23 submitter := sdk.AccAddress("test________________") 24 25 testCases := []struct { 26 msg sdk.Msg 27 submitter sdk.AccAddress 28 expectErr bool 29 }{ 30 { 31 testMsgSubmitEvidence(t, &types.Equivocation{ 32 Height: 0, 33 Power: 100, 34 Time: time.Now().UTC(), 35 ConsensusAddress: pk.PubKey().Address().String(), 36 }, submitter), 37 submitter, 38 true, 39 }, 40 { 41 testMsgSubmitEvidence(t, &types.Equivocation{ 42 Height: 10, 43 Power: 100, 44 Time: time.Now().UTC(), 45 ConsensusAddress: pk.PubKey().Address().String(), 46 }, submitter), 47 submitter, 48 false, 49 }, 50 } 51 52 for i, tc := range testCases { 53 require.Equal(t, sdk.MsgTypeURL(&types.MsgSubmitEvidence{}), sdk.MsgTypeURL(tc.msg), "unexpected result for tc #%d", i) 54 require.Equal(t, tc.expectErr, tc.msg.ValidateBasic() != nil, "unexpected result for tc #%d", i) 55 56 if !tc.expectErr { 57 require.Equal(t, tc.msg.GetSigners(), []sdk.AccAddress{tc.submitter}, "unexpected result for tc #%d", i) 58 } 59 } 60 }