Skip to content

Commit 42d581c

Browse files
committed
fix: tests for plugins reuse excludes CLI arg
Signed-off-by: George Pickering <[email protected]>
1 parent 7d0d6af commit 42d581c

File tree

6 files changed

+23
-23
lines changed

6 files changed

+23
-23
lines changed

detect_secrets/core/baseline.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
def initialize(
1717
path,
1818
plugins,
19-
plugins_reuse_exclude=None,
19+
plugins_reuse_excludes=None,
2020
exclude_files_regex=None,
2121
exclude_lines_regex=None,
2222
word_list_file=None,
@@ -34,8 +34,8 @@ def initialize(
3434
:type plugins: tuple of detect_secrets.plugins.base.BasePlugin
3535
:param plugins: rules to initialize the SecretsCollection with.
3636
37-
:type plugins_reuse_exclude: bool|None
38-
:param plugins_reuse_exclude optional bool indicating whether plugins were forced to reuse excludes.
37+
:type plugins_reuse_excludes: bool|None
38+
:param plugins_reuse_excludes optional bool indicating whether plugins were forced to reuse excludes.
3939
4040
:type exclude_files_regex: str|None
4141
:type exclude_lines_regex: str|None
@@ -57,7 +57,7 @@ def initialize(
5757
"""
5858
output = SecretsCollection(
5959
plugins,
60-
plugins_reuse_exclude=plugins_reuse_exclude,
60+
plugins_reuse_excludes=plugins_reuse_excludes,
6161
exclude_files=exclude_files_regex,
6262
exclude_lines=exclude_lines_regex,
6363
word_list_file=word_list_file,

detect_secrets/core/secrets_collection.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class SecretsCollection:
2121
def __init__(
2222
self,
2323
plugins=(),
24-
plugins_reuse_exclude=None,
24+
plugins_reuse_excludes=None,
2525
exclude_files=None,
2626
exclude_lines=None,
2727
word_list_file=None,
@@ -47,7 +47,7 @@ def __init__(
4747
"""
4848
self.data = {}
4949
self.plugins = plugins
50-
self.plugins_reuse_exclude = plugins_reuse_exclude
50+
self.plugins_reuse_excludes = plugins_reuse_excludes
5151
self.exclude_files = exclude_files
5252
self.exclude_lines = exclude_lines
5353
self.word_list_file = word_list_file
@@ -344,7 +344,7 @@ def format_for_baseline_output(self):
344344
plugins_used = sorted(plugins_used, key=lambda x: x['name'])
345345

346346
return {
347-
**({"plugins_reuse_excludes": True} if self.plugins_reuse_exclude else {}),
347+
**({"plugins_reuse_excludes": True} if self.plugins_reuse_excludes else {}),
348348
'generated_at': strftime('%Y-%m-%dT%H:%M:%SZ', gmtime()),
349349
'exclude': {
350350
'files': self.exclude_files,

detect_secrets/core/usage.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from detect_secrets.constants import DEFAULT_GHE_INSTANCE
66

77

8-
def add_plugins_reuse_exclude_flag(parser):
8+
def add_plugins_reuse_excludes_flag(parser):
99
parser.add_argument(
1010
'--plugins-reuse-excludes',
1111
action='store_true',
@@ -97,7 +97,7 @@ def add_default_arguments(self):
9797

9898
def add_pre_commit_arguments(self):
9999
self._add_filenames_argument()\
100-
._add_plugins_reuse_exclude_flag()\
100+
._add_plugins_reuse_excludes_flag()\
101101
._add_set_baseline_argument()\
102102
._add_exclude_lines_argument()\
103103
._add_word_list_argument()\
@@ -163,8 +163,8 @@ def _add_set_baseline_argument(self):
163163
)
164164
return self
165165

166-
def _add_plugins_reuse_exclude_flag(self):
167-
add_plugins_reuse_exclude_flag(self.parser)
166+
def _add_plugins_reuse_excludes_flag(self):
167+
add_plugins_reuse_excludes_flag(self.parser)
168168
return self
169169

170170
def _add_exclude_lines_argument(self):
@@ -237,7 +237,7 @@ def _add_initialize_baseline_argument(self):
237237

238238
# Pairing `--plugins-reuse-excludes` to
239239
# both pre-commit and `--scan` because it can be used for both.
240-
add_plugins_reuse_exclude_flag(self.parser)
240+
add_plugins_reuse_excludes_flag(self.parser)
241241

242242
# Pairing `--exclude-lines` and `--word-list` to
243243
# both pre-commit and `--scan` because it can be used for both.

detect_secrets/main.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def main(argv=None):
4949
if args.word_list_file:
5050
automaton, word_list_hash = build_automaton(args.word_list_file)
5151

52-
_baseline = _get_existing_baseline(args.import_filename)
52+
_baseline = _get_existing_baseline(args.import_filename, args.string)
5353
if args.plugins_reuse_excludes or (_baseline and _baseline.get("plugins_reuse_excludes", False)):
5454
args.exclude_files, args.exclude_lines = maybe_get_existing_exclude(args.exclude_files, args.exclude_lines, _baseline)
5555

@@ -170,7 +170,7 @@ def _perform_scan(args, plugins, automaton, word_list_hash):
170170
171171
:rtype: dict
172172
"""
173-
old_baseline = _get_existing_baseline(args.import_filename)
173+
old_baseline = _get_existing_baseline(args.import_filename, args.string)
174174
if old_baseline:
175175
plugins = initialize.merge_plugins_from_baseline(
176176
_get_plugins_from_baseline(old_baseline, tuple(args.plugin_filenames)),
@@ -200,7 +200,7 @@ def _perform_scan(args, plugins, automaton, word_list_hash):
200200

201201
new_baseline = baseline.initialize(
202202
plugins=plugins,
203-
plugins_reuse_exclude=args.plugins_reuse_excludes,
203+
plugins_reuse_excludes=args.plugins_reuse_excludes,
204204
exclude_files_regex=args.exclude_files,
205205
exclude_lines_regex=args.exclude_lines,
206206
word_list_file=args.word_list_file,
@@ -221,7 +221,7 @@ def _perform_scan(args, plugins, automaton, word_list_hash):
221221
return new_baseline
222222

223223

224-
def _get_existing_baseline(import_filename):
224+
def _get_existing_baseline(import_filename, args_string):
225225
# Favors --update argument over stdin.
226226
if import_filename:
227227
try:
@@ -235,7 +235,8 @@ def _get_existing_baseline(import_filename):
235235
file=sys.stderr,
236236
)
237237
raise fnf_error
238-
if not sys.stdin.isatty():
238+
239+
if not sys.stdin.isatty() and not args_string:
239240
stdin = sys.stdin.read().strip()
240241
if stdin:
241242
return json.loads(stdin)

requirements-dev.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ pre-commit
99
pytest
1010
pyyaml
1111
responses
12-
tox-pip-extensions
1312
tox>=3.8
1413
unidiff
1514
ibm_db; platform_machine == 'x86_64'

tests/main_test.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def test_scan_basic(self, mock_baseline_initialize):
8888

8989
mock_baseline_initialize.assert_called_once_with(
9090
plugins=Any(tuple),
91-
plugins_reuse_excludes=None,
91+
plugins_reuse_excludes=False,
9292
exclude_files_regex=None,
9393
exclude_lines_regex=None,
9494
path='.',
@@ -106,7 +106,7 @@ def test_scan_with_rootdir(self, mock_baseline_initialize):
106106

107107
mock_baseline_initialize.assert_called_once_with(
108108
plugins=Any(tuple),
109-
plugins_reuse_excludes=None,
109+
plugins_reuse_excludes=False,
110110
exclude_files_regex=None,
111111
exclude_lines_regex=None,
112112
path=['test_data'],
@@ -126,7 +126,7 @@ def test_scan_with_exclude_args(self, mock_baseline_initialize):
126126

127127
mock_baseline_initialize.assert_called_once_with(
128128
plugins=Any(tuple),
129-
plugins_reuse_excludes=None,
129+
plugins_reuse_excludes=False,
130130
exclude_files_regex='some_pattern_here',
131131
exclude_lines_regex='other_patt',
132132
path='.',
@@ -216,7 +216,7 @@ def test_scan_with_all_files_flag(self, mock_baseline_initialize):
216216

217217
mock_baseline_initialize.assert_called_once_with(
218218
plugins=Any(tuple),
219-
plugins_reuse_excludes=None,
219+
plugins_reuse_excludes=False,
220220
exclude_files_regex=None,
221221
exclude_lines_regex=None,
222222
path='.',
@@ -274,7 +274,7 @@ def test_reads_non_existed_baseline_from_file(
274274

275275
mock_baseline_initialize.assert_called_once_with(
276276
plugins=Any(tuple),
277-
plugins_reuse_excludes=None,
277+
plugins_reuse_excludes=False,
278278
exclude_files_regex='^non_existed_baseline_file$',
279279
exclude_lines_regex=None,
280280
path='.',

0 commit comments

Comments
 (0)