Mark Sapiro pushed to branch master at GNU Mailman / Mailman Core
Commits:
26d2e6fc by Mark Sapiro at 2020-07-18T11:46:43-07:00
Enhance testing.subscribe to enable subscribing a User.
- - - - -
a96f9f21 by Mark Sapiro at 2020-07-18T21:30:00+00:00
Merge branch 'testing' into 'master'
Enhance testing.helpers.subscribe to enable subscribing a User.
See merge request mailman/mailman!672
- - - - -
2 changed files:
- src/mailman/app/tests/test_bounces.py
- src/mailman/testing/helpers.py
Changes:
=====================================
src/mailman/app/tests/test_bounces.py
=====================================
@@ -36,7 +36,6 @@ from mailman.testing.helpers import (
LogFileMark, get_queue_messages, specialized_message_from_string as mfs,
subscribe)
from mailman.testing.layers import ConfigLayer
-from mailman.utilities.datetime import now
from zope.component import getUtility
@@ -277,18 +276,14 @@ list owner at
def test_send_probe_to_user(self):
# Can we send probe to member subscribed as a user.
- user_manager = getUtility(IUserManager)
- anne = user_manager.get_user('[email protected]')
- anne_address = user_manager.get_address('[email protected]')
- anne_address.verified_on = now()
- anne.preferred_address = anne_address
- self._member = self._mlist.subscribe(anne, send_welcome_message=False)
+ self._member = subscribe(self._mlist, 'Bart', email='[email protected]',
+ as_user=True)
token = send_probe(self._member, self._msg)
items = get_queue_messages('virgin', expected_count=1)
message = items[0].msg
self.assertEqual(message['from'],
'test-bounces+{0}@example.com'.format(token))
- self.assertEqual(message['to'], '[email protected]')
+ self.assertEqual(message['to'], '[email protected]')
self.assertEqual(message['subject'], 'Test mailing list probe message')
def test_no_precedence_header(self):
=====================================
src/mailman/testing/helpers.py
=====================================
@@ -417,7 +417,8 @@ class chdir:
@public
-def subscribe(mlist, first_name, role=MemberRole.member, email=None):
+def subscribe(mlist, first_name, role=MemberRole.member, email=None,
+ as_user=False):
"""Helper for subscribing a sample person to a mailing list.
Returns the newly created member object.
@@ -432,12 +433,27 @@ def subscribe(mlist, first_name, role=MemberRole.member,
email=None):
address = user_manager.get_address(email)
if address is None:
person = user_manager.create_user(email, full_name)
- subscription_address = list(person.addresses)[0]
+ set_preferred(person)
+ if as_user:
+ subscription_object = person
+ else:
+ subscription_object = person.preferred_address
else:
- subscription_address = address
+ if not as_user:
+ subscription_object = address
+ else:
+ person = user_manager.create_user(display_name=full_name)
+ person.link(address)
+ set_preferred(person)
+ subscription_object = person
else:
- subscription_address = list(person.addresses)[0]
- mlist.subscribe(subscription_address, role)
+ if as_user:
+ if person.preferred_address is None:
+ set_preferred(person)
+ subscription_object = person
+ else:
+ subscription_object = list(person.addresses)[0]
+ mlist.subscribe(subscription_object, role)
roster = mlist.get_roster(role)
return roster.get_member(email)
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/8b5b16b7bdaa3224e0f28693854dd40e867f84fe...a96f9f219661be01c05300a5789959fe6c5b23b8
--
View it on GitLab:
https://gitlab.com/mailman/mailman/-/compare/8b5b16b7bdaa3224e0f28693854dd40e867f84fe...a96f9f219661be01c05300a5789959fe6c5b23b8
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/mailman-checkins.python.org/
Member address: [email protected]