Skip to content
Snippets Groups Projects
middleware_test.go 1.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • OZGCloud's avatar
    OZGCloud committed
    /*
     * Copyright (C) 2023-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 (
    	"bytes"
    	"info-manager-proxy/internal/mock"
    	"fmt"
    	"github.com/stretchr/testify/assert"
    	"log"
    	"net/http"
    	"testing"
    )
    
    func TestRequestLoggingMiddleware(t *testing.T) {
    	mock.SetUpGrpcServer()
    	SetUpHttpGateway()
    
    	var buf bytes.Buffer
    	logger.BaseLogger.SetOutput(&buf)
    
    	originalFlags := log.Flags()
    	defer func() {
    		log.SetOutput(nil)
    		log.SetFlags(originalFlags)
    	}()
    
    	jsonData := []byte(`{"postfachId": "testPostfachId"}`)
    	http.Post(fmt.Sprintf("http://localhost:8080%v", RegisterInformationUrlPath), "application/json", bytes.NewBuffer(jsonData))
    
    	logOutput := buf.String()
    	assert.Contains(t, logOutput, "received request with body: {\"postfachId\": \"testPostfachId\"}")
    	assert.Contains(t, logOutput, "successfully handled request with body: {\"postfachId\": \"testPostfachId\"}")
    }