Files
FastDeploy/fastdeploy/golang_router/internal/middleware/logger_test.go
T
mouxin 0a92e96f20 [Feature] Add Golang-based Router for Request Scheduling and Load Balancing (#5882)
* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

---------

Co-authored-by: mouxin <mouxin@baidu.com>
2026-01-07 21:28:08 +08:00

49 lines
1.0 KiB
Go

package middleware
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/PaddlePaddle/FastDeploy/router/pkg/logger"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
)
func init() {
// Initialize logger to avoid nil pointer dereference in recovery middleware
logger.Init("info", "stdout")
}
func TestLoggerMiddleware(t *testing.T) {
router := gin.New()
router.Use(Logger())
router.GET("/test", func(c *gin.Context) {
c.String(200, "OK")
})
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/test", nil)
router.ServeHTTP(w, req)
assert.Equal(t, 200, w.Code)
}
func TestRecoveryMiddleware(t *testing.T) {
router := gin.New()
router.Use(Recovery())
router.GET("/panic", func(c *gin.Context) {
panic("test panic")
})
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/panic", nil)
router.ServeHTTP(w, req)
assert.Equal(t, 500, w.Code)
// The response should contain the error message
assert.Contains(t, w.Body.String(), "Internal server error")
}