Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ba7760b

Browse files
committed
Add a test to validate that cfgv.WarnAdditionalKeys working as expected in the relevant config schemas
1 parent 217d31e commit ba7760b

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

pre_commit/clientlib.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ def validate_manifest_main(argv=None):
109109

110110

111111
class MigrateShaToRev(object):
112+
key = 'rev'
113+
112114
@staticmethod
113115
def _cond(key):
114116
return cfgv.Conditional(
@@ -263,7 +265,14 @@ def warn_on_unknown_keys_at_top_level(extra, orig_keys):
263265
'0',
264266
),
265267
cfgv.WarnAdditionalKeys(
266-
('repos',),
268+
(
269+
'repos',
270+
'default_language_version',
271+
'default_stages',
272+
'exclude',
273+
'fail_fast',
274+
'minimum_pre_commit_version',
275+
),
267276
warn_on_unknown_keys_at_top_level,
268277
),
269278
)

tests/clientlib_test.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,3 +305,12 @@ def test_minimum_pre_commit_version_failing():
305305
def test_minimum_pre_commit_version_passing():
306306
cfg = {'repos': [], 'minimum_pre_commit_version': '0'}
307307
cfgv.validate(cfg, CONFIG_SCHEMA)
308+
309+
310+
@pytest.mark.parametrize('schema', (CONFIG_SCHEMA, CONFIG_REPO_DICT))
311+
def test_warn_additional(schema):
312+
allowed_keys = {item.key for item in schema.items if hasattr(item, 'key')}
313+
warn_additional, = [
314+
x for x in schema.items if isinstance(x, cfgv.WarnAdditionalKeys)
315+
]
316+
assert allowed_keys == set(warn_additional.keys)

0 commit comments

Comments
 (0)