No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

88 líneas
2.0 KiB

  1. package kafkaclient
  2. import (
  3. "os"
  4. "testing"
  5. "github.com/AFASystems/presence/internal/pkg/kafkaclient"
  6. )
  7. func TestInitKafkaManager(t *testing.T) {
  8. m := kafkaclient.InitKafkaManager()
  9. if m == nil {
  10. t.Fatal("InitKafkaManager returned nil")
  11. }
  12. }
  13. func TestPopulateKafkaManager_Writers(t *testing.T) {
  14. if os.Getenv("E2E_TEST") != "1" {
  15. t.Skip("Kafka manager tests require E2E_TEST=1 (Kafka connection)")
  16. }
  17. m := kafkaclient.InitKafkaManager()
  18. topics := []string{"topic1", "topic2"}
  19. m.PopulateKafkaManager("localhost:9092", "", topics)
  20. if m.GetWriter("topic1") == nil {
  21. t.Error("Expected writer for topic1")
  22. }
  23. if m.GetWriter("topic2") == nil {
  24. t.Error("Expected writer for topic2")
  25. }
  26. if m.GetWriter("nonexistent") != nil {
  27. t.Error("Expected nil for nonexistent topic")
  28. }
  29. m.CleanKafkaWriters()
  30. }
  31. func TestPopulateKafkaManager_Readers(t *testing.T) {
  32. if os.Getenv("E2E_TEST") != "1" {
  33. t.Skip("Kafka manager tests require E2E_TEST=1")
  34. }
  35. m := kafkaclient.InitKafkaManager()
  36. topics := []string{"topic1", "topic2"}
  37. m.PopulateKafkaManager("localhost:9092", "test-group", topics)
  38. if m.GetReader("topic1") == nil {
  39. t.Error("Expected reader for topic1")
  40. }
  41. if m.GetReader("topic2") == nil {
  42. t.Error("Expected reader for topic2")
  43. }
  44. if m.GetReader("nonexistent") != nil {
  45. t.Error("Expected nil for nonexistent topic")
  46. }
  47. m.CleanKafkaReaders()
  48. }
  49. func TestAddKafkaWriter(t *testing.T) {
  50. if os.Getenv("E2E_TEST") != "1" {
  51. t.Skip("Kafka manager tests require E2E_TEST=1")
  52. }
  53. m := kafkaclient.InitKafkaManager()
  54. m.AddKafkaWriter("localhost:9092", "test-topic")
  55. w := m.GetWriter("test-topic")
  56. if w == nil {
  57. t.Error("Expected writer after AddKafkaWriter")
  58. }
  59. m.CleanKafkaWriters()
  60. }
  61. func TestAddKafkaReader(t *testing.T) {
  62. if os.Getenv("E2E_TEST") != "1" {
  63. t.Skip("Kafka manager tests require E2E_TEST=1")
  64. }
  65. m := kafkaclient.InitKafkaManager()
  66. m.AddKafkaReader("localhost:9092", "test-topic", "test-group")
  67. r := m.GetReader("test-topic")
  68. if r == nil {
  69. t.Error("Expected reader after AddKafkaReader")
  70. }
  71. m.CleanKafkaReaders()
  72. }