def test_regex2(self): # The following pattern excludes filenames that end in either bat or exe: # https://docs.python.org/3/howto/regex.html fields = {'regex': ".*[.](?!bat$|exe$).*$", 'message': 'Err msg' } self.assertTrue(are_validator_fields_valid(Validator.VALIDATOR_TEXT, fields)) self.assertTrue(is_validator_input_valid(Validator.VALIDATOR_TEXT, fields, 'file.png')) self.assertFalse(is_validator_input_valid(Validator.VALIDATOR_TEXT, fields, 'file.exe'))
def test_evil_regex(self): fields = {'regex': "^(([a-z])+.)+[A-Z]([a-z])+$", 'message': 'Err msg' } value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!' self.assertTrue(are_validator_fields_valid(Validator.VALIDATOR_TEXT, fields)) self.assertFalse(is_validator_input_valid(Validator.VALIDATOR_TEXT, fields, value))