package routes import ( "net/http" "net/http/httptest" "strings" "testing" "github.com/Wei-Shaw/sub2api/internal/config" "github.com/Wei-Shaw/sub2api/internal/handler" servermiddleware "github.com/Wei-Shaw/sub2api/internal/server/middleware" "github.com/gin-gonic/gin" "github.com/stretchr/testify/require" ) func newGatewayRoutesTestRouter() *gin.Engine { gin.SetMode(gin.TestMode) router := gin.New() RegisterGatewayRoutes( router, &handler.Handlers{ Gateway: &handler.GatewayHandler{}, OpenAIGateway: &handler.OpenAIGatewayHandler{}, SoraGateway: &handler.SoraGatewayHandler{}, }, servermiddleware.APIKeyAuthMiddleware(func(c *gin.Context) { c.Next() }), nil, nil, nil, nil, &config.Config{}, ) return router } func TestGatewayRoutesOpenAIResponsesCompactPathIsRegistered(t *testing.T) { router := newGatewayRoutesTestRouter() for _, path := range []string{"/v1/responses/compact", "/responses/compact"} { req := httptest.NewRequest(http.MethodPost, path, strings.NewReader(`{"model":"gpt-5"}`)) req.Header.Set("Content-Type", "application/json") w := httptest.NewRecorder() router.ServeHTTP(w, req) require.NotEqual(t, http.StatusNotFound, w.Code, "path=%s should hit OpenAI responses handler", path) } }