Newer
Older
//
// Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
// Ministerpräsidenten des Landes Schleswig-Holstein
// Staatskanzlei
// Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
//
// Lizenziert unter der EUPL, Version 1.2 oder - sobald
// diese von der Europäischen Kommission genehmigt wurden -
// Folgeversionen der EUPL ("Lizenz");
// Sie dürfen dieses Werk ausschließlich gemäß
// dieser Lizenz nutzen.
// Eine Kopie der Lizenz finden Sie hier:
//
// https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
//
// Sofern nicht durch anwendbare Rechtsvorschriften
// gefordert oder in schriftlicher Form vereinbart, wird
// die unter der Lizenz verbreitete Software "so wie sie
// ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
// ausdrücklich oder stillschweigend - verbreitet.
// Die sprachspezifischen Genehmigungen und Beschränkungen
// unter der Lizenz sind dem Lizenztext zu entnehmen.
//
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package server
import (
pb "antragsraum-proxy/gen/go"
"antragsraum-proxy/internal/config"
"antragsraum-proxy/internal/mock"
"context"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata"
"net"
"testing"
"time"
)
func TestStartGrpcRouter(t *testing.T) {
setUpGrpcRouterEnv := func() (pb.AntragraumServiceClient, func()) {
mock.SetUpGrpcServer()
SetUpGrpcRouter()
conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials()))
assert.NoError(t, err)
cleanUp := func() {
conn.Close()
}
client := pb.NewAntragraumServiceClient(conn)
return client, cleanUp
}
t.Run("should start gRPC router", func(t *testing.T) {
SetUpGrpcRouter()
conn, err := net.DialTimeout("tcp", "localhost:50051", 2*time.Second)
assert.NoError(t, err)
conn.Close()
})
t.Run("should have no error", func(t *testing.T) {
client, cleanUp := setUpGrpcRouterEnv()
defer cleanUp()
md := metadata.New(map[string]string{GrpcAddressMetadata: "localhost"})
ctx := metadata.NewOutgoingContext(context.Background(), md)
resp, err := client.FindRueckfragen(ctx, &pb.GrpcFindRueckfragenRequest{PostfachId: "testPostfachId"})
assert.NoError(t, err)
assert.NotNil(t, resp)
})
t.Run("should have error", func(t *testing.T) {
client, cleanUp := setUpGrpcRouterEnv()
defer cleanUp()
md := metadata.New(map[string]string{GrpcAddressMetadata: "localhost"})
ctx := metadata.NewOutgoingContext(context.Background(), md)
resp, err := client.FindRueckfragen(ctx, &pb.GrpcFindRueckfragenRequest{})
assert.Error(t, err)
assert.Contains(t, err.Error(), "Id is missing")
assert.Nil(t, resp)
})
}
func TestGetGrpcServerUrl(t *testing.T) {
c := config.Config{}
c.Grpc.Server.Port = 1234
result := GetGrpcServerUrl("localhost", c)
assert.Equal(t, "localhost:1234", result)
}