Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

39 строки
1.1 KiB

  1. package model
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/require"
  5. )
  6. func TestSanitizeLikePatternEscapesLiteralCharactersAndRejectsExpensiveWildcards(t *testing.T) {
  7. pattern, err := sanitizeLikePattern("api_key!v1")
  8. require.NoError(t, err)
  9. require.Equal(t, "api!_key!!v1", pattern)
  10. pattern, err = sanitizeLikePattern("ab%cd")
  11. require.NoError(t, err)
  12. require.Equal(t, "ab%cd", pattern)
  13. _, err = sanitizeLikePattern("%%")
  14. require.Error(t, err)
  15. _, err = sanitizeLikePattern("a%b%c%d")
  16. require.Error(t, err)
  17. _, err = sanitizeLikePattern("a%")
  18. require.Error(t, err)
  19. }
  20. func TestTokenParsersNormalizeIPAndModelLimitFields(t *testing.T) {
  21. allowIPs := " 127.0.0.1,\n 10.0.0.1 \n\n"
  22. token := Token{AllowIps: &allowIPs, ModelLimits: "gpt-5,claude-sonnet"}
  23. require.Equal(t, []string{"127.0.0.1", "10.0.0.1"}, token.GetIpLimits())
  24. require.Equal(t, []string{"gpt-5", "claude-sonnet"}, token.GetModelLimits())
  25. require.Equal(t, map[string]bool{"gpt-5": true, "claude-sonnet": true}, token.GetModelLimitsMap())
  26. token.AllowIps = nil
  27. token.ModelLimits = ""
  28. require.Empty(t, token.GetIpLimits())
  29. require.Empty(t, token.GetModelLimits())
  30. }