Commit 0b33b87b by pauleikis Committed by Sébastien Eustace

Raise ValueError when repository does not contain any valid package with required version (#421)

parent f319b55c
...@@ -298,6 +298,12 @@ class LegacyRepository(PyPiRepository): ...@@ -298,6 +298,12 @@ class LegacyRepository(PyPiRepository):
} }
links = list(page.links_for_version(Version.parse(version))) links = list(page.links_for_version(Version.parse(version)))
if not links:
raise ValueError(
'No valid distribution links found for package: "{}" version: "{}"'.format(
name, version
)
)
urls = {} urls = {}
hashes = [] hashes = []
default_link = links[0] default_link = links[0]
......
<!DOCTYPE html>
<html>
<head>
<title>Links for poetry</title>
</head>
<body>
<h1>Links for poetry</h1>
<a href="poetry-0.1.0-py3-none-any.whl#sha256=1d85132efab8ead3c6f69202843da40a03823992091c29f8d65a31af68940163" data-requires-python="&gt;=3.6.0">poetry-0.1.0-py3-none-any.whl</a><br/>
</body>
</html>
<!--SERIAL 3907384-->
\ No newline at end of file
import pytest
from poetry.repositories.legacy_repository import LegacyRepository from poetry.repositories.legacy_repository import LegacyRepository
from poetry.repositories.legacy_repository import Page from poetry.repositories.legacy_repository import Page
from poetry.utils._compat import Path from poetry.utils._compat import Path
...@@ -50,3 +52,10 @@ def test_http_basic_auth_repo(mocker): ...@@ -50,3 +52,10 @@ def test_http_basic_auth_repo(mocker):
mock.assert_called_once_with("legacy") mock.assert_called_once_with("legacy")
assert repo._session.auth == ("user1", "p4ss") assert repo._session.auth == ("user1", "p4ss")
def test_missing_version(mocker):
repo = MockRepository()
with pytest.raises(ValueError):
repo._get_release_info("missing_version", "1.1.0")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment