Commit 3c558566 by Sébastien Eustace

Fix tests

parent d67cbbf1
...@@ -94,7 +94,7 @@ class Uploader: ...@@ -94,7 +94,7 @@ class Uploader:
def is_authenticated(self): def is_authenticated(self):
return self._username is not None and self._password is not None return self._username is not None and self._password is not None
def upload(self, url: str) -> bool: def upload(self, url):
session = self.make_session() session = self.make_session()
try: try:
...@@ -180,7 +180,7 @@ class Uploader: ...@@ -180,7 +180,7 @@ class Uploader:
return data return data
def _upload(self, session, url) -> bool: def _upload(self, session, url):
try: try:
self._do_upload(session, url) self._do_upload(session, url)
except HTTPError as e: except HTTPError as e:
......
import httpretty
import os import os
import pytest import pytest
import shutil import shutil
...@@ -62,3 +63,12 @@ def git_mock(mocker): ...@@ -62,3 +63,12 @@ def git_mock(mocker):
mocker.patch("poetry.vcs.git.Git.checkout", new=lambda *_: None) mocker.patch("poetry.vcs.git.Git.checkout", new=lambda *_: None)
p = mocker.patch("poetry.vcs.git.Git.rev_parse") p = mocker.patch("poetry.vcs.git.Git.rev_parse")
p.return_value = "9cf87a285a2d3fbb0b9fa621997b3acc3631ed24" p.return_value = "9cf87a285a2d3fbb0b9fa621997b3acc3631ed24"
@pytest.fixture
def http():
httpretty.enable()
yield httpretty
httpretty.disable()
import httpretty def test_publish_returns_non_zero_code_for_upload_errors(app, app_tester, http):
http.register_uri(
from cleo.testers import ApplicationTester http.POST, "https://upload.pypi.org/legacy/", status=400, body="Bad Request"
@httpretty.activate
def test_publish_returns_non_zero_code_for_upload_errors(app, app_tester):
httpretty.register_uri(
httpretty.POST,
"https://upload.pypi.org/legacy/",
status=400,
body="Bad Request",
) )
exit_code = app_tester.run( exit_code = app_tester.run(
......
import httpretty
import pytest import pytest
import shutil import shutil
...@@ -31,11 +30,8 @@ def project(name): ...@@ -31,11 +30,8 @@ def project(name):
return Path(__file__).parent / "fixtures" / name return Path(__file__).parent / "fixtures" / name
@httpretty.activate def test_uploader_properly_handles_400_errors(http):
def test_uploader_properly_handles_400_errors(): http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request")
httpretty.register_uri(
httpretty.POST, "https://foo.com", status=400, body="Bad request"
)
uploader = Uploader(Poetry.create(project("complete")), NullIO()) uploader = Uploader(Poetry.create(project("complete")), NullIO())
with pytest.raises(UploadError) as e: with pytest.raises(UploadError) as e:
...@@ -44,11 +40,8 @@ def test_uploader_properly_handles_400_errors(): ...@@ -44,11 +40,8 @@ def test_uploader_properly_handles_400_errors():
assert "HTTP Error 400: Bad Request" == str(e.value) assert "HTTP Error 400: Bad Request" == str(e.value)
@httpretty.activate def test_uploader_properly_handles_403_errors(http):
def test_uploader_properly_handles_403_errors(): http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized")
httpretty.register_uri(
httpretty.POST, "https://foo.com", status=403, body="Unauthorized"
)
uploader = Uploader(Poetry.create(project("complete")), NullIO()) uploader = Uploader(Poetry.create(project("complete")), NullIO())
with pytest.raises(UploadError) as e: with pytest.raises(UploadError) as e:
...@@ -57,18 +50,14 @@ def test_uploader_properly_handles_403_errors(): ...@@ -57,18 +50,14 @@ def test_uploader_properly_handles_403_errors():
assert "HTTP Error 403: Forbidden" == str(e.value) assert "HTTP Error 403: Forbidden" == str(e.value)
@httpretty.activate def test_uploader_registers_for_appropriate_400_errors(mocker, http):
def test_uploader_registers_for_appropriate_400_errors(mocker):
register = mocker.patch("poetry.masonry.publishing.uploader.Uploader._register") register = mocker.patch("poetry.masonry.publishing.uploader.Uploader._register")
httpretty.register_uri( http.register_uri(
httpretty.POST, http.POST, "https://foo.com", status=400, body="No package was ever registered"
"https://foo.com",
status=400,
body="No package was ever registered",
) )
uploader = Uploader(Poetry.create(project("complete")), NullIO()) uploader = Uploader(Poetry.create(project("complete")), NullIO())
with pytest.raises(UploadError): with pytest.raises(UploadError):
uploader.upload("https://foo.com") uploader.upload("https://foo.com")
register.assert_called_once() assert 1 == register.call_count
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