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 }