mirror of
https://github.com/datarhei/core.git
synced 2025-09-27 04:16:25 +08:00
Add tests
This commit is contained in:
@@ -3,57 +3,63 @@ package net
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestIPLimiterNew(t *testing.T) {
|
||||
var err error
|
||||
|
||||
_, err = NewIPLimiter([]string{}, []string{})
|
||||
assert.Nil(t, err)
|
||||
require.Nil(t, err)
|
||||
|
||||
_, err = NewIPLimiter([]string{"::1/128", "127.0.0.1/32", ""}, []string{})
|
||||
assert.Nil(t, err)
|
||||
require.Nil(t, err)
|
||||
|
||||
_, err = NewIPLimiter([]string{}, []string{"::1/128", "127.0.0.1/32", ""})
|
||||
assert.Nil(t, err)
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
func TestIPLimiterError(t *testing.T) {
|
||||
var err error
|
||||
|
||||
_, err = NewIPLimiter([]string{}, []string{})
|
||||
assert.Nil(t, err)
|
||||
require.Nil(t, err)
|
||||
|
||||
_, err = NewIPLimiter([]string{"::1"}, []string{})
|
||||
assert.NotNil(t, err, "Should not accept invalid IP")
|
||||
require.NotNil(t, err, "Should not accept invalid IP")
|
||||
|
||||
_, err = NewIPLimiter([]string{}, []string{"::1"})
|
||||
assert.NotNil(t, err, "Should not accept invalid IP")
|
||||
require.NotNil(t, err, "Should not accept invalid IP")
|
||||
}
|
||||
|
||||
func TestIPLimiterInvalidIPs(t *testing.T) {
|
||||
limiter, _ := NewIPLimiter([]string{}, []string{})
|
||||
|
||||
assert.False(t, limiter.IsAllowed(""), "Invalid IP shouldn't be allowed")
|
||||
require.False(t, limiter.IsAllowed(""), "Invalid IP shouldn't be allowed")
|
||||
}
|
||||
|
||||
func TestIPLimiterNoIPs(t *testing.T) {
|
||||
limiter, _ := NewIPLimiter([]string{}, []string{})
|
||||
|
||||
assert.True(t, limiter.IsAllowed("127.0.0.1"), "IP should be allowed")
|
||||
require.True(t, limiter.IsAllowed("127.0.0.1"), "IP should be allowed")
|
||||
}
|
||||
|
||||
func TestIPLimiterAllowlist(t *testing.T) {
|
||||
limiter, _ := NewIPLimiter([]string{}, []string{"::1/128"})
|
||||
|
||||
assert.False(t, limiter.IsAllowed("127.0.0.1"), "Unallowed IP shouldn't be allowed")
|
||||
assert.True(t, limiter.IsAllowed("::1"), "Allowed IP should be allowed")
|
||||
require.False(t, limiter.IsAllowed("127.0.0.1"), "Unallowed IP shouldn't be allowed")
|
||||
require.True(t, limiter.IsAllowed("::1"), "Allowed IP should be allowed")
|
||||
}
|
||||
|
||||
func TestIPLimiterBlocklist(t *testing.T) {
|
||||
limiter, _ := NewIPLimiter([]string{"::1/128"}, []string{})
|
||||
|
||||
assert.True(t, limiter.IsAllowed("127.0.0.1"), "Allowed IP should be allowed")
|
||||
assert.False(t, limiter.IsAllowed("::1"), "Unallowed IP shouldn't be allowed")
|
||||
require.True(t, limiter.IsAllowed("127.0.0.1"), "Allowed IP should be allowed")
|
||||
require.False(t, limiter.IsAllowed("::1"), "Unallowed IP shouldn't be allowed")
|
||||
}
|
||||
|
||||
func TestNullIPLimiter(t *testing.T) {
|
||||
limiter := NewNullIPLimiter()
|
||||
|
||||
require.True(t, limiter.IsAllowed("foobar"))
|
||||
}
|
||||
|
Reference in New Issue
Block a user