github.com/cosmos/cosmos-sdk@v0.50.10/x/gov/abci_internal_test.go (about)

     1  package gov
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	sdk "github.com/cosmos/cosmos-sdk/types"
     9  )
    10  
    11  func failingHandler(_ sdk.Context, _ sdk.Msg) (*sdk.Result, error) {
    12  	panic("test-fail")
    13  }
    14  
    15  func okHandler(_ sdk.Context, _ sdk.Msg) (*sdk.Result, error) {
    16  	return new(sdk.Result), nil
    17  }
    18  
    19  func TestSafeExecuteHandler(t *testing.T) {
    20  	t.Parallel()
    21  
    22  	require := require.New(t)
    23  	var ctx sdk.Context
    24  
    25  	r, err := safeExecuteHandler(ctx, nil, failingHandler)
    26  	require.ErrorContains(err, "test-fail")
    27  	require.Nil(r)
    28  
    29  	r, err = safeExecuteHandler(ctx, nil, okHandler)
    30  	require.Nil(err)
    31  	require.NotNil(r)
    32  }