예제 #1
0
    def testDropV1EventForEnterpriseSpecific(self):
        filterDef = V1FilterDefinition(99, "include", "1.2.3")
        filterDef.specificTrap = "59"
        filtersByLevel = {"1.2.3-59": filterDef}
        filter = TrapFilter()
        filter._v1Filters[3] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.2.3")
        filterDef.specificTrap = "60"
        filtersByLevel["1.2.3-60"] = filterDef

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1.2.3",
            "snmpV1SpecificTrap": 59
        }
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1SpecificTrap"] = 60
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1SpecificTrap"] = 1
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2"
        self.assertTrue(filter._dropV1Event(event))
예제 #2
0
    def testDropV1EventForEnterpriseSpecific(self):
        filterDef = V1FilterDefinition(99, "include", "1.2.3")
        filterDef.specificTrap = "59"
        filtersByLevel = {"1.2.3-59": filterDef}
        filter = TrapFilter()
        filter._v1Filters[3] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.2.3")
        filterDef.specificTrap = "60"
        filtersByLevel["1.2.3-60"] = filterDef

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1.2.3",
            "snmpV1SpecificTrap": 59
        }
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1SpecificTrap"] = 60
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1SpecificTrap"] = 1
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2"
        self.assertTrue(filter._dropV1Event(event))
예제 #3
0
    def testDropV1EventExcludeAll(self):
        filterDef = V1FilterDefinition(99, "exclude", "*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[1] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1"
        }
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3"
        self.assertTrue(filter._dropV1Event(event))
예제 #4
0
    def testDropV1EventForEnterpriseSimpleGlobMatch(self):
        filterDef = V1FilterDefinition(99, "exclude", "1.2.3.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[4] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1.2.3.4"
        }
        self.assertTrue(filter._dropV1Event(event))

        filterDef.action = "include"
        self.assertFalse(filter._dropV1Event(event))
예제 #5
0
    def testDropV1EventExcludeAll(self):
        filterDef = V1FilterDefinition(99, "exclude", "*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[1] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1"
        }
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3"
        self.assertTrue(filter._dropV1Event(event))
예제 #6
0
    def testDropV1EventForEnterpriseSimpleGlobMatch(self):
        filterDef = V1FilterDefinition(99, "exclude", "1.2.3.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[4] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1.2.3.4"
        }
        self.assertTrue(filter._dropV1Event(event))

        filterDef.action = "include"
        self.assertFalse(filter._dropV1Event(event))
예제 #7
0
    def testDropV1EventForGenericTrapForNoMatch(self):
        genericTrap = 1
        filterDef = GenericTrapFilterDefinition(99, "exclude", genericTrap)
        filter = TrapFilter()
        filter._v1Traps[genericTrap] = filterDef

        event = {"snmpVersion": "1", "snmpV1GenericTrapType": 2}
        self.assertTrue(filter._dropV1Event(event))
예제 #8
0
    def testDropV1EventForGenericTrapInclusion(self):
        genericTrap = 0
        filterDef = GenericTrapFilterDefinition(99, "include", genericTrap)
        filter = TrapFilter()
        filter._v1Traps[genericTrap] = filterDef

        event = {"snmpVersion": "1", "snmpV1GenericTrapType": genericTrap}
        self.assertFalse(filter._dropV1Event(event))
예제 #9
0
    def testDropV1EventForMissingGenericTrap(self):
        filterDef = V1FilterDefinition(99, "include", "*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[1] = filtersByLevel

        event = {"snmpVersion": "1", "snmpV1Enterprise": "1.2"}
        self.assertTrue(filter._dropV1Event(event))
예제 #10
0
    def testDropV1EventForGenericTrapForNoMatch(self):
        genericTrap = 1
        filterDef = GenericTrapFilterDefinition(99, "exclude", genericTrap)
        filter = TrapFilter()
        filter._v1Traps[genericTrap] = filterDef

        event = {"snmpVersion": "1", "snmpV1GenericTrapType": 2}
        self.assertTrue(filter._dropV1Event(event))
예제 #11
0
    def testDropV1EventForGenericTrapInclusion(self):
        genericTrap = 0
        filterDef = GenericTrapFilterDefinition(99, "include", genericTrap)
        filter = TrapFilter()
        filter._v1Traps[genericTrap] = filterDef

        event = {"snmpVersion": "1", "snmpV1GenericTrapType": genericTrap}
        self.assertFalse(filter._dropV1Event(event))
예제 #12
0
    def testDropV1EventForSimpleGlobMatches(self):
        filterDef = V1FilterDefinition(99, "include", "1.2.3.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[4] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.2.3.4.5.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter._v1Filters[6] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1.2.3.4"
        }
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.99"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.99.5"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.99"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.5"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.5.99"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.99.4"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.99.4.5.6"
        self.assertTrue(filter._dropV1Event(event))
예제 #13
0
    def testDropV1EventForSimpleGlobMatches(self):
        filterDef = V1FilterDefinition(99, "include", "1.2.3.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[4] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.2.3.4.5.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter._v1Filters[6] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1.2.3.4"
        }
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.99"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.99.5"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.99"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.5"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.5.99"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.99.4"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.99.4.5.6"
        self.assertTrue(filter._dropV1Event(event))
예제 #14
0
    def testDropV1EventForMissingEnterpriseOID(self):
        filterDef = V1FilterDefinition(99, "include", "*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[1] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
        }
        self.assertTrue(filter._dropV1Event(event))
예제 #15
0
    def testDropV1EventExcludeAllBut(self):
        filterDef = V1FilterDefinition(99, "exclude", "*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[1] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.2.3.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter._v1Filters[4] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.4.5")
        filterDef.specificTrap = "*"
        filtersByLevel = {"1.4.5-*": filterDef}
        filter._v1Filters[3] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1"
        }
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.4.5.1"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.4.5"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.4.5"
        event["snmpV1SpecificTrap"] = 23
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.5"
        self.assertFalse(filter._dropV1Event(event))
예제 #16
0
    def testDropV1EventExcludeAllBut(self):
        filterDef = V1FilterDefinition(99, "exclude", "*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter = TrapFilter()
        filter._v1Filters[1] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.2.3.*")
        filtersByLevel = {filterDef.oid: filterDef}
        filter._v1Filters[4] = filtersByLevel

        filterDef = V1FilterDefinition(99, "include", "1.4.5")
        filterDef.specificTrap = "*"
        filtersByLevel = {"1.4.5-*": filterDef}
        filter._v1Filters[3] = filtersByLevel

        event = {
            "snmpVersion": "1",
            "snmpV1GenericTrapType": 6,
            "snmpV1Enterprise": "1"
        }
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.4.5.1"
        self.assertTrue(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.4.5"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.4.5"
        event["snmpV1SpecificTrap"] = 23
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4"
        self.assertFalse(filter._dropV1Event(event))

        event["snmpV1Enterprise"] = "1.2.3.4.5"
        self.assertFalse(filter._dropV1Event(event))