package multinet import ( "context" "net/netip" "testing" "github.com/stretchr/testify/require" ) func TestNoSourceIPs(t *testing.T) { t.Run("noop balancer", func(t *testing.T) { d, err := NewDialer(Config{ Subnets: []Subnet{ { Prefix: netip.MustParsePrefix("10.11.12.0/24"), }, }, }) require.NoError(t, err) conn, err := d.DialContext(context.Background(), "tcp", "10.11.12.254:8080") require.ErrorIs(t, err, errNoSuitableNodeFound) require.Nil(t, conn) }) t.Run("round robin balancer", func(t *testing.T) { d, err := NewDialer(Config{ Subnets: []Subnet{ { Prefix: netip.MustParsePrefix("10.11.12.0/24"), }, }, Balancer: BalancerTypeRoundRobin, }) require.NoError(t, err) conn, err := d.DialContext(context.Background(), "tcp", "10.11.12.254:8080") require.ErrorIs(t, err, errNoSuitableNodeFound) require.Nil(t, conn) }) }