github.com/Redstoneguy129/cli@v0.0.0-20230211220159-15dca4e91917/internal/restrictions/update/update_test.go (about) 1 package update 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestPrivateSubnet(t *testing.T) { 10 err := validateCidrs([]string{"12.3.4.5/32", "10.0.0.0/8", "1.2.3.1/24"}, false) 11 assert.ErrorContains(t, err, "private IP provided: 10.0.0.0/8") 12 err = validateCidrs([]string{"10.0.0.0/8"}, true) 13 assert.Nil(t, err, "should bypass private subnet checks") 14 } 15 16 func TestIpv4(t *testing.T) { 17 err := validateCidrs([]string{"12.3.4.5/32", "2001:db8:abcd:0012::0/64", "1.2.3.1/24"}, false) 18 assert.ErrorContains(t, err, "only IPv4 supported at the moment: 2001:db8:abcd:0012::0/64") 19 err = validateCidrs([]string{"12.3.4.5/32", "2001:db8:abcd:0012::0/64", "1.2.3.1/24"}, true) 20 assert.ErrorContains(t, err, "only IPv4 supported at the moment: 2001:db8:abcd:0012::0/64") 21 } 22 23 func TestInvalidSubnets(t *testing.T) { 24 err := validateCidrs([]string{"12.3.4.5", "10.0.0.0/8", "1.2.3.1/24"}, false) 25 assert.ErrorContains(t, err, "failed to parse IP: 12.3.4.5") 26 err = validateCidrs([]string{"100/36"}, true) 27 assert.ErrorContains(t, err, "failed to parse IP: 100/36") 28 }