1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-25 23:02:22 +02:00
Files
starter/kafka_connect/kafka_connect_test.go

138 lines
2.9 KiB
Go
Raw Normal View History

2023-03-17 11:20:09 +03:00
package kafka_connect
import (
"context"
2024-11-11 18:09:33 +03:00
"fmt"
2023-12-26 16:42:53 +03:00
"github.com/ManyakRus/starter/config_main"
2023-05-02 09:51:50 +03:00
"github.com/ManyakRus/starter/contextmain"
"github.com/ManyakRus/starter/micro"
2024-11-12 14:56:24 +03:00
"github.com/segmentio/kafka-go"
2023-03-17 11:20:09 +03:00
"testing"
"time"
2023-05-02 09:51:50 +03:00
//"github.com/ManyakRus/starter/common/v0/logger"
"github.com/ManyakRus/starter/stopapp"
2023-03-17 11:20:09 +03:00
)
var TEXT_CONTEXT_DEADLINE = "context deadline exceeded"
func TestConnect_err(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
err := Connect_err()
if err != nil {
t.Error("nats_connect.TestConnect_err() error: ", err)
}
CloseConnection()
}
func TestCloseConnection(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
Connect()
CloseConnection()
}
2024-11-11 18:09:33 +03:00
func TestStart(t *testing.T) {
2023-03-17 11:20:09 +03:00
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
StartKafka()
micro.Pause(20)
_ = contextmain.GetContext()
contextmain.CancelContext()
stopapp.GetWaitGroup_Main().Wait()
contextmain.GetNewContext()
}
func TestWaitStop(t *testing.T) {
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
_ = contextmain.GetContext()
contextmain.CancelContext()
stopapp.GetWaitGroup_Main().Wait()
contextmain.GetNewContext()
}
func TestConnect(t *testing.T) {
//ProgramDir := micro.ProgramDir_Common()
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
Connect()
defer CloseConnection()
}
func TestReadTopic(t *testing.T) {
2023-12-26 16:42:53 +03:00
config_main.LoadEnv()
2023-03-17 11:20:09 +03:00
FillSettings()
//Connect()
//defer CloseConnection()
KafkaReader := ConnectTopic("KAFKA_SERVICE", "")
ctxMain := context.Background()
ctx, ctxCancelFunc := context.WithTimeout(ctxMain, time.Duration(1)*time.Second)
defer ctxCancelFunc()
mess, err := KafkaReader.FetchMessage(ctx)
if err != nil {
if err.Error() == TEXT_CONTEXT_DEADLINE {
t.Log(" KafkaReader.FetchMessage() ", TEXT_CONTEXT_DEADLINE)
} else {
t.Error("FetchMessage() error: ", err)
}
} else {
t.Logf("new message: %#v", mess)
}
}
2024-11-11 18:09:33 +03:00
2024-11-12 14:56:24 +03:00
func TestOffsetFetch(t *testing.T) {
t.SkipNow() //ненужный, только для АЭС
2024-11-11 18:09:33 +03:00
config_main.LoadEnv()
2024-11-12 14:56:24 +03:00
FillSettings()
CreateClient()
//Connect()
//defer CloseConnection()
//
Addr := GetAddr()
2024-11-11 18:09:33 +03:00
2024-11-12 14:56:24 +03:00
//
ctx := context.Background()
MapTopics := make(map[string][]int)
MapTopics["kol_atom_ul_uni.stack.documents"] = []int{0}
OFR := kafka.OffsetFetchRequest{}
OFR.Addr = Addr
OFR.GroupID = "debezium_adapter_dev_documents"
OFR.Topics = MapTopics
Response, err := Client.OffsetFetch(ctx, &OFR)
2024-11-11 18:09:33 +03:00
if err != nil {
2024-11-12 14:56:24 +03:00
t.Errorf("TestOffsetFetch() error: %v", err)
return
2024-11-11 18:09:33 +03:00
}
2024-11-12 14:56:24 +03:00
fmt.Printf("%v", *Response)
}
2024-11-11 18:09:33 +03:00
2024-11-12 14:56:24 +03:00
func TestGetOffsetFromGroupID(t *testing.T) {
t.SkipNow() //ненужный, только для АЭС
2024-11-11 18:09:33 +03:00
2024-11-12 14:56:24 +03:00
config_main.LoadEnv()
FillSettings()
CreateClient()
2024-11-11 18:09:33 +03:00
2024-11-12 14:56:24 +03:00
TopicName := "kol_atom_ul_uni.stack.documents"
GroupID := "debezium_adapter_dev_documents"
Otvet, err := GetOffsetFromGroupID(TopicName, GroupID)
if err != nil {
t.Error("TestGetOffsetFromGroupID() error: ", err)
2024-11-11 18:09:33 +03:00
}
2024-11-12 14:56:24 +03:00
fmt.Printf("Otvet: %v", Otvet)
2024-11-11 18:09:33 +03:00
}