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  }