44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package gost
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNodeDefaultWhitelist(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
node, _ := ParseProxyNode("http2://localhost:8000")
|
|
|
|
assert.True(node.Can("connect", "google.pl:80"))
|
|
assert.True(node.Can("connect", "google.pl:443"))
|
|
assert.True(node.Can("connect", "google.pl:22"))
|
|
assert.True(node.Can("bind", "google.pl:80"))
|
|
assert.True(node.Can("bind", "google.com:80"))
|
|
}
|
|
|
|
func TestNodeWhitelist(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
node, _ := ParseProxyNode("http2://localhost:8000?whitelist=connect:google.pl:80,443")
|
|
|
|
assert.True(node.Can("connect", "google.pl:80"))
|
|
assert.True(node.Can("connect", "google.pl:443"))
|
|
assert.False(node.Can("connect", "google.pl:22"))
|
|
assert.False(node.Can("bind", "google.pl:80"))
|
|
assert.False(node.Can("bind", "google.com:80"))
|
|
}
|
|
|
|
func TestNodeBlacklist(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
node, _ := ParseProxyNode("http2://localhost:8000?blacklist=connect:google.pl:80,443")
|
|
|
|
assert.False(node.Can("connect", "google.pl:80"))
|
|
assert.False(node.Can("connect", "google.pl:443"))
|
|
assert.True(node.Can("connect", "google.pl:22"))
|
|
assert.True(node.Can("bind", "google.pl:80"))
|
|
assert.True(node.Can("bind", "google.com:80"))
|
|
}
|