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  }