Files
ginimageApi/main_test.go
Beyhan Oğur e04ba85564 first commit
2026-04-26 21:40:14 +03:00

47 lines
1.0 KiB
Go

package main
import (
"net/http"
"net/http/httptest"
"testing"
"ginimageApi/app/middleware"
"ginimageApi/routers"
"github.com/gin-gonic/gin"
)
func TestHTTPStackSmoke(t *testing.T) {
gin.SetMode(gin.TestMode)
t.Setenv("CORS_ALLOW_ORIGIN", "*")
t.Setenv("RATE_LIMIT_RPM", "100")
r := gin.New()
r.Use(middleware.DynamicCORS())
r.Use(middleware.DynamicRateLimit())
routers.Setup(r)
req := httptest.NewRequest(http.MethodPost, "/api/v1/auth/login", nil)
w := httptest.NewRecorder()
r.ServeHTTP(w, req)
if w.Code == http.StatusNotFound {
t.Fatalf("expected login route to be registered")
}
if got := w.Header().Get("Access-Control-Allow-Origin"); got == "" {
t.Fatalf("expected CORS header to be present")
}
}
func TestEnsureRequiredEnv(t *testing.T) {
t.Setenv("JWT_SECRET", "")
if err := ensureRequiredEnv(); err == nil {
t.Fatalf("expected error when JWT_SECRET is empty")
}
t.Setenv("JWT_SECRET", "super-secret")
if err := ensureRequiredEnv(); err != nil {
t.Fatalf("expected nil error, got %v", err)
}
}