github.com/argoproj/argo-events@v1.9.1/eventbus/kafka/base/kafka_test.go (about) 1 package base 2 3 import ( 4 "testing" 5 6 "github.com/IBM/sarama" 7 eventbusv1alpha1 "github.com/argoproj/argo-events/pkg/apis/eventbus/v1alpha1" 8 "github.com/stretchr/testify/assert" 9 "go.uber.org/zap" 10 ) 11 12 func TestBrokers(t *testing.T) { 13 config := &eventbusv1alpha1.KafkaBus{ 14 URL: "broker1:9092,broker2:9092", 15 } 16 17 logger := zap.NewNop().Sugar() 18 kafka := NewKafka(config, logger) 19 20 expectedBrokers := []string{"broker1:9092", "broker2:9092"} 21 actualBrokers := kafka.Brokers() 22 23 assert.Equal(t, expectedBrokers, actualBrokers) 24 } 25 26 func TestConfig(t *testing.T) { 27 config := &eventbusv1alpha1.KafkaBus{ 28 URL: "localhost:9092", 29 } 30 31 logger := zap.NewNop().Sugar() 32 33 kafka := NewKafka(config, logger) 34 35 saramaConfig, err := kafka.Config() 36 37 assert.NoError(t, err) 38 assert.NotNil(t, saramaConfig) 39 assert.Equal(t, sarama.OffsetNewest, saramaConfig.Consumer.Offsets.Initial) 40 assert.Equal(t, sarama.WaitForAll, saramaConfig.Producer.RequiredAcks) 41 } 42 43 func TestConfig_StartOldest(t *testing.T) { 44 config := &eventbusv1alpha1.KafkaBus{ 45 URL: "localhost:9092", 46 ConsumerGroup: &eventbusv1alpha1.KafkaConsumerGroup{ 47 StartOldest: true, 48 }, 49 } 50 51 logger := zap.NewNop().Sugar() 52 53 kafka := NewKafka(config, logger) 54 55 saramaConfig, err := kafka.Config() 56 57 assert.NoError(t, err) 58 assert.NotNil(t, saramaConfig) 59 assert.Equal(t, sarama.OffsetOldest, saramaConfig.Consumer.Offsets.Initial) 60 } 61 62 func TestConfig_NoSASL(t *testing.T) { 63 config := &eventbusv1alpha1.KafkaBus{ 64 URL: "localhost:9092", 65 SASL: nil, 66 } 67 68 logger := zap.NewNop().Sugar() 69 70 kafka := NewKafka(config, logger) 71 72 saramaConfig, err := kafka.Config() 73 74 assert.NoError(t, err) 75 assert.NotNil(t, saramaConfig) 76 assert.False(t, saramaConfig.Net.SASL.Enable) 77 } 78 79 func TestNewKafka(t *testing.T) { 80 config := &eventbusv1alpha1.KafkaBus{ 81 URL: "localhost:9092", 82 } 83 84 logger := zap.NewNop().Sugar() 85 86 kafka := NewKafka(config, logger) 87 88 assert.NotNil(t, kafka) 89 assert.NotNil(t, kafka.Logger) 90 assert.NotNil(t, kafka.config) 91 } 92 93 func TestNewKafka_EmptyURL(t *testing.T) { 94 config := &eventbusv1alpha1.KafkaBus{ 95 URL: "", 96 } 97 98 logger := zap.NewNop().Sugar() 99 100 kafka := NewKafka(config, logger) 101 102 assert.NotNil(t, kafka) 103 assert.NotNil(t, kafka.Logger) 104 assert.NotNil(t, kafka.config) 105 }