Added more tests covering invalid custom slugs

This commit is contained in:
Alejandro Celaya 2020-03-06 20:01:41 +01:00
parent 18ceafeb60
commit f5c1e12db4
4 changed files with 15 additions and 2 deletions

View file

@ -27,6 +27,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this
#### Fixed
* [#665](https://github.com/shlinkio/shlink/issues/665) Fixed `base_url_redirect_to` simplified config option not being properly parsed.
* [#663](https://github.com/shlinkio/shlink/issues/663) Fixed Shlink allowing short URLs to be created with an empty custom slug.
## 2.0.5 - 2020-02-09

View file

@ -49,7 +49,7 @@
"predis/predis": "^1.1",
"pugx/shortid-php": "^0.5",
"ramsey/uuid": "^3.9",
"shlinkio/shlink-common": "^2.7.0",
"shlinkio/shlink-common": "^2.8.0",
"shlinkio/shlink-event-dispatcher": "^1.3",
"shlinkio/shlink-installer": "^4.2.0",
"shlinkio/shlink-ip-geolocation": "^1.3.1",

View file

@ -44,7 +44,10 @@ class ShortUrlMetaInputFilter extends InputFilter
// empty, is by using the deprecated setContinueIfEmpty
$customSlug = $this->createInput(self::CUSTOM_SLUG, false)->setContinueIfEmpty(true);
$customSlug->getFilterChain()->attach(new Validation\SluggerFilter());
$customSlug->getValidatorChain()->attach(new Validator\NotEmpty(Validator\NotEmpty::STRING));
$customSlug->getValidatorChain()->attach(new Validator\NotEmpty([
Validator\NotEmpty::STRING,
Validator\NotEmpty::SPACE,
]));
$this->add($customSlug);
$this->add($this->createPositiveNumberInput(self::MAX_VISITS));

View file

@ -47,6 +47,15 @@ class ShortUrlMetaTest extends TestCase
yield [[
ShortUrlMetaInputFilter::SHORT_CODE_LENGTH => 3,
]];
yield [[
ShortUrlMetaInputFilter::CUSTOM_SLUG => '/',
]];
yield [[
ShortUrlMetaInputFilter::CUSTOM_SLUG => '',
]];
yield [[
ShortUrlMetaInputFilter::CUSTOM_SLUG => ' ',
]];
}
/** @test */