def testSetRules(self): firewall = MessageFirewall() message = TaggedMessage([]) firewall.setRules("stop as NEW") return firewall.analyze(message, getDefaultDomain()).addCallback( lambda result: self.assertEquals("NEW", result) )
def testDebug(self): firewall = MessageFirewall( "do ruleTrue() mark xxx\nif not xxx do ruleFalse() mark zzz\nskip to 100\n200: stop as C\n100: if yyyy stop as D\nif xx stop as A\nstop as B" ) message = TaggedMessage([]) def logCallback(log): self.fwLog = log return firewall.analyze(message, getDefaultDomain(), debug=True, logCallback=logCallback).addCallback( lambda _: self.assertEquals( [ "[ENTER]: do ruleTrue() mark xxx", "Result: True", "[ENTER]: if not xxx do ruleFalse() mark zzz", "Result: False", "Tagged message with tags: ['zzz'], current tags are: ['zzz']", "[ENTER]: skip to 100", "Skipping to 100", "Labels for skip don't match 100 != 200", "Stopped skip to at label 100", "[ENTER]: 100: if yyyy stop as D", "[ENTER]: if xx stop as A", "[ENTER]: stop as B", "Stopping firewall with result: B", ], self.fwLog, ) )
def testAnalyze5(self): firewall = MessageFirewall("10: do ruleTrue()\nskip to 10") message = TaggedMessage([]) def checkSkipFall(failure): failure.trap(errors.SkipToFallthroughError) return ( firewall.analyze(message, getDefaultDomain()) .addCallback(lambda _: self.assert_(False)) .addErrback(checkSkipFall) )
def testAnalyze7(self): firewall = MessageFirewall("do ruleTrue() mark xxx\nif xx stop as A\nstop as B") message = TaggedMessage([]) return firewall.analyze(message, getDefaultDomain()).addCallback(lambda result: self.assertEquals("B", result))
def testAnalyze6(self): firewall = MessageFirewall("skip to 20\nstop as OK\n20: stop as SPAM") message = TaggedMessage([]) return firewall.analyze(message, getDefaultDomain()).addCallback( lambda result: self.assertEquals("SPAM", result) )
def testAnalyze4(self): firewall = MessageFirewall("do ruleTrue() mark spammed\nif spammed stop as SPAM") message = TaggedMessage([]) return firewall.analyze(message, getDefaultDomain()).addCallback( lambda result: self.assertEquals("UNKNOWN", result) )
def testAnalyze1(self): firewall = MessageFirewall() message = Message([]) return firewall.analyze(message, getDefaultDomain()).addCallback( lambda result: self.assertEquals("UNKNOWN", result) )