43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package middleware
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func TestRequestIDMiddlewarePassesThrough(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
rec := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(rec)
|
|
c.Request = httptest.NewRequest(http.MethodGet, "/", nil)
|
|
c.Request.Header.Set(RequestIDHeader, "request-1")
|
|
RequestIDMiddleware()(c)
|
|
if rec.Header().Get(RequestIDHeader) != "request-1" {
|
|
t.Fatalf("header = %s", rec.Header().Get(RequestIDHeader))
|
|
}
|
|
if RequestID(c) != "request-1" {
|
|
t.Fatalf("request id = %s", RequestID(c))
|
|
}
|
|
}
|
|
|
|
func TestRequestIDMiddlewareGenerates(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
rec := httptest.NewRecorder()
|
|
c, _ := gin.CreateTestContext(rec)
|
|
c.Request = httptest.NewRequest(http.MethodGet, "/", nil)
|
|
RequestIDMiddleware()(c)
|
|
if RequestID(c) == "" {
|
|
t.Fatal("should generate request id")
|
|
}
|
|
}
|
|
|
|
func TestRedactSensitiveQuery(t *testing.T) {
|
|
got := RedactSensitiveQuery("access_token=abc&password=secret&roomId=1")
|
|
if got != "access_token=%5Bredacted%5D&password=%5Bredacted%5D&roomId=1" {
|
|
t.Fatalf("redacted query = %s", got)
|
|
}
|
|
}
|