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

     1  package validatetpl
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestValidateCrontab(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: "per2sec",
    19  			args: args{
    20  				v: "*/2 * * * * ?",
    21  			},
    22  			want:  true,
    23  			want1: "",
    24  		},
    25  		{
    26  			name: "empty",
    27  			args: args{
    28  				v: "",
    29  			},
    30  			want:  false,
    31  			want1: InvalidCrontabValue,
    32  		},
    33  		{
    34  			name: "wrong type",
    35  			args: args{
    36  				v: 12,
    37  			},
    38  			want:  false,
    39  			want1: InvalidCrontabType,
    40  		},
    41  		{
    42  			name: "wrong contents",
    43  			args: args{
    44  				v: "112dsww",
    45  			},
    46  			want:  false,
    47  			want1: InvalidCrontabValue,
    48  		},
    49  	}
    50  	for _, tt := range tests {
    51  		got, got1 := ValidateCrontab(tt.args.v)
    52  		if got != tt.want {
    53  			t.Errorf("%q. ValidateCrontab() got = %v, want %v", tt.name, got, tt.want)
    54  		}
    55  		if got1 != tt.want1 {
    56  			t.Errorf("%q. ValidateCrontab() got1 = %v, want %v", tt.name, got1, tt.want1)
    57  		}
    58  	}
    59  }