Files
gmbase/pkg/netacl/access_test.go
2026-06-05 18:25:03 +02:00

78 lines
1.7 KiB
Go

package netacl
import (
"fmt"
"testing"
"github.com/stretchr/testify/require"
"sigs.k8s.io/yaml"
)
func TestNetACLComplex(t *testing.T) {
var err error
var enabled bool
al := NewNetACL()
require.NotNil(t, al)
err = al.AddDisabledAddresses("10.0.0.1")
require.NoError(t, err)
err = al.AddDisabledAddresses("192.168.10.0/24")
require.NoError(t, err)
err = al.AddEnabledAddresses("192.168.100.0/16")
require.NoError(t, err)
yamlData, err := yaml.Marshal(al)
require.NoError(t, err)
fmt.Printf("\n%s\n", string(yamlData))
enabled, err = al.AddressIsEnabled("8.7.7.7")
require.NoError(t, err)
require.Equal(t, false, enabled)
enabled, err = al.AddressIsEnabled("192.168.10.0")
require.NoError(t, err)
require.Equal(t, false, enabled)
enabled, err = al.AddressIsEnabled("192.168.100.7")
require.NoError(t, err)
require.Equal(t, true, enabled)
}
func TestNetACLAllEnabled(t *testing.T) {
var err error
var enabled bool
al := NewNetACL()
require.NotNil(t, al)
err = al.AddEnabledAddresses("0.0.0.1/0")
require.NoError(t, err)
err = al.AddEnabledAddresses("10.0.1.1/17")
require.NoError(t, err)
yamlData, err := yaml.Marshal(al)
require.NoError(t, err)
fmt.Printf("\n%s\n", string(yamlData))
enabled, err = al.AddressIsEnabled("192.168.100.7")
require.NoError(t, err)
require.Equal(t, true, enabled)
}
func TestNetACLLoopEnabled(t *testing.T) {
var err error
var enabled bool
al := NewNetACL()
require.NotNil(t, al)
err = al.AddEnabledAddresses("::1/0")
require.NoError(t, err)
yamlData, err := yaml.Marshal(al)
require.NoError(t, err)
fmt.Printf("\n%s\n", string(yamlData))
enabled, err = al.AddressIsEnabled("::1")
require.NoError(t, err)
require.Equal(t, true, enabled)
}