| 123456789101112131415161718192021222324252627 |
- package common
- import (
- "github.com/stretchr/testify/assert"
- "inet.af/netaddr"
- "testing"
- )
- func TestConnectionFilter(t *testing.T) {
- f := connectionFilter{whitelist: map[string]netaddr.IPPrefix{}}
- assert.False(t, f.ShouldBeSkipped(netaddr.MustParseIP("127.0.0.1"), netaddr.MustParseIP("127.0.0.1")))
- assert.False(t, f.ShouldBeSkipped(netaddr.MustParseIP("192.168.1.1"), netaddr.MustParseIP("127.0.0.1")))
- assert.True(t, f.ShouldBeSkipped(netaddr.MustParseIP("1.1.1.1"), netaddr.MustParseIP("2.2.2.2")))
- assert.False(t, f.ShouldBeSkipped(netaddr.MustParseIP("1.1.1.1"), netaddr.MustParseIP("192.168.1.1")))
- // because the actual dest is allowed, the dest is added to whitelist
- assert.False(t, f.ShouldBeSkipped(netaddr.MustParseIP("1.1.1.1"), netaddr.MustParseIP("2.2.2.2")))
- assert.True(t, f.ShouldBeSkipped(netaddr.MustParseIP("2.2.2.2"), netaddr.MustParseIP("2.2.2.2")))
- f.WhitelistPrefix(netaddr.MustParseIPPrefix("2.2.2.0/24"))
- assert.False(t, f.ShouldBeSkipped(netaddr.MustParseIP("2.2.2.2"), netaddr.MustParseIP("2.2.2.2")))
- assert.True(t, f.ShouldBeSkipped(netaddr.MustParseIP("3.3.3.3"), netaddr.MustParseIP("3.3.3.3")))
- f.WhitelistPrefix(netaddr.MustParseIPPrefix("4.4.4.4/32"))
- assert.False(t, f.ShouldBeSkipped(netaddr.MustParseIP("3.3.3.3"), netaddr.MustParseIP("4.4.4.4")))
- }
|