github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/validate/validatetpl/ipv4_test.go (about)

     1  package validatetpl
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestValidateIPv4(t *testing.T) {
     8  	type args struct {
     9  		v interface{}
    10  	}
    11  	tests := []struct {
    12  		name  string
    13  		args  args
    14  		want  bool
    15  		want1 string
    16  	}{
    17  		{
    18  			name: "normal",
    19  			args: args{
    20  				v: "134.255.255.1",
    21  			},
    22  			want:  true,
    23  			want1: "",
    24  		},
    25  		{
    26  			name: "5part",
    27  			args: args{
    28  				v: "134.255.255.1.1",
    29  			},
    30  			want:  false,
    31  			want1: InvalidIPv4Value,
    32  		},
    33  		{
    34  			name: "withLetter",
    35  			args: args{
    36  				v: "134.255.255.2a",
    37  			},
    38  			want:  false,
    39  			want1: InvalidIPv4Value,
    40  		},
    41  		{
    42  			name: "over255",
    43  			args: args{
    44  				v: "134.255.255.256",
    45  			},
    46  			want:  false,
    47  			want1: InvalidIPv4Value,
    48  		},
    49  		{
    50  			name: "intValue",
    51  			args: args{
    52  				v: 255,
    53  			},
    54  			want:  false,
    55  			want1: InvalidIPv4Type,
    56  		},
    57  		{
    58  			name: "invalidIP",
    59  			args: args{
    60  				v: "10.",
    61  			},
    62  			want:  false,
    63  			want1: InvalidIPv4Value,
    64  		},
    65  	}
    66  	for _, tt := range tests {
    67  		got, got1 := ValidateIPv4(tt.args.v)
    68  		if got != tt.want {
    69  			t.Errorf("%q. ValidateIPv4() got = %v, want %v", tt.name, got, tt.want)
    70  		}
    71  		if got1 != tt.want1 {
    72  			t.Errorf("%q. ValidateIPv4() got1 = %v, want %v", tt.name, got1, tt.want1)
    73  		}
    74  	}
    75  }