github.com/argoproj/argo-events@v1.9.1/webhook/validator/eventsource_test.go (about) 1 package validator 2 3 import ( 4 "fmt" 5 "os" 6 "testing" 7 8 "github.com/ghodss/yaml" 9 "github.com/stretchr/testify/assert" 10 11 "github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1" 12 ) 13 14 func TestValidateEventSource(t *testing.T) { 15 dir := "../../examples/event-sources" 16 dirEntries, err := os.ReadDir(dir) 17 assert.Nil(t, err) 18 for _, entry := range dirEntries { 19 if entry.IsDir() { 20 continue 21 } 22 content, err := os.ReadFile(fmt.Sprintf("%s/%s", dir, entry.Name())) 23 assert.Nil(t, err) 24 var es *v1alpha1.EventSource 25 err = yaml.Unmarshal(content, &es) 26 assert.Nil(t, err) 27 es.Namespace = testNamespace 28 newEs := es.DeepCopy() 29 newEs.Generation++ 30 v := NewEventSourceValidator(fakeK8sClient, fakeEventBusClient, fakeEventSourceClient, fakeSensorClient, es, newEs) 31 r := v.ValidateCreate(contextWithLogger(t)) 32 assert.True(t, r.Allowed) 33 r = v.ValidateUpdate(contextWithLogger(t)) 34 assert.True(t, r.Allowed) 35 } 36 }