package tests import ( "context" "gitea.pena/SQuiz/core/internal/brokers" "gitea.pena/SQuiz/core/internal/initialize" "github.com/pioz/faker" "go.uber.org/zap" "log" "testing" "time" ) func Test_MailNotify(t *testing.T) { ctx := context.Background() logger, err := zap.NewProduction() if err != nil { log.Fatal(err.Error()) } kafkaClient, err := initialize.KafkaInit(ctx, initialize.KafkaDeps{ KafkaTopic: "test-topic", KafkaBrokers: "localhost:9092", KafkaGroup: "mailnotifier", }) if err != nil { log.Fatal(err.Error()) } producer := brokers.NewProducer(brokers.ProducerDeps{ KafkaClient: kafkaClient, Logger: logger, }) ch := make(chan brokers.Message) go func() { for m := range ch { err := producer.ToMailNotify(ctx, m) if err != nil { log.Fatal(err.Error()) } } }() for i := 0; i < 2; i++ { ch <- brokers.Message{ AccountID: faker.String(), Email: "pashamullin202@gmail.com", ServiceKey: "squiz", SendAt: time.Now(), } time.Sleep(time.Second) } close(ch) }