package kafkaclient import ( "os" "testing" "github.com/AFASystems/presence/internal/pkg/kafkaclient" ) func TestInitKafkaManager(t *testing.T) { m := kafkaclient.InitKafkaManager() if m == nil { t.Fatal("InitKafkaManager returned nil") } } func TestPopulateKafkaManager_Writers(t *testing.T) { if os.Getenv("E2E_TEST") != "1" { t.Skip("Kafka manager tests require E2E_TEST=1 (Kafka connection)") } m := kafkaclient.InitKafkaManager() topics := []string{"topic1", "topic2"} m.PopulateKafkaManager("localhost:9092", "", topics) if m.GetWriter("topic1") == nil { t.Error("Expected writer for topic1") } if m.GetWriter("topic2") == nil { t.Error("Expected writer for topic2") } if m.GetWriter("nonexistent") != nil { t.Error("Expected nil for nonexistent topic") } m.CleanKafkaWriters() } func TestPopulateKafkaManager_Readers(t *testing.T) { if os.Getenv("E2E_TEST") != "1" { t.Skip("Kafka manager tests require E2E_TEST=1") } m := kafkaclient.InitKafkaManager() topics := []string{"topic1", "topic2"} m.PopulateKafkaManager("localhost:9092", "test-group", topics) if m.GetReader("topic1") == nil { t.Error("Expected reader for topic1") } if m.GetReader("topic2") == nil { t.Error("Expected reader for topic2") } if m.GetReader("nonexistent") != nil { t.Error("Expected nil for nonexistent topic") } m.CleanKafkaReaders() } func TestAddKafkaWriter(t *testing.T) { if os.Getenv("E2E_TEST") != "1" { t.Skip("Kafka manager tests require E2E_TEST=1") } m := kafkaclient.InitKafkaManager() m.AddKafkaWriter("localhost:9092", "test-topic") w := m.GetWriter("test-topic") if w == nil { t.Error("Expected writer after AddKafkaWriter") } m.CleanKafkaWriters() } func TestAddKafkaReader(t *testing.T) { if os.Getenv("E2E_TEST") != "1" { t.Skip("Kafka manager tests require E2E_TEST=1") } m := kafkaclient.InitKafkaManager() m.AddKafkaReader("localhost:9092", "test-topic", "test-group") r := m.GetReader("test-topic") if r == nil { t.Error("Expected reader after AddKafkaReader") } m.CleanKafkaReaders() }