Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
f0c1b412 by Mark Sapiro at 2020-02-19T14:02:43-08:00
Removed incorrect member is None assertion when confirming a
confirm_then_moderate unsubscription.
- - - - -
a9bbf529 by Mark Sapiro at 2020-02-27T16:50:06+00:00
Merge branch 'fix_553' into 'master'
Removed incorrect member is None assertion when confirming a
confirm_then_moderate unsubscription.
Closes #553
See merge request mailman/mailman!603
- - - - -
3 changed files:
- src/mailman/commands/eml_confirm.py
- src/mailman/commands/tests/test_eml_confirm.py
- src/mailman/docs/NEWS.rst
Changes:
=====================================
src/mailman/commands/eml_confirm.py
=====================================
@@ -55,14 +55,14 @@ class Confirm:
if new_token is None:
assert token_owner is TokenOwner.no_one, token_owner
# We can't assert anything about member. It will be None when
- # the workflow we're confirming is an unsubscription request,
- # and non-None when we're confirming a subscription request.
+ # the workflow we're confirming is a subscription request,
+ # and non-None when we're confirming an unsubscription request.
# This class doesn't know which is happening.
succeeded = True
elif token_owner is TokenOwner.moderator:
- # This must have been a confirm-then-moderator subscription.
+ # This must have been a confirm-then-moderate (un)subscription.
assert new_token != token
- assert member is None, member
+ # We can't assert anything about member for the above reason.
succeeded = True
else:
assert token_owner is not TokenOwner.no_one, token_owner
=====================================
src/mailman/commands/tests/test_eml_confirm.py
=====================================
@@ -121,6 +121,25 @@ Subject: Re: confirm {token}
member = self._mlist.members.get_member('[email protected]')
self.assertIsNone(member)
+ def test_confirm_leave_moderate(self):
+ msg = mfs("""\
+From: Anne Person <[email protected]>
+To: test-confirm+{token}@example.com
+Subject: Re: confirm {token}
+
+""".format(token=self._token))
+ self._mlist.unsubscription_policy = (
+ SubscriptionPolicy.confirm_then_moderate)
+ # Clear any previously queued confirmation messages.
+ get_queue_messages('virgin')
+ Confirm().process(self._mlist, msg, {}, (self._token,), Results())
+ # Anne is still a member of the mailing list.
+ member = self._mlist.members.get_member('[email protected]')
+ self.assertIsNotNone(member)
+ # There should be a notice to the list owners
+ item = get_queue_messages('virgin', expected_count=1)[0]
+ self.assertEqual(item.msg['to'], '[email protected]')
+
class TestEmailResponses(unittest.TestCase):
"""Test the `confirm` command through the command runner."""
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -44,6 +44,8 @@ Bugs
* Find members API now searches for the Member's display name too. (Closes
#667)
* Content filtering ``convert_html_to_plaintext`` no longer creates messages
that can't be flattened as_bytes. (Closes #677)
+* Removed an incorrect failing assertion when confirming a
confirm_then_moderate
+ unsubscription. (Closes #553)
REST
----
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/a76a1e64ae9d86c1ec94f8e2c66742e0778f0355...a9bbf52985193314622d8737baa031588c247efc
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/a76a1e64ae9d86c1ec94f8e2c66742e0778f0355...a9bbf52985193314622d8737baa031588c247efc
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org