mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-12-15 19:31:45 +03:00
7f29d4e546
Merge in DNS/adguard-home from 2276-fix-lint-2 to master Updates #2276. Squashed commit of the following: commit 24760b9586bb31be134ef9518dbece485560b1a0 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Mon Dec 7 14:39:50 2020 +0300 all: fix lint and naming issues vol. 2
75 lines
2.0 KiB
Go
75 lines
2.0 KiB
Go
package dnsforward
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestIsBlockedIPAllowed(t *testing.T) {
|
|
a := &accessCtx{}
|
|
assert.True(t, a.Init([]string{"1.1.1.1", "2.2.0.0/16"}, nil, nil) == nil)
|
|
|
|
disallowed, disallowedRule := a.IsBlockedIP("1.1.1.1")
|
|
assert.False(t, disallowed)
|
|
assert.Equal(t, "", disallowedRule)
|
|
|
|
disallowed, disallowedRule = a.IsBlockedIP("1.1.1.2")
|
|
assert.True(t, disallowed)
|
|
assert.Equal(t, "", disallowedRule)
|
|
|
|
disallowed, disallowedRule = a.IsBlockedIP("2.2.1.1")
|
|
assert.False(t, disallowed)
|
|
assert.Equal(t, "", disallowedRule)
|
|
|
|
disallowed, disallowedRule = a.IsBlockedIP("2.3.1.1")
|
|
assert.True(t, disallowed)
|
|
assert.Equal(t, "", disallowedRule)
|
|
}
|
|
|
|
func TestIsBlockedIPDisallowed(t *testing.T) {
|
|
a := &accessCtx{}
|
|
assert.True(t, a.Init(nil, []string{"1.1.1.1", "2.2.0.0/16"}, nil) == nil)
|
|
|
|
disallowed, disallowedRule := a.IsBlockedIP("1.1.1.1")
|
|
assert.True(t, disallowed)
|
|
assert.Equal(t, "1.1.1.1", disallowedRule)
|
|
|
|
disallowed, disallowedRule = a.IsBlockedIP("1.1.1.2")
|
|
assert.False(t, disallowed)
|
|
assert.Equal(t, "", disallowedRule)
|
|
|
|
disallowed, disallowedRule = a.IsBlockedIP("2.2.1.1")
|
|
assert.True(t, disallowed)
|
|
assert.Equal(t, "2.2.0.0/16", disallowedRule)
|
|
|
|
disallowed, disallowedRule = a.IsBlockedIP("2.3.1.1")
|
|
assert.False(t, disallowed)
|
|
assert.Equal(t, "", disallowedRule)
|
|
}
|
|
|
|
func TestIsBlockedIPBlockedDomain(t *testing.T) {
|
|
a := &accessCtx{}
|
|
assert.True(t, a.Init(nil, nil, []string{
|
|
"host1",
|
|
"host2",
|
|
"*.host.com",
|
|
"||host3.com^",
|
|
}) == nil)
|
|
|
|
// match by "host2.com"
|
|
assert.True(t, a.IsBlockedDomain("host1"))
|
|
assert.True(t, a.IsBlockedDomain("host2"))
|
|
assert.True(t, !a.IsBlockedDomain("host3"))
|
|
|
|
// match by wildcard "*.host.com"
|
|
assert.True(t, !a.IsBlockedDomain("host.com"))
|
|
assert.True(t, a.IsBlockedDomain("asdf.host.com"))
|
|
assert.True(t, a.IsBlockedDomain("qwer.asdf.host.com"))
|
|
assert.True(t, !a.IsBlockedDomain("asdf.zhost.com"))
|
|
|
|
// match by wildcard "||host3.com^"
|
|
assert.True(t, a.IsBlockedDomain("host3.com"))
|
|
assert.True(t, a.IsBlockedDomain("asdf.host3.com"))
|
|
}
|