github.com/argoproj/argo-events@v1.9.1/eventbus/driver_test.go (about) 1 package eventbus 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 9 eventbusv1alpha1 "github.com/argoproj/argo-events/pkg/apis/eventbus/v1alpha1" 10 "github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1" 11 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 12 ) 13 14 const ( 15 testSensorName = "sensor-xxxxx" 16 testEventSourceName = "es-xxxxx" 17 testSubject = "subj-xxxxx" 18 testHostname = "sensor-xxxxx-xxxxx" 19 ) 20 21 var ( 22 testBadBusConfig = eventbusv1alpha1.BusConfig{} 23 24 testValidSensorSpec = &v1alpha1.Sensor{ 25 TypeMeta: metav1.TypeMeta{}, 26 ObjectMeta: metav1.ObjectMeta{Name: testSensorName}, 27 Spec: v1alpha1.SensorSpec{}, 28 Status: v1alpha1.SensorStatus{}, 29 } 30 31 testNoNameSensorSpec = &v1alpha1.Sensor{ 32 TypeMeta: metav1.TypeMeta{}, 33 ObjectMeta: metav1.ObjectMeta{}, 34 Spec: v1alpha1.SensorSpec{}, 35 Status: v1alpha1.SensorStatus{}, 36 } 37 38 testClusterID = "test" 39 testBusConfig = eventbusv1alpha1.BusConfig{ 40 NATS: &eventbusv1alpha1.NATSConfig{ 41 URL: "nats://test:4222", 42 ClusterID: &testClusterID, 43 Auth: &eventbusv1alpha1.AuthStrategyNone, 44 }, 45 } 46 ) 47 48 func TestGetSensorDriver(t *testing.T) { 49 t.Run("get driver without eventbus", func(t *testing.T) { 50 _, err := GetSensorDriver(context.Background(), testBadBusConfig, testValidSensorSpec, testHostname) 51 assert.Error(t, err) 52 }) 53 54 t.Run("get driver with none auth eventbus", func(t *testing.T) { 55 driver, err := GetSensorDriver(context.Background(), testBusConfig, testValidSensorSpec, testHostname) 56 assert.NoError(t, err) 57 assert.NotNil(t, driver) 58 }) 59 60 t.Run("get driver with invalid sensor spec", func(t *testing.T) { 61 _, err := GetSensorDriver(context.Background(), testBusConfig, testNoNameSensorSpec, testHostname) 62 assert.Error(t, err) 63 }) 64 65 t.Run("get driver with nil sensor spec", func(t *testing.T) { 66 _, err := GetSensorDriver(context.Background(), testBusConfig, nil, testHostname) 67 assert.Error(t, err) 68 }) 69 } 70 71 func TestGetSourceDriver(t *testing.T) { 72 t.Run("get driver without eventbus", func(t *testing.T) { 73 _, err := GetEventSourceDriver(context.Background(), testBadBusConfig, testEventSourceName, testSubject) 74 assert.Error(t, err) 75 }) 76 77 t.Run("get driver with none auth eventbus", func(t *testing.T) { 78 driver, err := GetEventSourceDriver(context.Background(), testBusConfig, testEventSourceName, testSubject) 79 assert.NoError(t, err) 80 assert.NotNil(t, driver) 81 }) 82 83 t.Run("get driver without eventSourceName", func(t *testing.T) { 84 _, err := GetEventSourceDriver(context.Background(), testBusConfig, "", testSubject) 85 assert.Error(t, err) 86 }) 87 88 t.Run("get NATS Streaming driver without subject", func(t *testing.T) { 89 _, err := GetEventSourceDriver(context.Background(), testBusConfig, testEventSourceName, "") 90 assert.Error(t, err) 91 }) 92 }