def test_multisearch_criteria(self): fef = FileEvalFactory() evaluator = fef.create(self.rule) self.assertTrue(evaluator.matches({"filename": self.files[0]}, None)) self.assertTrue(evaluator.matches({"filename": self.files[1]}, None)) self.assertFalse(evaluator.matches({"filename": self.files[2]}, None))
def test_no_file_rule_provided(self): self.rule = { "line": [ {"match": ".*"} ] } fef = FileEvalFactory() evaluator = fef.create(self.rule) self.assertEquals(evaluator, None)
def test_multisearch_criteria(self): files = [ "vuln.scala", "vuln.java", "test_vuln.scala" ] rule = { "file": [ {"match": ".+\\.scala"}, {"match": ".+\\.java"}, {"except": "test_.+"} ] } fef = FileEvalFactory() evaluator = fef.create(rule) self.assertTrue(evaluator.matches({"filename": files[0]}, None)) self.assertTrue(evaluator.matches({"filename": files[1]}, None)) self.assertFalse(evaluator.matches({"filename": files[2]}, None))
def test_case_sensitivity(self): self.rule["case_sensitive"] = True fef = FileEvalFactory() evaluator = fef.create(self.rule) self.assertFalse(evaluator.matches({"filename": self.files[2]}, None)) self.assertTrue(evaluator.matches({"filename": self.files[3]}, None))
def test_no_file_rule_provided(self): self.rule = {"line": [{"match": ".*"}]} fef = FileEvalFactory() evaluator = fef.create(self.rule) self.assertEquals(evaluator, None)