github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/pkg/scanners/cloudformation/parser/fn_builtin_test.go (about) 1 package parser 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func Test_cidr_generator(t *testing.T) { 11 12 original := &Property{ 13 ctx: nil, 14 name: "cidr", 15 comment: "", 16 Inner: PropertyInner{ 17 Type: "", 18 Value: nil, 19 }, 20 } 21 22 ranges, err := calculateCidrs("10.1.0.0/16", 4, 4, original) 23 require.Nil(t, err) 24 require.Len(t, ranges, 4) 25 26 results := make(map[int]string) 27 for i, property := range ranges { 28 value := property.AsString() 29 results[i] = value 30 } 31 32 assert.Equal(t, "10.1.0.0/20", results[0]) 33 assert.Equal(t, "10.1.16.0/20", results[1]) 34 assert.Equal(t, "10.1.32.0/20", results[2]) 35 assert.Equal(t, "10.1.48.0/20", results[3]) 36 } 37 38 func Test_cidr_generator_8_bits(t *testing.T) { 39 original := &Property{ 40 ctx: nil, 41 name: "cidr", 42 comment: "", 43 Inner: PropertyInner{ 44 Type: "", 45 Value: nil, 46 }, 47 } 48 49 ranges, err := calculateCidrs("10.1.0.0/16", 4, 8, original) 50 require.Nil(t, err) 51 require.Len(t, ranges, 4) 52 53 results := make(map[int]string) 54 for i, property := range ranges { 55 value := property.AsString() 56 results[i] = value 57 } 58 59 assert.Equal(t, "10.1.0.0/24", results[0]) 60 assert.Equal(t, "10.1.1.0/24", results[1]) 61 assert.Equal(t, "10.1.2.0/24", results[2]) 62 assert.Equal(t, "10.1.3.0/24", results[3]) 63 }