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  }