package p2p import ( "context" "errors" "net" "testing" "time" "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/libs/log" ) func TestConnectionFiltering(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() logger := log.NewNopLogger() filterByIPCount := 0 router := &Router{ logger: logger, connTracker: newConnTracker(1, time.Second), options: RouterOptions{ FilterPeerByIP: func(ctx context.Context, ip net.IP, port uint16) error { filterByIPCount++ return errors.New("mock") }, }, } require.Equal(t, 0, filterByIPCount) router.openConnection(ctx, &MemoryConnection{logger: logger, closeFn: func() {}}) require.Equal(t, 1, filterByIPCount) }