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  }