- 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)
- }
|