From 10d492a1e2e365c198036b762abea716c08ba0c5 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 18 Sep 2024 13:07:51 +0200
Subject: [PATCH] OZG-6730 Refactoring

---
 internal/mock/grpc_server.go        | 10 ++++++----
 internal/server/grpc_router.go      |  2 +-
 internal/server/grpc_router_test.go |  4 ++--
 internal/server/handler.go          |  7 ++++---
 internal/server/handler_test.go     |  2 --
 5 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/internal/mock/grpc_server.go b/internal/mock/grpc_server.go
index d501abf..66f6fd7 100644
--- a/internal/mock/grpc_server.go
+++ b/internal/mock/grpc_server.go
@@ -95,7 +95,11 @@ func (s *binaryFileServer) FindBinaryFilesMetaData(_ context.Context, _ *pb.Grpc
 	return &pb.GrpcFindFilesResponse{}, nil
 }
 
-func (s *binaryFileServer) GetBinaryFileContent(_ *pb.GrpcGetBinaryFileDataRequest, stream pb.BinaryFileService_GetBinaryFileContentServer) error {
+func (s *binaryFileServer) GetBinaryFileContent(in *pb.GrpcGetBinaryFileDataRequest, stream pb.BinaryFileService_GetBinaryFileContentServer) error {
+	if in.FileId == "" {
+		return status.Error(codes.InvalidArgument, "FileId is missing")
+	}
+
 	fp := defaultFilePath
 	if testing.Testing() {
 		fp = testFilePath
@@ -117,9 +121,7 @@ func (s *binaryFileServer) GetBinaryFileContent(_ *pb.GrpcGetBinaryFileDataReque
 			return err
 		}
 
-		chunk := &pb.GrpcGetBinaryFileDataResponse{
-			FileContent: buffer[:bytesRead],
-		}
+		chunk := &pb.GrpcGetBinaryFileDataResponse{FileContent: buffer[:bytesRead]}
 		if err := stream.Send(chunk); err != nil {
 			return err
 		}
diff --git a/internal/server/grpc_router.go b/internal/server/grpc_router.go
index ba506da..b34e996 100644
--- a/internal/server/grpc_router.go
+++ b/internal/server/grpc_router.go
@@ -195,7 +195,7 @@ func StartGrpcRouter() *grpc.Server {
 	}
 	logger.Info("gRPC router listening on port %d", conf.Grpc.Router.Port)
 
-	if err := s.Serve(lis); err != nil {
+	if err = s.Serve(lis); err != nil {
 		logger.Fatal("gRPC router failed to serve: %v", err)
 	}
 
diff --git a/internal/server/grpc_router_test.go b/internal/server/grpc_router_test.go
index 0f81f57..15e5520 100644
--- a/internal/server/grpc_router_test.go
+++ b/internal/server/grpc_router_test.go
@@ -69,7 +69,7 @@ func TestStartGrpcRouter(t *testing.T) {
 		client, cleanUp := setUpGrpcRouterEnv()
 		defer cleanUp()
 
-		md := metadata.New(map[string]string{"x-grpc-address": "localhost"})
+		md := metadata.New(map[string]string{GrpcAddressMetadata: "localhost"})
 		ctx := metadata.NewOutgoingContext(context.Background(), md)
 		resp, err := client.FindRueckfragen(ctx, &pb.GrpcFindRueckfragenRequest{PostfachId: "testPostfachId"})
 
@@ -81,7 +81,7 @@ func TestStartGrpcRouter(t *testing.T) {
 		client, cleanUp := setUpGrpcRouterEnv()
 		defer cleanUp()
 
-		md := metadata.New(map[string]string{"x-grpc-address": "localhost"})
+		md := metadata.New(map[string]string{GrpcAddressMetadata: "localhost"})
 		ctx := metadata.NewOutgoingContext(context.Background(), md)
 		resp, err := client.FindRueckfragen(ctx, &pb.GrpcFindRueckfragenRequest{})
 
diff --git a/internal/server/handler.go b/internal/server/handler.go
index 88a294c..f0e0e05 100644
--- a/internal/server/handler.go
+++ b/internal/server/handler.go
@@ -41,6 +41,7 @@ import (
 )
 
 const (
+	fileIdParam                 = "fileId"
 	fileFormKey                 = "file"
 	vorgangIdFormKey            = "vorgangId"
 	contentTypeHeaderKey        = "Content-Type"
@@ -195,7 +196,7 @@ func sendFileChunks(stream pb.BinaryFileService_UploadBinaryFileAsStreamClient,
 }
 
 func RegisterGetFileEndpoint(mux *runtime.ServeMux) {
-	err := mux.HandlePath("GET", "/api/v1/file/content/{fileId}", getFileHandler)
+	err := mux.HandlePath("GET", "/api/v1/file/content/{"+fileIdParam+"}", getFileHandler)
 
 	if err != nil {
 		logger.Fatal("failed to register get file endpoint: %v", err)
@@ -203,7 +204,7 @@ func RegisterGetFileEndpoint(mux *runtime.ServeMux) {
 }
 
 func getFileHandler(w http.ResponseWriter, r *http.Request, vars map[string]string) {
-	fileBuffer, err := fetchFileFromGrpc(r.Context(), vars["fileId"], r.Header.Get(GrpcAddressHeader))
+	fileBuffer, err := fetchFileFromGrpc(r.Context(), vars[fileIdParam], r.Header.Get(GrpcAddressHeader))
 	if err != nil {
 		http.Error(w, err.Error(), http.StatusInternalServerError)
 		return
@@ -215,7 +216,7 @@ func getFileHandler(w http.ResponseWriter, r *http.Request, vars map[string]stri
 	}
 }
 
-func fetchFileFromGrpc(ctx context.Context, fileId, grpcAddress string) (*bytes.Buffer, error) {
+func fetchFileFromGrpc(ctx context.Context, fileId string, grpcAddress string) (*bytes.Buffer, error) {
 	var fileBuffer bytes.Buffer
 
 	target := GetGrpcServerUrl(grpcAddress, conf)
diff --git a/internal/server/handler_test.go b/internal/server/handler_test.go
index c2e6d35..8aa40f2 100644
--- a/internal/server/handler_test.go
+++ b/internal/server/handler_test.go
@@ -129,7 +129,6 @@ func TestRegisterBinaryFileEndpoints(t *testing.T) {
 
 func TestRegisterFileUploadEndpoint(t *testing.T) {
 	mock.SetUpGrpcServer()
-	SetUpGrpcRouter()
 	SetUpHttpGateway()
 
 	var requestBody bytes.Buffer
@@ -161,7 +160,6 @@ func TestRegisterFileUploadEndpoint(t *testing.T) {
 
 func TestRegisterGetFileEndpoint(t *testing.T) {
 	mock.SetUpGrpcServer()
-	SetUpGrpcRouter()
 	SetUpHttpGateway()
 
 	jsonData := []byte(``)
-- 
GitLab