Skip to content

Commit 0603035

Browse files
authored
Do not add hashes to requirements.txt (#571)
1 parent ee59ee6 commit 0603035

File tree

7 files changed

+42
-86
lines changed

7 files changed

+42
-86
lines changed

integration_tests/test_flask_enable_csrf_protection.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,10 @@ class TestFlaskEnableCSRFProtection(BaseIntegrationTest):
4141
"pylint>1\n"
4242
)
4343
expected_requirements = (
44-
(
45-
"# file used to test dependency management\n"
46-
"requests==2.31.0\n"
47-
"black==23.7.*\n"
48-
"mypy~=1.4\n"
49-
"pylint>1\n"
50-
f"{FlaskWTF.requirement} \\\n"
51-
)
52-
+ "\n".join(FlaskWTF.build_hashes())
53-
+ "\n"
44+
"# file used to test dependency management\n"
45+
"requests==2.31.0\n"
46+
"black==23.7.*\n"
47+
"mypy~=1.4\n"
48+
"pylint>1\n"
49+
f"{FlaskWTF.requirement}\n"
5450
)

integration_tests/test_harden_pickle_load.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,10 @@ class TestHardenPickleLoad(BaseIntegrationTest):
4848
"pylint>1\n"
4949
)
5050
expected_requirements = (
51-
(
52-
"# file used to test dependency management\n"
53-
"requests==2.31.0\n"
54-
"black==23.7.*\n"
55-
"mypy~=1.4\n"
56-
"pylint>1\n"
57-
f"{Fickling.requirement} \\\n"
58-
)
59-
+ "\n".join(Fickling.build_hashes())
60-
+ "\n"
51+
"# file used to test dependency management\n"
52+
"requests==2.31.0\n"
53+
"black==23.7.*\n"
54+
"mypy~=1.4\n"
55+
"pylint>1\n"
56+
f"{Fickling.requirement}\n"
6157
)

integration_tests/test_process_sandbox.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,10 @@ class TestProcessSandbox(BaseIntegrationTest):
4444
"pylint>1\n"
4545
)
4646
expected_requirements = (
47-
(
48-
"# file used to test dependency management\n"
49-
"requests==2.31.0\n"
50-
"black==23.7.*\n"
51-
"mypy~=1.4\n"
52-
"pylint>1\n"
53-
f"{Security.requirement} \\\n"
54-
)
55-
+ "\n".join(Security.build_hashes())
56-
+ "\n"
47+
"# file used to test dependency management\n"
48+
"requests==2.31.0\n"
49+
"black==23.7.*\n"
50+
"mypy~=1.4\n"
51+
"pylint>1\n"
52+
f"{Security.requirement}\n"
5753
)

integration_tests/test_url_sandbox.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,12 @@ class TestUrlSandbox(BaseIntegrationTest):
4444
"pylint>1\n"
4545
)
4646
expected_requirements = (
47-
(
48-
"# file used to test dependency management\n"
49-
"requests==2.31.0\n"
50-
"black==23.7.*\n"
51-
"mypy~=1.4\n"
52-
"pylint>1\n"
53-
f"{Security.requirement} \\\n"
54-
)
55-
+ "\n".join(Security.build_hashes())
56-
+ "\n"
47+
"# file used to test dependency management\n"
48+
"requests==2.31.0\n"
49+
"black==23.7.*\n"
50+
"mypy~=1.4\n"
51+
"pylint>1\n"
52+
f"{Security.requirement}\n"
5753
)
5854

5955
# expected because output code points to fake module

integration_tests/test_use_defusedxml.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,10 @@ class TestUseDefusedXml(BaseIntegrationTest):
4646
"pylint>1\n"
4747
)
4848
expected_requirements = (
49-
(
50-
"# file used to test dependency management\n"
51-
"requests==2.31.0\n"
52-
"black==23.7.*\n"
53-
"mypy~=1.4\n"
54-
"pylint>1\n"
55-
f"{DefusedXML.requirement} \\\n"
56-
)
57-
+ "\n".join(DefusedXML.build_hashes())
58-
+ "\n"
49+
"# file used to test dependency management\n"
50+
"requests==2.31.0\n"
51+
"black==23.7.*\n"
52+
"mypy~=1.4\n"
53+
"pylint>1\n"
54+
f"{DefusedXML.requirement}\n"
5955
)

src/codemodder/dependency_management/requirements_txt_writer.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ def add_to_file(
2323

2424
requirement_lines = []
2525
for dep in dependencies:
26-
requirement_lines.append(f"{dep.requirement} \\\n")
27-
for hash_line in dep.build_hashes():
28-
requirement_lines.append(f"{hash_line}\n")
26+
requirement_lines.append(f"{dep.requirement}\n")
2927

3028
updated_lines = original_lines + requirement_lines
3129

tests/dependency_management/test_requirements_txt_writer.py

Lines changed: 11 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -34,33 +34,23 @@ def test_add_dependencies_preserve_comments(self, tmpdir, dry_run):
3434
if dry_run
3535
else (
3636
"# comment\n\nrequests\n"
37-
+ f"{DefusedXML.requirement} \\\n"
38-
+ "\n".join(DefusedXML.build_hashes())
39-
+ "\n"
40-
+ f"{Security.requirement} \\\n"
41-
+ "\n".join(Security.build_hashes())
42-
+ "\n"
37+
+ f"{DefusedXML.requirement}\n"
38+
+ f"{Security.requirement}\n"
4339
)
4440
)
4541

4642
assert changeset is not None
4743
assert changeset.path == dependency_file.name
4844

49-
defused_xml_hashes = DefusedXML.build_hashes()
50-
security_hashes = Security.build_hashes()
5145
assert changeset.diff == (
5246
"--- \n"
5347
"+++ \n"
54-
"@@ -1,3 +1,9 @@\n"
48+
"@@ -1,3 +1,5 @@\n"
5549
" # comment\n"
5650
" \n"
5751
" requests\n"
58-
f"+{DefusedXML.requirement} \\\n"
59-
f"+{defused_xml_hashes[0]}\n"
60-
f"+{defused_xml_hashes[1]}\n"
61-
f"+{Security.requirement} \\\n"
62-
f"+{security_hashes[0]}\n"
63-
f"+{security_hashes[1]}\n"
52+
f"+{DefusedXML.requirement}\n"
53+
f"+{Security.requirement}\n"
6454
)
6555
assert len(changeset.changes) == 2
6656
change_one = changeset.changes[0]
@@ -96,9 +86,7 @@ def test_add_same_dependency_only_once(self, tmpdir):
9686
assert len(changeset.changes) == 1
9787

9888
assert dependency_file.read_text(encoding="utf-8") == (
99-
f"requests\n{Security.requirement} \\\n"
100-
+ "\n".join(Security.build_hashes())
101-
+ "\n"
89+
f"requests\n{Security.requirement}\n"
10290
)
10391

10492
def test_dont_add_existing_dependency(self, tmpdir):
@@ -156,30 +144,20 @@ def test_dependency_file_no_terminating_newline(self, tmpdir):
156144
assert (
157145
dependency_file.read_text(encoding="utf-8")
158146
== "# comment\n\nrequests\n"
159-
+ f"{DefusedXML.requirement} \\\n"
160-
+ "\n".join(DefusedXML.build_hashes())
161-
+ "\n"
162-
+ f"{Security.requirement} \\\n"
163-
+ "\n".join(Security.build_hashes())
164-
+ "\n"
147+
+ f"{DefusedXML.requirement}\n"
148+
+ f"{Security.requirement}\n"
165149
)
166150

167151
assert changeset is not None
168152
assert changeset.path == dependency_file.name
169153

170-
defused_xml_hashes = DefusedXML.build_hashes()
171-
security_hashes = Security.build_hashes()
172154
assert changeset.diff == (
173155
"--- \n"
174156
"+++ \n"
175-
"@@ -1,3 +1,9 @@\n"
157+
"@@ -1,3 +1,5 @@\n"
176158
" # comment\n"
177159
" \n"
178160
" requests\n"
179-
f"+{DefusedXML.requirement} \\\n"
180-
f"+{defused_xml_hashes[0]}\n"
181-
f"+{defused_xml_hashes[1]}\n"
182-
f"+{Security.requirement} \\\n"
183-
f"+{security_hashes[0]}\n"
184-
f"+{security_hashes[1]}\n"
161+
f"+{DefusedXML.requirement}\n"
162+
f"+{Security.requirement}\n"
185163
)

0 commit comments

Comments
 (0)