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  }