Coverage for tests/test_pin_requirements.py: 100%
11 statements
« prev ^ index » next coverage.py v6.4.2, created at 2022-08-01 13:01 +0200
« prev ^ index » next coverage.py v6.4.2, created at 2022-08-01 13:01 +0200
1from iso_freeze.lib import PyPackage
2from iso_freeze.pin_requirements import build_reqirements_file_contents
4MOCKED_REQUIREMENTS = [
5 PyPackage(name="tomli", version="2.0.1", requested=True, hash="sha256:1234"),
6 PyPackage(name="pyjokes", version="0.6.0", requested=False, hash="sha256:5678"),
7]
10def test_build_reqirements_file_contents_no_hashes() -> None:
11 """Test if requirements file contents are correctly build."""
12 expected_output_no_hashes: list[str] = [
13 "# Top level requirements",
14 "tomli==2.0.1",
15 "# Dependencies of top level requirements",
16 "pyjokes==0.6.0",
17 ]
18 actual_output_no_hashes: list[str] = build_reqirements_file_contents(
19 requirements=MOCKED_REQUIREMENTS, hashes=False
20 )
21 assert expected_output_no_hashes == actual_output_no_hashes
24def test_build_reqirements_file_contents_with_hashes() -> None:
25 """Test if requirements file contents are correctly build with hashes."""
26 expected_output_hashes = [
27 "# Top level requirements",
28 "tomli==2.0.1 \\\n" " --hash=sha256:1234",
29 "# Dependencies of top level requirements",
30 "pyjokes==0.6.0 \\\n" " --hash=sha256:5678",
31 ]
32 actual_output_hashes: list[str] = build_reqirements_file_contents(
33 requirements=MOCKED_REQUIREMENTS, hashes=True
34 )
35 assert expected_output_hashes == actual_output_hashes