From 2e5b4461f4cddda5f0b60ff2875f5c3c86d07331 Mon Sep 17 00:00:00 2001 From: ekristina Date: Sat, 4 May 2019 17:11:44 -0400 Subject: [PATCH] Improve code reuse in TestSafeFileCache Use a fixture creating a temporary directory for cache. --- news/6322.trivial | 1 + tests/unit/test_download.py | 37 ++++++++++++++++++------------------- 2 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 news/6322.trivial diff --git a/news/6322.trivial b/news/6322.trivial new file mode 100644 index 000000000..b0e0b3e1c --- /dev/null +++ b/news/6322.trivial @@ -0,0 +1 @@ +Use a fixture creating a temporary directory to improve code reuse in TestSafeFileCache (tests/unit/test_download.py) \ No newline at end of file diff --git a/tests/unit/test_download.py b/tests/unit/test_download.py index 69354b089..73a3d42b7 100644 --- a/tests/unit/test_download.py +++ b/tests/unit/test_download.py @@ -20,6 +20,13 @@ from pip._internal.utils.hashes import Hashes from tests.lib import create_file +@pytest.fixture(scope="function") +def cache_tmpdir(tmpdir): + cache_dir = tmpdir.join("cache") + cache_dir.makedirs() + yield cache_dir + + def test_unpack_http_url_with_urllib_response_without_content_type(data): """ It should download and unpack files even if no Content-Type header exists @@ -310,11 +317,9 @@ class TestSafeFileCache: os.geteuid which is absent on Windows. """ - def test_cache_roundtrip(self, tmpdir): - cache_dir = tmpdir.join("test-cache") - cache_dir.makedirs() + def test_cache_roundtrip(self, cache_tmpdir): - cache = SafeFileCache(cache_dir) + cache = SafeFileCache(cache_tmpdir) assert cache.get("test key") is None cache.set("test key", b"a test string") assert cache.get("test key") == b"a test string" @@ -322,32 +327,26 @@ class TestSafeFileCache: assert cache.get("test key") is None @pytest.mark.skipif("sys.platform == 'win32'") - def test_safe_get_no_perms(self, tmpdir, monkeypatch): - cache_dir = tmpdir.join("unreadable-cache") - cache_dir.makedirs() - os.chmod(cache_dir, 000) + def test_safe_get_no_perms(self, cache_tmpdir, monkeypatch): + os.chmod(cache_tmpdir, 000) monkeypatch.setattr(os.path, "exists", lambda x: True) - cache = SafeFileCache(cache_dir) + cache = SafeFileCache(cache_tmpdir) cache.get("foo") @pytest.mark.skipif("sys.platform == 'win32'") - def test_safe_set_no_perms(self, tmpdir): - cache_dir = tmpdir.join("unreadable-cache") - cache_dir.makedirs() - os.chmod(cache_dir, 000) + def test_safe_set_no_perms(self, cache_tmpdir): + os.chmod(cache_tmpdir, 000) - cache = SafeFileCache(cache_dir) + cache = SafeFileCache(cache_tmpdir) cache.set("foo", b"bar") @pytest.mark.skipif("sys.platform == 'win32'") - def test_safe_delete_no_perms(self, tmpdir): - cache_dir = tmpdir.join("unreadable-cache") - cache_dir.makedirs() - os.chmod(cache_dir, 000) + def test_safe_delete_no_perms(self, cache_tmpdir): + os.chmod(cache_tmpdir, 000) - cache = SafeFileCache(cache_dir) + cache = SafeFileCache(cache_tmpdir) cache.delete("foo")