Merge pull request #200 from yan12125/fix-regex

regex: make sure regex fails if nothing is found
This commit is contained in:
依云 2021-08-31 20:18:52 +08:00 committed by GitHub
commit 4d6e87a975
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 6 deletions

View file

@ -22,9 +22,7 @@ async def get_version_impl(info):
res = await session.get(conf['url'])
body = res.body.decode(encoding)
try:
version = regex.findall(body)
except ValueError:
if not conf.get('missing_ok', False):
raise GetVersionError('version string not found.')
return version
versions = regex.findall(body)
if not versions and not conf.get('missing_ok', False):
raise GetVersionError('version string not found.')
return versions

View file

@ -43,6 +43,14 @@ async def test_missing_ok(get_version, httpbin):
"missing_ok": True,
}) is None
async def test_missing(get_version, httpbin):
with pytest.raises(RuntimeError):
await get_version("example", {
"source": "regex",
"url": httpbin.url + "/base64/" + base64_encode("something not there"),
"regex": "foobar",
})
async def test_regex_with_tokenBasic(get_version, httpbin):
assert await get_version("example", {
"source": "regex",