|
- package controller
-
- import (
- "net/http"
- "net/http/httptest"
- "testing"
-
- "github.com/gin-gonic/gin"
- "github.com/stretchr/testify/require"
- )
-
- func TestGetChannelAffinityUsageCacheStatsRequiresRuleAndFingerprint(t *testing.T) {
- gin.SetMode(gin.TestMode)
- router := gin.New()
- router.GET("/stats", GetChannelAffinityUsageCacheStats)
-
- for _, target := range []string{"/stats?key_fp=abc", "/stats?rule_name=rule"} {
- response := httptest.NewRecorder()
- router.ServeHTTP(response, httptest.NewRequest(http.MethodGet, target, nil))
- require.Equal(t, http.StatusBadRequest, response.Code)
- require.Contains(t, response.Body.String(), `"success":false`)
- }
- }
-
- func TestClearChannelAffinityCacheRequiresSelector(t *testing.T) {
- gin.SetMode(gin.TestMode)
- router := gin.New()
- router.DELETE("/cache", ClearChannelAffinityCache)
-
- response := httptest.NewRecorder()
- router.ServeHTTP(response, httptest.NewRequest(http.MethodDelete, "/cache", nil))
-
- require.Equal(t, http.StatusBadRequest, response.Code)
- require.Contains(t, response.Body.String(), `"success":false`)
- }
|