summaryrefslogtreecommitdiff
path: root/src/mailman/rules/tests/test_moderation.py
diff options
context:
space:
mode:
authorBarry Warsaw2016-04-01 15:14:51 -0400
committerBarry Warsaw2016-04-01 15:14:51 -0400
commitf7e9e4698bdd4cee39c9eb485296cbbfa32369a9 (patch)
tree6dc8557009cbddb4e416faecc329b38b1cc0ad0b /src/mailman/rules/tests/test_moderation.py
parentafdd3b6deb32cd8cfdad291aba173a63064514f8 (diff)
downloadmailman-f7e9e4698bdd4cee39c9eb485296cbbfa32369a9.tar.gz
mailman-f7e9e4698bdd4cee39c9eb485296cbbfa32369a9.tar.zst
mailman-f7e9e4698bdd4cee39c9eb485296cbbfa32369a9.zip
Diffstat (limited to 'src/mailman/rules/tests/test_moderation.py')
-rw-r--r--src/mailman/rules/tests/test_moderation.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/mailman/rules/tests/test_moderation.py b/src/mailman/rules/tests/test_moderation.py
index 3e80aeeb5..05bae5e1b 100644
--- a/src/mailman/rules/tests/test_moderation.py
+++ b/src/mailman/rules/tests/test_moderation.py
@@ -160,15 +160,19 @@ MIME-Version: 1.0
A message body.
""")
- # First, the message should get held
+ # First, the message should get held.
msgdata = {}
result = rule.check(self._mlist, msg, msgdata)
self.assertTrue(result)
- self.assertEqual(msgdata.get('moderation_action'), 'hold')
- # Then the list's default nonmember action is changed
+ self.assertEqual(msgdata['moderation_action'], 'hold')
+ # As a side-effect, Anne has been added as a nonmember with a
+ # moderation action that falls back to the list's default.
+ anne = self._mlist.nonmembers.get_member('anne@example.com')
+ self.assertIsNone(anne.moderation_action)
+ # Then the list's default nonmember action is changed.
self._mlist.default_nonmember_action = Action.discard
- msg.replace_header('Message-ID', '<ant2>')
- # This time, the message should be discarded
+ msg.replace_header('Message-ID', '<bee>')
+ # This time, the message should be discarded.
result = rule.check(self._mlist, msg, msgdata)
self.assertTrue(result)
self.assertEqual(msgdata.get('moderation_action'), 'discard')
@@ -178,7 +182,9 @@ A message body.
self._mlist.default_member_action = Action.accept
user_manager = getUtility(IUserManager)
anne = user_manager.create_address('anne@example.com')
- self._mlist.subscribe(anne, MemberRole.member)
+ member = self._mlist.subscribe(anne, MemberRole.member)
+ # Anne's moderation rule falls back to the list default.
+ self.assertIsNone(member.moderation_action)
rule = moderation.MemberModeration()
msg = mfs("""\
From: anne@example.com
@@ -189,15 +195,15 @@ MIME-Version: 1.0
A message body.
""")
- # First, the message should get held
+ # First, the message gets accepted.
msgdata = {}
result = rule.check(self._mlist, msg, msgdata)
self.assertTrue(result)
self.assertEqual(msgdata.get('moderation_action'), 'accept')
- # Then the list's default nonmember action is changed
+ # Then the list's default member action is changed.
self._mlist.default_member_action = Action.hold
- msg.replace_header('Message-ID', '<ant2>')
- # This time, the message should be discarded
+ msg.replace_header('Message-ID', '<bee>')
+ # This time, the message is held.
result = rule.check(self._mlist, msg, msgdata)
self.assertTrue(result)
self.assertEqual(msgdata.get('moderation_action'), 'hold')