25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

36 lines
1.0 KiB

  1. package controller
  2. import (
  3. "net/http"
  4. "net/http/httptest"
  5. "testing"
  6. "github.com/gin-gonic/gin"
  7. "github.com/stretchr/testify/require"
  8. )
  9. func TestGetChannelAffinityUsageCacheStatsRequiresRuleAndFingerprint(t *testing.T) {
  10. gin.SetMode(gin.TestMode)
  11. router := gin.New()
  12. router.GET("/stats", GetChannelAffinityUsageCacheStats)
  13. for _, target := range []string{"/stats?key_fp=abc", "/stats?rule_name=rule"} {
  14. response := httptest.NewRecorder()
  15. router.ServeHTTP(response, httptest.NewRequest(http.MethodGet, target, nil))
  16. require.Equal(t, http.StatusBadRequest, response.Code)
  17. require.Contains(t, response.Body.String(), `"success":false`)
  18. }
  19. }
  20. func TestClearChannelAffinityCacheRequiresSelector(t *testing.T) {
  21. gin.SetMode(gin.TestMode)
  22. router := gin.New()
  23. router.DELETE("/cache", ClearChannelAffinityCache)
  24. response := httptest.NewRecorder()
  25. router.ServeHTTP(response, httptest.NewRequest(http.MethodDelete, "/cache", nil))
  26. require.Equal(t, http.StatusBadRequest, response.Code)
  27. require.Contains(t, response.Body.String(), `"success":false`)
  28. }