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  }