test_ratchet.py (1739B)
1 import pytest 2 from ratchets.abstracted_tests import ( 3 get_regex_tests, 4 get_shell_tests, 5 check_regex_rule, 6 check_shell_rule, 7 ) 8 9 10 @pytest.mark.parametrize("test_name,rule", get_regex_tests().items()) 11 def test_regex_rule(test_name: str, rule: dict) -> None: 12 """Runs a test for a single regex rule.""" 13 check_regex_rule(test_name, rule) 14 15 16 @pytest.mark.parametrize("test_name,test_dict", get_shell_tests().items()) 17 def test_shell_rule(test_name: str, test_dict: dict) -> None: 18 """Runs a test for a single shell rule.""" 19 check_shell_rule(test_name, test_dict) 20 21 22 # def test_all_regex_rules(): 23 # """Runs a test for all regex rules.""" 24 # errors = [] 25 # descriptions = [] 26 # for test_name, rule in get_regex_tests().items(): 27 # try: 28 # check_regex_rule(test_name, rule) 29 # except Exception as e: 30 # desc = rule['description'] 31 # if desc is not None: 32 # descriptions.append(test_name + " - " + desc) 33 # errors.append(f"{test_name}") 34 # if errors: 35 # pytest.fail(" - ".join(errors) + "\n\n" + "\n\n".join(descriptions)) 36 # 37 # def test_all_shell_rules(): 38 # """Runs a test for all shell rules.""" 39 # errors = [] 40 # descriptions = [] 41 # for test_name, test_dict in get_shell_tests().items(): 42 # try: 43 # check_shell_rule(test_name, test_dict) 44 # except Exception as e: 45 # desc = test_dict['description'] 46 # if not desc is None: 47 # desc = "(" + desc + ")" 48 # descriptions.append(test_name + " - " + desc) 49 # errors.append(test_name) 50 # if errors: 51 # pytest.fail(" - ".join(errors) + "\n\n" + "\n\n".join(descriptions))