summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Warsaw2015-03-26 16:16:04 -0400
committerBarry Warsaw2015-03-26 16:16:04 -0400
commite7baafb81b56dcaadada56f23ae178648f804dcb (patch)
tree68e9ef7eafe5c6e760aca25ac88f84bec05263c4
parent4731ee37836df748285e3e86f74a7a58cc73d2f5 (diff)
downloadmailman-e7baafb81b56dcaadada56f23ae178648f804dcb.tar.gz
mailman-e7baafb81b56dcaadada56f23ae178648f804dcb.tar.zst
mailman-e7baafb81b56dcaadada56f23ae178648f804dcb.zip
-rw-r--r--src/mailman/app/tests/test_notifications.py43
1 files changed, 16 insertions, 27 deletions
diff --git a/src/mailman/app/tests/test_notifications.py b/src/mailman/app/tests/test_notifications.py
index 2bc0ed902..e01969201 100644
--- a/src/mailman/app/tests/test_notifications.py
+++ b/src/mailman/app/tests/test_notifications.py
@@ -28,12 +28,11 @@ import tempfile
import unittest
from mailman.app.lifecycle import create_list
-from mailman.app.membership import add_member
from mailman.config import config
from mailman.interfaces.languages import ILanguageManager
-from mailman.interfaces.member import DeliveryMode, MemberRole
-from mailman.interfaces.subscriptions import RequestRecord
-from mailman.testing.helpers import get_queue_messages
+from mailman.interfaces.member import MemberRole
+from mailman.interfaces.usermanager import IUserManager
+from mailman.testing.helpers import get_queue_messages, subscribe
from mailman.testing.layers import ConfigLayer
from zope.component import getUtility
@@ -43,6 +42,7 @@ class TestNotifications(unittest.TestCase):
"""Test notifications."""
layer = ConfigLayer
+ maxDiff = None
def setUp(self):
self._mlist = create_list('test@example.com')
@@ -79,10 +79,7 @@ Welcome to the $list_name mailing list.
shutil.rmtree(self.var_dir)
def test_welcome_message(self):
- add_member(
- self._mlist,
- RequestRecord('anne@example.com', 'Anne Person',
- DeliveryMode.regular, 'en'))
+ subscribe(self._mlist, 'Anne', email='anne@example.com')
# Now there's one message in the virgin queue.
messages = get_queue_messages('virgin')
self.assertEqual(len(messages), 1)
@@ -107,10 +104,12 @@ Welcome to the Test List mailing list.
# Add the xx language and subscribe Anne using it.
manager = getUtility(ILanguageManager)
manager.add('xx', 'us-ascii', 'Xlandia')
- add_member(
- self._mlist,
- RequestRecord('anne@example.com', 'Anne Person',
- DeliveryMode.regular, 'xx'))
+ # We can't use the subscribe() helper because that would send the
+ # welcome message before we set the member's preferred language.
+ address = getUtility(IUserManager).create_address(
+ 'anne@example.com', 'Anne Person')
+ address.preferences.preferred_language = 'xx'
+ self._mlist.subscribe(address)
# Now there's one message in the virgin queue.
messages = get_queue_messages('virgin')
self.assertEqual(len(messages), 1)
@@ -123,33 +122,23 @@ Welcome to the Test List mailing list.
def test_no_welcome_message_to_owners(self):
# Welcome messages go only to mailing list members, not to owners.
- add_member(
- self._mlist,
- RequestRecord('anne@example.com', 'Anne Person',
- DeliveryMode.regular, 'xx'),
- MemberRole.owner)
+ subscribe(self._mlist, 'Anne', MemberRole.owner, 'anne@example.com')
# There is no welcome message in the virgin queue.
messages = get_queue_messages('virgin')
self.assertEqual(len(messages), 0)
def test_no_welcome_message_to_nonmembers(self):
# Welcome messages go only to mailing list members, not to nonmembers.
- add_member(
- self._mlist,
- RequestRecord('anne@example.com', 'Anne Person',
- DeliveryMode.regular, 'xx'),
- MemberRole.nonmember)
+ subscribe(self._mlist, 'Anne', MemberRole.nonmember,
+ 'anne@example.com')
# There is no welcome message in the virgin queue.
messages = get_queue_messages('virgin')
self.assertEqual(len(messages), 0)
def test_no_welcome_message_to_moderators(self):
# Welcome messages go only to mailing list members, not to moderators.
- add_member(
- self._mlist,
- RequestRecord('anne@example.com', 'Anne Person',
- DeliveryMode.regular, 'xx'),
- MemberRole.moderator)
+ subscribe(self._mlist, 'Anne', MemberRole.moderator,
+ 'anne@example.com')
# There is no welcome message in the virgin queue.
messages = get_queue_messages('virgin')
self.assertEqual(len(messages), 0)