github.com/argoproj/argo-events@v1.9.1/pkg/apis/eventsource/v1alpha1/config_test.go (about) 1 package v1alpha1 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestPathConfigValidate(t *testing.T) { 10 var validConfigs []WatchPathConfig 11 validConfigs = append(validConfigs, WatchPathConfig{ 12 Directory: "/foo", 13 Path: "bar", 14 PathRegexp: "", 15 }) 16 validConfigs = append(validConfigs, WatchPathConfig{ 17 Directory: "/foo", 18 Path: "", 19 PathRegexp: "bar", 20 }) 21 for _, config := range validConfigs { 22 err := config.Validate() 23 assert.NoError(t, err) 24 } 25 26 var invalidConfigs []WatchPathConfig 27 // empty dir 28 invalidConfigs = append(invalidConfigs, WatchPathConfig{ 29 Directory: "", 30 Path: "", 31 PathRegexp: "", 32 }) 33 // relative dir 34 invalidConfigs = append(invalidConfigs, WatchPathConfig{ 35 Directory: "foo", 36 Path: "bar", 37 PathRegexp: "", 38 }) 39 // both path and path regexp 40 invalidConfigs = append(invalidConfigs, WatchPathConfig{ 41 Directory: "/foo", 42 Path: "bar", 43 PathRegexp: "bar", 44 }) 45 // absolute path 46 invalidConfigs = append(invalidConfigs, WatchPathConfig{ 47 Directory: "/foo", 48 Path: "/bar", 49 PathRegexp: "", 50 }) 51 // invalid regexp 52 invalidConfigs = append(invalidConfigs, WatchPathConfig{ 53 Directory: "/foo", 54 Path: "", 55 PathRegexp: "][", 56 }) 57 for _, config := range invalidConfigs { 58 err := config.Validate() 59 assert.Error(t, err) 60 } 61 }