12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package options
- import (
- "testing"
- "github.com/imgproxy/imgproxy/v3/security"
- "github.com/imgproxy/imgproxy/v3/testutil"
- "github.com/stretchr/testify/suite"
- )
- type PresetsTestSuite struct {
- testutil.LazySuite
- security *security.Checker
- }
- func (s *PresetsTestSuite) SetupSuite() {
- c := security.NewDefaultConfig()
- security, err := security.New(&c)
- s.Require().NoError(err)
- s.security = security
- }
- func (s *PresetsTestSuite) newFactory(presets ...string) (*Factory, error) {
- c := NewDefaultConfig()
- c.Presets = presets
- return NewFactory(&c, s.security)
- }
- func (s *PresetsTestSuite) TestParsePreset() {
- f, err := s.newFactory("test=resize:fit:100:200/sharpen:2")
- s.Require().NoError(err)
- s.Require().Equal(urlOptions{
- urlOption{Name: "resize", Args: []string{"fit", "100", "200"}},
- urlOption{Name: "sharpen", Args: []string{"2"}},
- }, f.presets["test"])
- }
- func (s *PresetsTestSuite) TestParsePresetInvalidString() {
- presetStr := "resize:fit:100:200/sharpen:2"
- _, err := s.newFactory(presetStr)
- s.Require().Error(err, "invalid preset string: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetEmptyName() {
- presetStr := "=resize:fit:100:200/sharpen:2"
- _, err := s.newFactory(presetStr)
- s.Require().Error(err, "empty preset name: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetEmptyValue() {
- presetStr := "test="
- _, err := s.newFactory(presetStr)
- s.Require().Error(err, "empty preset value: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetInvalidValue() {
- presetStr := "test=resize:fit:100:200/sharpen:2/blur"
- _, err := s.newFactory(presetStr)
- s.Require().Error(err, "invalid preset value: %s", presetStr)
- }
- func (s *PresetsTestSuite) TestParsePresetEmptyString() {
- f, err := s.newFactory(" ")
- s.Require().NoError(err)
- s.Require().Empty(f.presets)
- }
- func (s *PresetsTestSuite) TestParsePresetComment() {
- f, err := s.newFactory("# test=resize:fit:100:200/sharpen:2")
- s.Require().NoError(err)
- s.Require().Empty(f.presets)
- }
- func (s *PresetsTestSuite) TestValidatePresets() {
- f, err := s.newFactory("test=resize:fit:100:200/sharpen:2")
- s.Require().NoError(err)
- s.Require().NotEmpty(f.presets)
- }
- func (s *PresetsTestSuite) TestValidatePresetsInvalid() {
- _, err := s.newFactory("test=resize:fit:-1:-2/sharpen:2")
- s.Require().Error(err)
- }
- func TestPresets(t *testing.T) {
- suite.Run(t, new(PresetsTestSuite))
- }
|