Files
gochat/backend/internal/middleware/coverage3b_test.go
T

105 lines
2.7 KiB
Go

package middleware
import (
"net/http"
"net/http/httptest"
"strings"
"testing"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
)
func TestRequireSession_NoSession_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
mw := RequireSession()
mw(c)
assert.True(t, c.IsAborted())
assert.Equal(t, http.StatusUnauthorized, w.Code)
}
func TestRequireSession_WithSession_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
c.Set("session_id", "test-session")
mw := RequireSession()
mw(c)
assert.False(t, c.IsAborted())
}
func TestRequireSession_EmptySession_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
c.Set("session_id", "")
mw := RequireSession()
mw(c)
assert.True(t, c.IsAborted())
}
func TestSuperAdminOrAdministrator_NoContext_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
mw := SuperAdminOrAdministrator()
mw(c)
assert.True(t, c.IsAborted())
}
func TestSuperAdminOrAdministrator_SuperAdmin_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
c.Set("user_type", "SuperAdmin")
mw := SuperAdminOrAdministrator()
mw(c)
assert.False(t, c.IsAborted())
}
func TestSuperAdminOrAdministrator_Administrator_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
c.Set("policy_context", nil)
mw := SuperAdminOrAdministrator()
mw(c)
assert.True(t, c.IsAborted())
}
func TestUploadSecurityMiddleware_NilConfig_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
mw := UploadSecurityMiddleware(nil)
mw(c)
assert.False(t, c.IsAborted())
}
func TestUploadSecurityMiddleware_NoMultipart_Cov3b(t *testing.T) {
gin.SetMode(gin.TestMode)
w := httptest.NewRecorder()
c, _ := gin.CreateTestContext(w)
c.Request = httptest.NewRequest("GET", "/", nil)
cfg := DefaultUploadSecurityConfig()
mw := UploadSecurityMiddleware(cfg)
mw(c)
assert.False(t, c.IsAborted())
}
func TestInspectZipArchive_NotZip_Cov3b(t *testing.T) {
r := strings.NewReader("not a zip file")
cfg := DefaultUploadSecurityConfig()
err := inspectZipArchive(r, 14, cfg)
assert.Error(t, err)
}