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

     1  package validatetpl
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestValidateUrl(t *testing.T) {
     8  	too_long_url := ""
     9  	for i := 0; i < MAX_URL_LEN+1; i++ {
    10  		too_long_url += "1"
    11  	}
    12  
    13  	type args struct {
    14  		v interface{}
    15  	}
    16  	tests := []struct {
    17  		name  string
    18  		args  args
    19  		want  bool
    20  		want1 string
    21  	}{
    22  		{
    23  			name: "normal",
    24  			args: args{
    25  				v: "http://user:passwd@127.0.0.1:8080/abdf?q=a&dks",
    26  			},
    27  			want:  true,
    28  			want1: "",
    29  		},
    30  		{
    31  			name: "normal1",
    32  			args: args{
    33  				v: "https://user:passwd@127.0.0.1:8080/abdf?q=a&dks",
    34  			},
    35  			want:  true,
    36  			want1: "",
    37  		},
    38  		{
    39  			name: "error",
    40  			args: args{
    41  				v: "//userpasswd@127.0.0.1:8080/abdf?q=a&dks",
    42  			},
    43  			want:  false,
    44  			want1: HTTP_URL_SCHEME_ERROR,
    45  		},
    46  		{
    47  			name: "too long",
    48  			args: args{
    49  				v: too_long_url,
    50  			},
    51  			want:  false,
    52  			want1: HTTP_URL_TOO_LONG,
    53  		},
    54  	}
    55  	for _, tt := range tests {
    56  		got, got1 := ValidateHttpUrl(tt.args.v)
    57  		if got != tt.want {
    58  			t.Errorf("%q. ValidateUrl() got = %v, want %v", tt.name, got, tt.want)
    59  		}
    60  
    61  		if got1 != tt.want1 {
    62  			t.Errorf("%q. ValidateUrl() got = %v, want %v", tt.name, got1, tt.want1)
    63  		}
    64  	}
    65  }
    66  
    67  func TestValidateHttpUrlOrEmpty(t *testing.T) {
    68  	type args struct {
    69  		v interface{}
    70  	}
    71  	tests := []struct {
    72  		name  string
    73  		args  args
    74  		want  bool
    75  		want1 string
    76  	}{
    77  		{
    78  			name: "normal",
    79  			args: args{
    80  				v: "http://user:passwd@127.0.0.1:8080/abdf?q=a&dks",
    81  			},
    82  			want:  true,
    83  			want1: "",
    84  		},
    85  		{
    86  			name: "emptyNormal",
    87  			args: args{
    88  				v: "",
    89  			},
    90  			want:  true,
    91  			want1: "",
    92  		},
    93  		{
    94  			name: "error",
    95  			args: args{
    96  				v: "//userpasswd@127.0.0.1:8080/abdf?q=a&dks",
    97  			},
    98  			want:  false,
    99  			want1: HTTP_URL_SCHEME_ERROR,
   100  		},
   101  	}
   102  	for _, tt := range tests {
   103  		got, got1 := ValidateHttpUrlOrEmpty(tt.args.v)
   104  		if got != tt.want {
   105  			t.Errorf("%q. ValidateHttpUrlOrEmpty() got = %v, want %v", tt.name, got, tt.want)
   106  		}
   107  		if got1 != tt.want1 {
   108  			t.Errorf("%q. ValidateHttpUrlOrEmpty() got1 = %v, want %v", tt.name, got1, tt.want1)
   109  		}
   110  	}
   111  }