test(server): Swagger hidden in production unless SWAGGER_ENABLED

This commit is contained in:
2026-05-06 20:13:56 +02:00
parent 7c525e71cb
commit 2ede636bd6
+30
View File
@@ -348,6 +348,8 @@ func TestRouterWithoutPageHandler(t *testing.T) {
}
func TestSwaggerRoute(t *testing.T) {
t.Setenv("GOYCO_ENV", "development")
t.Setenv("SWAGGER_ENABLED", "")
router := createTestRouter(createDefaultRouterConfig())
request := httptest.NewRequest(http.MethodGet, "/swagger/", nil)
@@ -360,6 +362,34 @@ func TestSwaggerRoute(t *testing.T) {
}
}
func TestSwaggerRouteHiddenInProduction(t *testing.T) {
t.Setenv("GOYCO_ENV", "production")
t.Setenv("SWAGGER_ENABLED", "")
router := createTestRouter(createDefaultRouterConfig())
request := httptest.NewRequest(http.MethodGet, "/swagger/", nil)
recorder := httptest.NewRecorder()
router.ServeHTTP(recorder, request)
if recorder.Code != http.StatusNotFound {
t.Errorf("Expected 404 for swagger in production, got %d", recorder.Code)
}
}
func TestSwaggerRouteEnabledInProductionWhenForced(t *testing.T) {
t.Setenv("GOYCO_ENV", "production")
t.Setenv("SWAGGER_ENABLED", "true")
router := createTestRouter(createDefaultRouterConfig())
request := httptest.NewRequest(http.MethodGet, "/swagger/", nil)
recorder := httptest.NewRecorder()
router.ServeHTTP(recorder, request)
if recorder.Code != http.StatusOK && recorder.Code != http.StatusMovedPermanently {
t.Errorf("Expected status 200 or 301 for swagger when SWAGGER_ENABLED, got %d", recorder.Code)
}
}
func TestStaticFileRoute(t *testing.T) {
cfg := createDefaultRouterConfig()
cfg.StaticDir = "../../internal/static/"