def test_get_ruleset_partial(self): ruleset = config.get_ruleset("partial") self.assertEquals("some url", ruleset["url"]) # Verify that md5-url does not exist. The non-existence of it # means we should guess it. If it exists we use it, unless # its value is None (or an empty string will do), then we # don't check for an MD5 at all. self.assertFalse("md5-url" in ruleset)
def load_rules(self): self.files = {} for ruleset in self.profile["rulesets"]: ruleset = config.get_ruleset(ruleset) files = core.load_ruleset_files(ruleset) for filename in files: if filename not in self.files: self.files[filename] = files[filename] else: logger.warn( "Ignoring file %s from ruleset %s: already present" % ( filename, ruleset)) self.rule_map = rules.build_rule_map(self.files) logger.info("Loaded %d rules from rulesets %s" % ( len(self.rule_map), ", ".join(self.profile["rulesets"])))
def init_args(self): try: opts, args = getopt.getopt(self.args, "o:v") except getopt.GetoptError as err: print("error: %s" % (err)) return False for o, a in opts: if o == "-o": self.output = a elif o == "-v": self.verbose = True if len(args) < 1: return False try: self.ruleset = config.get_ruleset(args[0]) except config.NoRulesetError as err: print("error: ruleset %s does not exist." % err) return False self.filenames = [f.split("/") for f in args[1:]] return True
def test_get_ruleset_with_ignore_files(self): # This ruleset provided its own rule files. r = config.get_ruleset("with_ignore_files") self.assertEquals(["one.rules", "two.rules", "three.rules"], r["ignore-files"])
def test_get_ruleset_with_empty_ignore_files(self): # As this configuration provided an ignore-files with no # value, we should not get the default. r = config.get_ruleset("with_empty_ignore_files") self.assertEquals([], r["ignore-files"])
def test_get_ruleset_without_ignore_files(self): # This ruleset did not have an ignore-files section. We should get # the one provided by the [DEFAULT]. r = config.get_ruleset("without_ignore_files") self.assertEquals(["ignore1.rules", "ignore2.rules", "ignore3.rules"], r["ignore-files"])
def test_get_ruleset_complete(self): ruleset = config.get_ruleset("complete") self.assertEquals("some url", ruleset["url"]) self.assertEquals("md5url", ruleset["md5-url"])