From 4c734f13864832613dacd809ca5ec15575e5b7fc Mon Sep 17 00:00:00 2001 From: Cere Blanco <743526+cereblanco@users.noreply.github.com> Date: Wed, 10 Feb 2021 08:55:43 +0800 Subject: [PATCH 1/2] Update tests/repositories/test_legacy_repository.py Co-authored-by: Arun Babu Neelicattu --- tests/repositories/test_legacy_repository.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/tests/repositories/test_legacy_repository.py b/tests/repositories/test_legacy_repository.py index 9de70520728..6fad23b0e1f 100644 --- a/tests/repositories/test_legacy_repository.py +++ b/tests/repositories/test_legacy_repository.py @@ -310,14 +310,8 @@ def test_get_200_returns_page(http): assert repo._get("/foo") -def test_get_404_returns_none(http): - repo = MockHttpRepository({"/foo": 404}, http) - - assert repo._get("/foo") is None - - -def test_get_4xx_and_5xx_raises(http): - endpoints = {"/{}".format(code): code for code in {401, 403, 500}} +def test_get_40x_and_returns_none(http): + endpoints = {"/{}".format(code): code for code in {401, 403, 404}} repo = MockHttpRepository(endpoints, http) for endpoint in endpoints: From 41d0a2bab6070c8bc479787ca2747b5fb47b26a1 Mon Sep 17 00:00:00 2001 From: Cere Blanco <743526+cereblanco@users.noreply.github.com> Date: Wed, 10 Feb 2021 09:50:09 +0800 Subject: [PATCH 2/2] Fix rebase conflicts --- poetry/repositories/legacy_repository.py | 13 ++++++------- tests/repositories/test_legacy_repository.py | 17 +++++++++++------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/poetry/repositories/legacy_repository.py b/poetry/repositories/legacy_repository.py index d14d48fe2fe..9217612b13a 100644 --- a/poetry/repositories/legacy_repository.py +++ b/poetry/repositories/legacy_repository.py @@ -393,19 +393,18 @@ def _get(self, endpoint: str) -> Optional[Page]: url = self._url + endpoint try: response = self.session.get(url) + if response.status_code in (401, 403): + self._log( + "Authorization error accessing {url}".format(url=url), + level="warning", + ) + return if response.status_code == 404: return response.raise_for_status() except requests.HTTPError as e: raise RepositoryError(e) - if response.status_code in (401, 403): - self._log( - "Authorization error accessing {url}".format(url=response.url), - level="warn", - ) - return - if response.url != url: self._log( "Response URL {response_url} differs from request URL {url}".format( diff --git a/tests/repositories/test_legacy_repository.py b/tests/repositories/test_legacy_repository.py index 6fad23b0e1f..122f51fe23d 100644 --- a/tests/repositories/test_legacy_repository.py +++ b/tests/repositories/test_legacy_repository.py @@ -310,13 +310,18 @@ def test_get_200_returns_page(http): assert repo._get("/foo") -def test_get_40x_and_returns_none(http): - endpoints = {"/{}".format(code): code for code in {401, 403, 404}} - repo = MockHttpRepository(endpoints, http) +@pytest.mark.parametrize("status_code", [401, 403, 404]) +def test_get_40x_and_returns_none(http, status_code): + repo = MockHttpRepository({"/foo": status_code}, http) - for endpoint in endpoints: - with pytest.raises(RepositoryError): - repo._get(endpoint) + assert repo._get("/foo") is None + + +def test_get_5xx_raises(http): + repo = MockHttpRepository({"/foo": 500}, http) + + with pytest.raises(RepositoryError): + repo._get("/foo") def test_get_redirected_response_url(http, monkeypatch):