Example #1
0
def test_regex():
    assert match({
        "platform": "S50N",
        "vendor": "Force10"
    }, {"platform": {
        "$regex": "^S"
    }}) == True
    assert match({
        "platform": "E600",
        "vendor": "Force10"
    }, {"platform": {
        "$regex": "^S"
    }}) == False
    assert match({
        "platform": "S50N",
        "vendor": "Force10"
    }, {
        "platform": {
            "$regex": "^S"
        },
        "vendor": "Force10"
    }) == True
    assert match({
        "platform": "S50N",
        "vendor": "Force10"
    }, {
        "platform": {
            "$regex": "^S"
        },
        "vendor": "Dell"
    }) == False
Example #2
0
def test_between():
    assert match({"version": "12.2(33)SE"},
                 {"version": {
                     "$gte": "12.2(48)SE",
                     "$lte": "12.2(52)SE"
                 }}) == False
    assert match({"version": "12.2(48)SE"},
                 {"version": {
                     "$gte": "12.2(48)SE",
                     "$lte": "12.2(52)SE"
                 }}) == True
    assert match({"version": "12.2(50)SE"},
                 {"version": {
                     "$gte": "12.2(48)SE",
                     "$lte": "12.2(52)SE"
                 }}) == True
    assert match({"version": "12.2(52)SE"},
                 {"version": {
                     "$gte": "12.2(48)SE",
                     "$lte": "12.2(52)SE"
                 }}) == True
    assert match({"version": "12.2(60)SE"},
                 {"version": {
                     "$gte": "12.2(48)SE",
                     "$lte": "12.2(52)SE"
                 }}) == False
Example #3
0
def test_gt():
    assert match({"version": "12.2(50)SE"}, {"version": {
        "$gt": "12.2(48)SE"
    }}) == True
    assert match({"version": "12.2(50)SE"}, {"version": {
        "$gt": "12.2(50)SE"
    }}) == False
    assert match({"version": "12.2(50)SE"}, {"version": {
        "$gt": "12.2(51)SE"
    }}) == False
Example #4
0
 def iter_object_meta_matchers(self):
     ctx = {
         "vendor": self.object.vendor.name,
         "platform": self.object.platform.name,
         "version": self.object.version.version,
     }
     for matcher in self.object.get_profile().matchers:
         if match(ctx, self.object.get_profile().matchers[matcher]):
             yield "meta", "matchers", matcher
Example #5
0
 def iter_oids(self, script, metric):
     ctx = script.version
     for matcher, rule in self.oids:
         # match(ctx, []) always True, Priority in metrics matcher config matcher
         if (matcher is None or (match(ctx, self.matchers.get(matcher, []))
                                 and matcher in self.matchers)
                 or getattr(script, matcher, None)):
             for r in rule.iter_oids(script, metric):
                 yield r
             else:
                 # Only one match
                 break
Example #6
0
def test_in():
    assert match({
        "platform": "S50N",
        "vendor": "Force10"
    }, {"platform": {
        "$in": ["S50N", "S50P"]
    }}) == True
    assert match({
        "platform": "S50N",
        "vendor": "Force10"
    }, {
        "platform": {
            "$in": ["S50N", "S50P"]
        },
        "vendor": {
            "$in": ["Force10", "Dell"]
        }
    }) == True
    assert match({
        "platform": "S25N",
        "vendor": "Force10"
    }, {"platform": {
        "$in": ["S50N", "S50P"]
    }}) == False
Example #7
0
 def get_matchers(c, matchers):
     return dict((m, match(c, matchers[m])) for m in matchers)
Example #8
0
def test_eq_and(raw, config, expected):
    assert match(raw, config) is expected
Example #9
0
def test_between(raw, config, expected):
    assert match(raw, config) is expected
Example #10
0
def test_lte(raw, config, expected):
    assert match(raw, config) is expected
Example #11
0
def test_regex(raw, config, expected):
    assert match(raw, config) is expected
Example #12
0
def test_eq_and():
    assert match({"x": "y", "m": "n"}, {"x": "y", "m": "k"}) == False
    assert match({"x": "y", "m": "n"}, {"x": "y", "m": "n"}) == True
Example #13
0
def test_eq():
    assert match({"x": "y"}, {"x": "y"}) == True
Example #14
0
def test_zero():
    assert match({}, {}) == True
    assert match({"k", "v"}, {}) == True
Example #15
0
File: base.py Project: nbashev/noc
 def get_matchers(c, matchers):
     return {m: match(c, matchers[m]) for m in matchers}