def _run_test(self, params, expected): regex, path = params parsed_regex = re.compile(convert_regexp(regex)) self.assertEqual(bool(parsed_regex.search(path)), expected, 'Incorrectly Parsed regex: %s' %regex) aare_obj = AARE(regex, True) self.assertEqual(aare_obj.match(path), expected, 'Incorrectly parsed AARE object: %s' % regex) if not ('*' in path or '{' in path or '}' in path or '?' in path): self.assertEqual(aare_obj.match(AARE(path, False)), expected, 'Incorrectly parsed AARE object: AARE(%s)' % regex)
def validate_edit(self, newpath): if self.all_paths: raise AppArmorBug('Attemp to edit bare file rule') newpath = AARE( newpath, True ) # might raise AppArmorException if the new path doesn't start with / or a variable return newpath.match(self.path)
def _run_test(self, params, expected): regex, path = params parsed_regex = re.compile(convert_regexp(regex)) self.assertEqual(bool(parsed_regex.search(path)), expected, 'Incorrectly Parsed regex: %s' % regex) aare_obj = AARE(regex, True) self.assertEqual(aare_obj.match(path), expected, 'Incorrectly parsed AARE object: %s' % regex)
def _run_test(self, params, expected): regex, is_path, check_for = params aare_obj = AARE(regex, is_path) self.assertEqual(expected, aare_obj.match(check_for))
def _run_test(self, params, expected): regex, log_event = params aare_obj_1 = AARE(regex, True) aare_obj_2 = AARE(log_event, True, log_event=True) self.assertEqual(aare_obj_1.match(aare_obj_2), expected)
def test_match_invalid_1(self): aare_obj = AARE('@{foo}/[a-d]**', True) with self.assertRaises(AppArmorBug): aare_obj.match(set())
def test_match_against_AARE_2(self): aare_obj_1 = AARE('@{foo}/[a-d]**', True) aare_obj_2 = AARE('@{foo}/*[a-d]*', True) self.assertFalse(aare_obj_1.match(aare_obj_2)) self.assertFalse(aare_obj_1.is_equal(aare_obj_2))
def test_multi_usage(self): aare_obj = AARE('/foo/*', True) self.assertTrue(aare_obj.match('/foo/bar')) self.assertFalse(aare_obj.match('/foo/bar/')) self.assertTrue(aare_obj.match('/foo/asdf'))