func TestReceiverWithSync()

in plugins/receiver/grpc/common_test_help.go [96:123]


func TestReceiverWithSync(rec receiver.Receiver,
	dataGenerator func(t *testing.T, sequence int, conn *grpc.ClientConn, sendData *string, ctx context.Context),
	snifferConvertor func(data *v1.SniffData) string, mockResp *v1.SniffData, t *testing.T,
) {
	Init(rec)
	grpcPort := randomGrpcPort()
	r := initReceiver(make(plugin.Config), t, rec)
	s := initServer(make(plugin.Config), grpcPort, t)
	r.RegisterHandler(s.GetServer())
	time.Sleep(time.Second)
	defer func() {
		if err := s.Close(); err != nil {
			t.Fatalf("cannot close the sever: %v", err)
		}
	}()
	_ = s.Start()

	var data string
	invoker := syncInvoker{snifferConvertor: snifferConvertor, mockResp: mockResp, data: &data}
	r.RegisterSyncInvoker(&invoker)
	conn := initConnection(grpcPort, t)
	for i := 0; i < 10; i++ {
		dataGenerator(t, i, conn, &data, context.Background())
		if invoker.errorMsg != "" {
			t.Fatalf("%s", invoker.errorMsg)
		}
	}
}