github.com/kubernetes-incubator/kube-aws@v0.16.4/pkg/api/cidr_range_test.go (about) 1 package api 2 3 import ( 4 "fmt" 5 "github.com/go-yaml/yaml" 6 "testing" 7 ) 8 9 func TestCIDRRangesExtractFromYAML(t *testing.T) { 10 t.Run("WhenOverrodeWithNonEmpty", func(t *testing.T) { 11 rs := struct { 12 CIDRRanges `yaml:"rs"` 13 }{DefaultCIDRRanges()} 14 err := yaml.Unmarshal([]byte("rs:\n- \"1.2.3.255/32\"\n"), &rs) 15 if err != nil { 16 t.Errorf("failed ot extract CIDR ranges from yaml: %v", err) 17 t.FailNow() 18 } 19 expected := "1.2.3.255/32" 20 actual := rs.CIDRRanges[0].str 21 if actual != expected { 22 t.Errorf("unexpected cidr range extracted. expected = %s, actual = %s", expected, actual) 23 } 24 }) 25 t.Run("WhenOverrodeWithEmpty", func(t *testing.T) { 26 rs := struct { 27 CIDRRanges `yaml:"rs"` 28 }{DefaultCIDRRanges()} 29 err := yaml.Unmarshal([]byte("rs:\n"), &rs) 30 if err != nil { 31 t.Errorf("failed ot extract CIDR ranges from yaml: %v", err) 32 t.FailNow() 33 } 34 if len(rs.CIDRRanges) != 0 { 35 t.Errorf("unexpected cidr ranges to be empty, but was: %+v(len=%d)", rs.CIDRRanges, len(rs.CIDRRanges)) 36 } 37 }) 38 t.Run("WhenOmitted", func(t *testing.T) { 39 rs := struct { 40 CIDRRanges `yaml:"rs"` 41 }{DefaultCIDRRanges()} 42 err := yaml.Unmarshal([]byte(""), &rs) 43 if err != nil { 44 t.Errorf("failed ot extract CIDR ranges from yaml: %v", err) 45 t.FailNow() 46 } 47 expected := "0.0.0.0/0" 48 actual := rs.CIDRRanges[0].str 49 if actual != expected { 50 t.Errorf("unexpected cidr range extracted. expected = %s, actual = %s", expected, actual) 51 } 52 }) 53 } 54 55 func TestCIDRRangeExtractFromYAML(t *testing.T) { 56 r := CIDRRange{} 57 err := yaml.Unmarshal([]byte("\"0.0.0.0/0\""), &r) 58 if err != nil { 59 t.Errorf("failed to extract CIDR range from yaml: %v", err) 60 } 61 expected := "0.0.0.0/0" 62 if r.str != expected { 63 t.Errorf("unexpected cidr range extracted. expected = %s, actual = %s", expected, r.str) 64 } 65 } 66 67 func TestCIDRRangeString(t *testing.T) { 68 r := CIDRRange{str: "0.0.0.0/0"} 69 expected := "0.0.0.0/0" 70 actual := fmt.Sprintf("%s", r) 71 if actual != expected { 72 t.Errorf("unexpected string rendered. expected = %s, actual = %s", expected, actual) 73 } 74 }