Commit 6eaa2984 by Paul Sanders Committed by GitHub

Refactoring uploader into a fixture (#3679)

* Relates-to: #3155 converting duplicted code to fixture
parent 74ec1690
...@@ -10,7 +10,7 @@ def tester(command_tester_factory): ...@@ -10,7 +10,7 @@ def tester(command_tester_factory):
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
def _add_packages(repo): def __add_packages(repo):
cachy020 = get_package("cachy", "0.2.0") cachy020 = get_package("cachy", "0.2.0")
cachy020.add_dependency(Factory.create_dependency("msgpack-python", ">=0.5 <0.6")) cachy020.add_dependency(Factory.create_dependency("msgpack-python", ">=0.5 <0.6"))
......
...@@ -16,9 +16,13 @@ def project(name): ...@@ -16,9 +16,13 @@ def project(name):
return fixtures_dir / name return fixtures_dir / name
def test_uploader_properly_handles_400_errors(http): @pytest.fixture
def uploader():
return Uploader(Factory().create_poetry(project("simple_project")), NullIO())
def test_uploader_properly_handles_400_errors(http, uploader):
http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request") http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request")
uploader = Uploader(Factory().create_poetry(project("simple_project")), NullIO())
with pytest.raises(UploadError) as e: with pytest.raises(UploadError) as e:
uploader.upload("https://foo.com") uploader.upload("https://foo.com")
...@@ -26,9 +30,8 @@ def test_uploader_properly_handles_400_errors(http): ...@@ -26,9 +30,8 @@ def test_uploader_properly_handles_400_errors(http):
assert "HTTP Error 400: Bad Request" == str(e.value) assert "HTTP Error 400: Bad Request" == str(e.value)
def test_uploader_properly_handles_403_errors(http): def test_uploader_properly_handles_403_errors(http, uploader):
http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized")
uploader = Uploader(Factory().create_poetry(project("simple_project")), NullIO())
with pytest.raises(UploadError) as e: with pytest.raises(UploadError) as e:
uploader.upload("https://foo.com") uploader.upload("https://foo.com")
...@@ -36,9 +39,8 @@ def test_uploader_properly_handles_403_errors(http): ...@@ -36,9 +39,8 @@ def test_uploader_properly_handles_403_errors(http):
assert "HTTP Error 403: Forbidden" == str(e.value) assert "HTTP Error 403: Forbidden" == str(e.value)
def test_uploader_properly_handles_301_redirects(http): def test_uploader_properly_handles_301_redirects(http, uploader):
http.register_uri(http.POST, "https://foo.com", status=301, body="Redirect") http.register_uri(http.POST, "https://foo.com", status=301, body="Redirect")
uploader = Uploader(Factory().create_poetry(project("simple_project")), NullIO())
with pytest.raises(UploadError) as e: with pytest.raises(UploadError) as e:
uploader.upload("https://foo.com") uploader.upload("https://foo.com")
...@@ -48,12 +50,11 @@ def test_uploader_properly_handles_301_redirects(http): ...@@ -48,12 +50,11 @@ def test_uploader_properly_handles_301_redirects(http):
) )
def test_uploader_registers_for_appropriate_400_errors(mocker, http): def test_uploader_registers_for_appropriate_400_errors(mocker, http, uploader):
register = mocker.patch("poetry.publishing.uploader.Uploader._register") register = mocker.patch("poetry.publishing.uploader.Uploader._register")
http.register_uri( http.register_uri(
http.POST, "https://foo.com", status=400, body="No package was ever registered" http.POST, "https://foo.com", status=400, body="No package was ever registered"
) )
uploader = Uploader(Factory().create_poetry(project("simple_project")), NullIO())
with pytest.raises(UploadError): with pytest.raises(UploadError):
uploader.upload("https://foo.com") uploader.upload("https://foo.com")
......
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