From 1591d6bbc9578f775a10ccf835d6d7a7d32add1a Mon Sep 17 00:00:00 2001 From: Daniele Nicolodi Date: Wed, 18 Dec 2024 13:56:37 +0100 Subject: [PATCH] Move test_register away from on-disc test fixtures The tests in this module do not care about the content of the wheel. --- tests/test_register.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/tests/test_register.py b/tests/test_register.py index 2235d415..9591ee9c 100644 --- a/tests/test_register.py +++ b/tests/test_register.py @@ -5,8 +5,6 @@ from twine import exceptions from twine.commands import register -from . import helpers - @pytest.fixture() def register_settings(make_settings): @@ -21,7 +19,7 @@ def register_settings(make_settings): ) -def test_successful_register(register_settings): +def test_successful_register(register_settings, test_wheel): """Return a successful result for a valid repository url and package.""" stub_response = pretend.stub( is_redirect=False, @@ -36,12 +34,12 @@ def test_successful_register(register_settings): register_settings.create_repository = lambda: stub_repository - result = register.register(register_settings, helpers.WHEEL_FIXTURE) + result = register.register(register_settings, str(test_wheel)) assert result is None -def test_exception_for_redirect(register_settings): +def test_exception_for_redirect(register_settings, test_wheel): """Raise an exception when repository URL results in a redirect.""" repository_url = register_settings.repository_config["repository"] redirect_url = "https://malicious.website.org/danger/" @@ -62,10 +60,10 @@ def test_exception_for_redirect(register_settings): exceptions.RedirectDetected, match=rf"{repository_url}.+{redirect_url}.+\nIf you trust these URLs", ): - register.register(register_settings, helpers.WHEEL_FIXTURE) + register.register(register_settings, str(test_wheel)) -def test_non_existent_package(register_settings): +def test_non_existent_package(register_settings, test_wheel): """Raise an exception when package file doesn't exist.""" stub_repository = pretend.stub() @@ -80,7 +78,7 @@ def test_non_existent_package(register_settings): @pytest.mark.parametrize("repo", ["pypi", "testpypi"]) -def test_values_from_env_pypi(monkeypatch, repo): +def test_values_from_env_pypi(monkeypatch, repo, test_wheel): """Use env vars for settings when run from command line.""" def none_register(*args, **settings_kwargs): @@ -96,14 +94,14 @@ def none_register(*args, **settings_kwargs): } for key, value in testenv.items(): monkeypatch.setenv(key, value) - cli.dispatch(["register", helpers.WHEEL_FIXTURE]) + cli.dispatch(["register", str(test_wheel)]) register_settings = replaced_register.calls[0].args[0] assert "pypipassword" == register_settings.password assert "pypiuser" == register_settings.username assert "/foo/bar.crt" == register_settings.cacert -def test_values_from_env_not_pypi(monkeypatch, write_config_file): +def test_values_from_env_not_pypi(monkeypatch, write_config_file, test_wheel): """Use env vars for settings when run from command line.""" write_config_file( """ @@ -131,7 +129,7 @@ def none_register(*args, **settings_kwargs): } for key, value in testenv.items(): monkeypatch.setenv(key, value) - cli.dispatch(["register", helpers.WHEEL_FIXTURE]) + cli.dispatch(["register", str(test_wheel)]) register_settings = replaced_register.calls[0].args[0] assert "pypipassword" == register_settings.password assert "someusername" == register_settings.username