From 14397418d178bdc20c8084d39c1219d08425dbd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Mon, 10 Aug 2020 22:08:48 +0700 Subject: [PATCH] Test hash checking for fast-deps --- ...494986-202e-4275-b7ec-d6f046c0aa05.trivial | 0 tests/functional/test_fast_deps.py | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 news/0e494986-202e-4275-b7ec-d6f046c0aa05.trivial diff --git a/news/0e494986-202e-4275-b7ec-d6f046c0aa05.trivial b/news/0e494986-202e-4275-b7ec-d6f046c0aa05.trivial new file mode 100644 index 000000000..e69de29bb diff --git a/tests/functional/test_fast_deps.py b/tests/functional/test_fast_deps.py index b41055c56..655440b88 100644 --- a/tests/functional/test_fast_deps.py +++ b/tests/functional/test_fast_deps.py @@ -48,3 +48,32 @@ def test_build_wheel_with_deps(data, script): assert fnmatch.filter(created, 'requiresPaste-3.1.4-*.whl') assert fnmatch.filter(created, 'Paste-3.4.2-*.whl') assert fnmatch.filter(created, 'six-*.whl') + + +@mark.network +def test_require_hash(script, tmp_path): + reqs = tmp_path / 'requirements.txt' + reqs.write_text( + u'idna==2.10' + ' --hash=sha256:' + 'b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0' + ' --hash=sha256:' + 'b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6' + ) + result = script.pip( + 'download', '--use-feature=fast-deps', '-r', str(reqs), + allow_stderr_warning=True, + ) + created = list(map(basename, result.files_created)) + assert fnmatch.filter(created, 'idna-2.10*') + + +@mark.network +def test_hash_mismatch(script, tmp_path): + reqs = tmp_path / 'requirements.txt' + reqs.write_text(u'idna==2.10 --hash=sha256:irna') + result = script.pip( + 'download', '--use-feature=fast-deps', '-r', str(reqs), + expect_error=True, + ) + assert 'DO NOT MATCH THE HASHES' in result.stderr