github.com/jingruilea/kubeedge@v1.2.0-beta.0.0.20200410162146-4bb8902b3879/pkg/util/validation/validation_test.go (about)

     1  package validation
     2  
     3  import "testing"
     4  
     5  func TestIsValidIP(t *testing.T) {
     6  	cases := []struct {
     7  		Name   string
     8  		IP     string
     9  		Expect bool
    10  	}{
    11  		{
    12  			Name:   "valid ip",
    13  			IP:     "1.1.1.1",
    14  			Expect: true,
    15  		},
    16  		{
    17  			Name:   "unvalid have port",
    18  			IP:     "1.1.1.1:1234",
    19  			Expect: false,
    20  		},
    21  		{
    22  			Name:   "unvalid ip1",
    23  			IP:     "1.1.1.",
    24  			Expect: false,
    25  		},
    26  		{
    27  			Name:   "unvalid unit socket",
    28  			IP:     "unix:///var/run/docker.sock",
    29  			Expect: false,
    30  		},
    31  		{
    32  			Name:   "unvalid http",
    33  			IP:     "http://127.0.0.1",
    34  			Expect: false,
    35  		},
    36  	}
    37  
    38  	for _, c := range cases {
    39  		t.Run(c.Name, func(t *testing.T) {
    40  			v := IsValidIP(c.IP)
    41  			get := len(v) == 0
    42  			if get != c.Expect {
    43  				t.Errorf("Input %s Expect %v while get %v", c.IP, c.Expect, v)
    44  			}
    45  		})
    46  	}
    47  }