core/tests/mailNotify_test.go

58 lines
1.0 KiB
Go
Raw Normal View History

package tests
import (
"context"
2025-02-24 17:06:12 +00:00
"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)
}