Skip to content

Commit 71f1e7e

Browse files
committed
🐛 Fix extra newline from print
By not adding a newline in format_baseline_for_output And adding the newline in a commonly used write_baseline_to_file function
1 parent 0c156bd commit 71f1e7e

File tree

8 files changed

+25
-29
lines changed

8 files changed

+25
-29
lines changed

detect_secrets/core/audit.py

+5-7
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
from ..plugins.high_entropy_strings import HighEntropyStringsPlugin
1212
from ..plugins.keyword import determine_file_type
1313
from ..plugins.keyword import KeywordDetector
14-
from .baseline import format_baseline_for_output
1514
from .baseline import merge_results
1615
from .bidirectional_iterator import BidirectionalIterator
1716
from .color import AnsiColor
1817
from .color import colorize
18+
from .common import write_baseline_to_file
1919
from .potential_secret import PotentialSecret
2020

2121

@@ -87,7 +87,10 @@ def audit_baseline(baseline_filename):
8787
original_baseline['results'],
8888
dict(results),
8989
)
90-
_save_baseline_to_file(baseline_filename, original_baseline)
90+
write_baseline_to_file(
91+
baseline_filename,
92+
original_baseline,
93+
)
9194

9295

9396
def compare_baselines(old_baseline_filename, new_baseline_filename):
@@ -420,11 +423,6 @@ def _handle_user_decision(decision, secret):
420423
del secret['is_secret']
421424

422425

423-
def _save_baseline_to_file(filename, data): # pragma: no cover
424-
with open(filename, 'w') as f:
425-
f.write(format_baseline_for_output(data))
426-
427-
428426
def _get_secret_with_context(
429427
filename,
430428
secret,

detect_secrets/core/baseline.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ def format_baseline_for_output(baseline):
231231
indent=2,
232232
sort_keys=True,
233233
separators=(',', ': '),
234-
) + '\n'
234+
)
235235

236236

237237
def _get_git_tracked_files(rootdir='.'):

detect_secrets/core/common.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from .baseline import format_baseline_for_output
2+
3+
4+
def write_baseline_to_file(filename, data): # pragma: no cover
5+
with open(filename, 'w') as f:
6+
f.write(format_baseline_for_output(data) + '\n')

detect_secrets/main.py

+5-7
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from detect_secrets.core import audit
99
from detect_secrets.core import baseline
10+
from detect_secrets.core.common import write_baseline_to_file
1011
from detect_secrets.core.log import log
1112
from detect_secrets.core.usage import ParserBuilder
1213
from detect_secrets.plugins.core import initialize
@@ -43,7 +44,10 @@ def main(argv=None):
4344
)
4445

4546
if args.import_filename:
46-
_write_to_file(args.import_filename[0], output)
47+
write_baseline_to_file(
48+
args.import_filename[0],
49+
output,
50+
)
4751
else:
4852
print(output)
4953

@@ -139,11 +143,5 @@ def _read_from_file(filename): # pragma: no cover
139143
return json.loads(f.read())
140144

141145

142-
def _write_to_file(filename, content):
143-
"""Used for mocking."""
144-
with open(filename, 'w') as f:
145-
f.write(content)
146-
147-
148146
if __name__ == '__main__':
149147
sys.exit(main())

detect_secrets/pre_commit_hook.py

+2-8
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import textwrap
66

77
from detect_secrets import VERSION
8-
from detect_secrets.core.baseline import format_baseline_for_output
98
from detect_secrets.core.baseline import get_secrets_not_in_baseline
109
from detect_secrets.core.baseline import trim_baseline_of_removed_secrets
10+
from detect_secrets.core.common import write_baseline_to_file
1111
from detect_secrets.core.log import get_logger
1212
from detect_secrets.core.secrets_collection import SecretsCollection
1313
from detect_secrets.core.usage import ParserBuilder
@@ -64,7 +64,7 @@ def main(argv=None):
6464
baseline_modified = True
6565

6666
if baseline_modified:
67-
_write_to_baseline_file(
67+
write_baseline_to_file(
6868
args.baseline[0],
6969
baseline_collection.format_for_baseline_output(),
7070
)
@@ -79,12 +79,6 @@ def main(argv=None):
7979
return 0
8080

8181

82-
def _write_to_baseline_file(filename, payload): # pragma: no cover
83-
"""Breaking this function up for mockability."""
84-
with open(filename, 'w') as f:
85-
f.write(format_baseline_for_output(payload))
86-
87-
8882
def get_baseline(baseline_filename):
8983
"""
9084
:raises: IOError

tests/core/audit_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def mock_env(self, user_inputs=None, baseline=None):
207207
), mock.patch.object(
208208
# We mock this so we don't need to do any file I/O.
209209
audit,
210-
'_save_baseline_to_file',
210+
'write_baseline_to_file',
211211
) as m:
212212
yield m
213213

tests/main_test.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def test_reads_old_baseline_from_file(self, mock_merge_baseline):
112112
'detect_secrets.main._read_from_file',
113113
return_value={'key': 'value'},
114114
) as m_read, mock.patch(
115-
'detect_secrets.main._write_to_file',
115+
'detect_secrets.main.write_baseline_to_file',
116116
) as m_write:
117117
assert main('scan --update old_baseline_file'.split()) == 0
118118
assert m_read.call_args[0][0] == 'old_baseline_file'
@@ -151,7 +151,7 @@ def test_old_baseline_ignored_with_update_flag(
151151
return_value={},
152152
), mock.patch(
153153
# We don't want to be creating a file during test
154-
'detect_secrets.main._write_to_file',
154+
'detect_secrets.main.write_baseline_to_file',
155155
) as file_writer:
156156
assert main(
157157
shlex.split(
@@ -221,7 +221,7 @@ def test_audit_short_file(self, filename, expected_output):
221221
return_value='s',
222222
), mock.patch(
223223
# We don't want to write an actual file
224-
'detect_secrets.core.audit._save_baseline_to_file',
224+
'detect_secrets.core.audit.write_baseline_to_file',
225225
), mock_printer(
226226
audit_module,
227227
) as printer_shim:

tests/pre_commit_hook_test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def test_that_baseline_gets_updated(
116116
'detect_secrets.pre_commit_hook._get_baseline_string_from_file',
117117
return_value=json.dumps(modified_baseline),
118118
), mock.patch(
119-
'detect_secrets.pre_commit_hook._write_to_baseline_file',
119+
'detect_secrets.pre_commit_hook.write_baseline_to_file',
120120
) as m:
121121
assert_commit_blocked(
122122
'--baseline will_be_mocked test_data/files/file_with_secrets.py',
@@ -162,7 +162,7 @@ def test_writes_new_baseline_if_modified(self):
162162
'detect_secrets.pre_commit_hook._get_baseline_string_from_file',
163163
return_value=json.dumps(modified_baseline),
164164
), mock.patch(
165-
'detect_secrets.pre_commit_hook._write_to_baseline_file',
165+
'detect_secrets.pre_commit_hook.write_baseline_to_file',
166166
) as m:
167167
assert_commit_blocked(
168168
'--baseline will_be_mocked test_data/files/file_with_secrets.py',

0 commit comments

Comments
 (0)