Example #1
0
    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)
Example #2
0
 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"])))
Example #3
0
    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
Example #4
0
 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"])
Example #5
0
 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"])
Example #6
0
 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"])
Example #7
0
 def test_get_ruleset_complete(self):
     ruleset = config.get_ruleset("complete")
     self.assertEquals("some url", ruleset["url"])
     self.assertEquals("md5url", ruleset["md5-url"])