// // 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. // 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) }