diff options
| author | bwarsaw | 2001-10-09 23:21:06 +0000 |
|---|---|---|
| committer | bwarsaw | 2001-10-09 23:21:06 +0000 |
| commit | af0405c987592ac1211e2e1f4662f08f75d242b2 (patch) | |
| tree | e2b4a451b88eaaed946d649ad4946b636ec011be /tests/test_handlers.py | |
| parent | 604833af6ce09b6ecdb6a2b90e9814dde085b966 (diff) | |
| download | mailman-af0405c987592ac1211e2e1f4662f08f75d242b2.tar.gz mailman-af0405c987592ac1211e2e1f4662f08f75d242b2.tar.zst mailman-af0405c987592ac1211e2e1f4662f08f75d242b2.zip | |
test_urgent_reject(): Test that a RejectMessage is raised, not a
RejectUrgentMessage.
TestTagger: many tests of the Tagger handler.
Diffstat (limited to 'tests/test_handlers.py')
| -rw-r--r-- | tests/test_handlers.py | 114 |
1 files changed, 112 insertions, 2 deletions
diff --git a/tests/test_handlers.py b/tests/test_handlers.py index 462fdc80e..8f9db90ef 100644 --- a/tests/test_handlers.py +++ b/tests/test_handlers.py @@ -404,7 +404,7 @@ From: dperson@dom.ain Urgent: zzZZzz """, Message.Message) - self.assertRaises(CalcRecips.RejectUrgentMessage, + self.assertRaises(Errors.RejectMessage, CalcRecips.process, self._mlist, msg, msgdata) @@ -1454,7 +1454,117 @@ A message. class TestTagger(TestBase): - pass + def test_short_circuit(self): + self._mlist.topics = 0 + rtn = Tagger.process(self._mlist, None, {}) + # Not really a great test, but there's little else to assert + self.assertEqual(rtn, None) + + def test_simple(self): + eq = self.assertEqual + mlist = self._mlist + mlist.topics = [('bar fight', '.*bar.*', 'catch any bars', 1)] + mlist.topics_bodylines_limit = 0 + msg = email.message_from_string("""\ +Subject: foobar +Keywords: barbaz + +""") + msgdata = {} + Tagger.process(mlist, msg, msgdata) + eq(msg['x-topics'], 'bar fight') + eq(msgdata.get('topichits'), ['bar fight']) + + def test_all_body_lines_plain_text(self): + eq = self.assertEqual + mlist = self._mlist + mlist.topics = [('bar fight', '.*bar.*', 'catch any bars', 1)] + mlist.topics_bodylines_limit = -1 + msg = email.message_from_string("""\ +Subject: Was +Keywords: Raw + +Subject: farbaw +Keywords: barbaz +""") + msgdata = {} + Tagger.process(mlist, msg, msgdata) + eq(msg['x-topics'], 'bar fight') + eq(msgdata.get('topichits'), ['bar fight']) + + def test_no_body_lines(self): + eq = self.assertEqual + mlist = self._mlist + mlist.topics = [('bar fight', '.*bar.*', 'catch any bars', 1)] + mlist.topics_bodylines_limit = 0 + msg = email.message_from_string("""\ +Subject: Was +Keywords: Raw + +Subject: farbaw +Keywords: barbaz +""") + msgdata = {} + Tagger.process(mlist, msg, msgdata) + eq(msg['x-topics'], None) + eq(msgdata.get('topichits'), None) + + def test_body_lines_in_multipart(self): + eq = self.assertEqual + mlist = self._mlist + mlist.topics = [('bar fight', '.*bar.*', 'catch any bars', 1)] + mlist.topics_bodylines_limit = -1 + msg = email.message_from_string("""\ +Subject: Was +Keywords: Raw +Content-Type: multipart/alternative; boundary="BOUNDARY" + +--BOUNDARY +From: sabo +To: obas + +Subject: farbaw +Keywords: barbaz + +--BOUNDARY-- +""") + msgdata = {} + Tagger.process(mlist, msg, msgdata) + eq(msg['x-topics'], None) + eq(msgdata.get('topichits'), None) + + def test_body_lines_no_part(self): + eq = self.assertEqual + mlist = self._mlist + mlist.topics = [('bar fight', '.*bar.*', 'catch any bars', 1)] + mlist.topics_bodylines_limit = -1 + msg = email.message_from_string("""\ +Subject: Was +Keywords: Raw +Content-Type: multipart/alternative; boundary="BOUNDARY" + +--BOUNDARY +From: sabo +To: obas +Content-Type: message/rfc822 + +Subject: farbaw +Keywords: barbaz + +--BOUNDARY +From: sabo +To: obas +Content-Type: message/rfc822 + +Subject: farbaw +Keywords: barbaz + +--BOUNDARY-- +""") + msgdata = {} + Tagger.process(mlist, msg, msgdata) + eq(msg['x-topics'], None) + eq(msgdata.get('topichits'), None) |
