github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/baseapp/router_test.go (about)

     1  package baseapp
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     9  )
    10  
    11  var testHandler = func(_ sdk.Context, _ sdk.Msg) (*sdk.Result, error) {
    12  	return &sdk.Result{}, nil
    13  }
    14  
    15  func TestRouter(t *testing.T) {
    16  	rtr := NewRouter()
    17  
    18  	// require panic on invalid route
    19  	require.Panics(t, func() {
    20  		rtr.AddRoute("*", testHandler)
    21  	})
    22  
    23  	rtr.AddRoute("testRoute", testHandler)
    24  	h := rtr.Route(sdk.Context{}, "testRoute")
    25  	require.NotNil(t, h)
    26  
    27  	// require panic on duplicate route
    28  	require.Panics(t, func() {
    29  		rtr.AddRoute("testRoute", testHandler)
    30  	})
    31  }