Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits: 77fbc572 by Mark Sapiro at 2020-07-17T22:44:54-07:00 A member subscribed as a User can now be unsubscribed. - - - - - 8b5b16b7 by Mark Sapiro at 2020-07-18T18:10:38+00:00 Merge branch 'fix_734' into 'master' A member subscribed as a User can now be unsubscribed. Closes #734 See merge request mailman/mailman!670 - - - - - 3 changed files: - src/mailman/app/subscriptions.py - src/mailman/app/tests/test_unsubscriptions.py - src/mailman/docs/NEWS.rst Changes: ===================================== src/mailman/app/subscriptions.py ===================================== @@ -396,7 +396,9 @@ class UnSubscriptionWorkflow(_SubscriptionWorkflowCommon): self.pre_approved = pre_approved def _step_subscription_checks(self): - assert self.mlist.is_subscribed(self.subscriber) + # XXX assert self.member is not None is sufficient, but ... + assert (self.member is not None and + self.mlist.is_subscribed(self.member.subscriber)) self.push('confirmation_checks') def _step_confirmation_checks(self): ===================================== src/mailman/app/tests/test_unsubscriptions.py ===================================== @@ -26,7 +26,8 @@ from mailman.interfaces.mailinglist import SubscriptionPolicy from mailman.interfaces.pending import IPendings from mailman.interfaces.subscriptions import TokenOwner from mailman.interfaces.usermanager import IUserManager -from mailman.testing.helpers import LogFileMark, get_queue_messages +from mailman.testing.helpers import (LogFileMark, get_queue_messages, + set_preferred, subscribe) from mailman.testing.layers import ConfigLayer from mailman.utilities.datetime import now from unittest.mock import patch @@ -95,6 +96,19 @@ class TestUnSubscriptionWorkflow(unittest.TestCase): self.assertRaises(AssertionError, workflow.run_thru, 'subscription_checks') + def test_subscription_checks_for_user(self): + # subscription_checks must pass for IUser subscribed as IAddress. + member = subscribe(self._mlist, 'Bart') + set_preferred(member.user) + workflow = UnSubscriptionWorkflow(self._mlist, member.user) + workflow.run_thru('subscription_checks') + + def test_subscription_checks_for_address(self): + # subscription_checks must pass for IAddress subscribed as IUser. + workflow = UnSubscriptionWorkflow(self._mlist, + self.anne.preferred_address) + workflow.run_thru('subscription_checks') + def test_confirmation_checks_open_list(self): # An unsubscription from an open list does not need to be confirmed or # moderated. ===================================== src/mailman/docs/NEWS.rst ===================================== @@ -27,6 +27,7 @@ Bugs surrogates. (Closes #732) * Bounce probes can now be sent to a member subscribed as a User. (Closes #739) +* A member subscribed as a User can now be unsubscribed. (Closes #734) Command line ------------ View it on GitLab: https://gitlab.com/mailman/mailman/-/compare/bbc96f7fd56a9e89ffd2cdcd6aba3ccbc19237a0...8b5b16b7bdaa3224e0f28693854dd40e867f84fe -- View it on GitLab: https://gitlab.com/mailman/mailman/-/compare/bbc96f7fd56a9e89ffd2cdcd6aba3ccbc19237a0...8b5b16b7bdaa3224e0f28693854dd40e867f84fe You're receiving this email because of your account on gitlab.com.
_______________________________________________ Mailman-checkins mailing list -- mailman-checkins@python.org To unsubscribe send an email to mailman-checkins-le...@python.org https://mail.python.org/mailman3/lists/mailman-checkins.python.org/ Member address: arch...@jab.org