summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mailman/app/tests/test_bounces.py12
-rw-r--r--src/mailman/app/tests/test_inject.py9
-rw-r--r--src/mailman/app/tests/test_membership.py9
-rw-r--r--src/mailman/app/tests/test_moderation.py8
-rw-r--r--src/mailman/app/tests/test_subscriptions.py8
-rw-r--r--src/mailman/bin/tests/test_master.py8
-rw-r--r--src/mailman/chains/tests/test_hold.py8
-rw-r--r--src/mailman/commands/tests/test_control.py8
-rw-r--r--src/mailman/commands/tests/test_create.py8
-rw-r--r--src/mailman/model/tests/test_bounce.py8
-rw-r--r--src/mailman/model/tests/test_domain.py9
-rw-r--r--src/mailman/model/tests/test_listmanager.py9
-rw-r--r--src/mailman/model/tests/test_member.py8
-rw-r--r--src/mailman/model/tests/test_uid.py8
-rw-r--r--src/mailman/model/tests/test_user.py8
-rw-r--r--src/mailman/mta/tests/test_aliases.py10
-rw-r--r--src/mailman/rest/tests/test_addresses.py8
-rw-r--r--src/mailman/rest/tests/test_domains.py8
-rw-r--r--src/mailman/rest/tests/test_lists.py8
-rw-r--r--src/mailman/rest/tests/test_membership.py8
-rw-r--r--src/mailman/rest/tests/test_root.py8
-rw-r--r--src/mailman/rest/tests/test_users.py8
-rw-r--r--src/mailman/runners/tests/test_outgoing.py11
-rw-r--r--src/mailman/tests/test_configfile.py9
-rw-r--r--src/mailman/tests/test_documentation.py4
-rw-r--r--src/mailman/tests/test_membership.py405
-rw-r--r--src/mailman/utilities/tests/test_email.py8
-rw-r--r--src/mailman/utilities/tests/test_import.py8
-rw-r--r--src/mailman/utilities/tests/test_passwords.py29
-rw-r--r--src/mailman/utilities/tests/test_templates.py10
-rw-r--r--src/mailman/utilities/tests/test_wrap.py8
31 files changed, 11 insertions, 667 deletions
diff --git a/src/mailman/app/tests/test_bounces.py b/src/mailman/app/tests/test_bounces.py
index 3a39b756a..1646e02ae 100644
--- a/src/mailman/app/tests/test_bounces.py
+++ b/src/mailman/app/tests/test_bounces.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -499,14 +498,3 @@ Message-ID: <first>
# recipients of this message.
self.assertEqual(items[0].msgdata['recipients'],
set(['postmaster@example.com',]))
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestMaybeForward))
- suite.addTest(unittest.makeSuite(TestProbe))
- suite.addTest(unittest.makeSuite(TestSendProbe))
- suite.addTest(unittest.makeSuite(TestSendProbeNonEnglish))
- suite.addTest(unittest.makeSuite(TestVERP))
- return suite
diff --git a/src/mailman/app/tests/test_inject.py b/src/mailman/app/tests/test_inject.py
index b395eb989..c03167e1a 100644
--- a/src/mailman/app/tests/test_inject.py
+++ b/src/mailman/app/tests/test_inject.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -209,11 +208,3 @@ Nothing.
items = get_queue_messages('in')
self.assertEqual(items[0].msgdata['foo'], 'yes')
self.assertEqual(items[0].msgdata['bar'], 'no')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestInjectMessage))
- suite.addTest(unittest.makeSuite(TestInjectText))
- return suite
diff --git a/src/mailman/app/tests/test_membership.py b/src/mailman/app/tests/test_membership.py
index 0e8225f3a..8222dc56c 100644
--- a/src/mailman/app/tests/test_membership.py
+++ b/src/mailman/app/tests/test_membership.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -197,11 +196,3 @@ class AddMemberPasswordTest(unittest.TestCase):
system_preferences.preferred_language)
self.assertEqual(
member.user.password, '{SHA}qZk-NkcGgWq6PiVxeFDCbJzQ2J0=')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(AddMemberTest))
- suite.addTest(unittest.makeSuite(AddMemberPasswordTest))
- return suite
diff --git a/src/mailman/app/tests/test_moderation.py b/src/mailman/app/tests/test_moderation.py
index c96430c64..a907b40dd 100644
--- a/src/mailman/app/tests/test_moderation.py
+++ b/src/mailman/app/tests/test_moderation.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -96,10 +95,3 @@ Message-ID: <alpha>
# envelope.
self.assertEqual(message['x-mailfrom'], 'test-bounces@example.com')
self.assertEqual(message['x-rcptto'], 'bart@example.com')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestModeration))
- return suite
diff --git a/src/mailman/app/tests/test_subscriptions.py b/src/mailman/app/tests/test_subscriptions.py
index 861551a03..a906e0ec5 100644
--- a/src/mailman/app/tests/test_subscriptions.py
+++ b/src/mailman/app/tests/test_subscriptions.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -67,10 +66,3 @@ class TestJoin(unittest.TestCase):
self.assertEqual(exc.address, 'bogus')
else:
raise AssertionError('InvalidEmailAddressError expected')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestJoin))
- return suite
diff --git a/src/mailman/bin/tests/test_master.py b/src/mailman/bin/tests/test_master.py
index a97817f24..af00051a2 100644
--- a/src/mailman/bin/tests/test_master.py
+++ b/src/mailman/bin/tests/test_master.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -72,10 +71,3 @@ class TestMasterLock(unittest.TestCase):
my_lock.unlock()
self.assertEqual(state, master.WatcherState.conflict)
# XXX test stale_lock and host_mismatch states.
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestMasterLock))
- return suite
diff --git a/src/mailman/chains/tests/test_hold.py b/src/mailman/chains/tests/test_hold.py
index b3e9815d5..292213da4 100644
--- a/src/mailman/chains/tests/test_hold.py
+++ b/src/mailman/chains/tests/test_hold.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -96,10 +95,3 @@ further responses today. Please try again tomorrow.
If you believe this message is in error, or if you have any questions,
please contact the list owner at test-owner@example.com.""")
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestAutorespond))
- return suite
diff --git a/src/mailman/commands/tests/test_control.py b/src/mailman/commands/tests/test_control.py
index 105ba95d5..73b7395ff 100644
--- a/src/mailman/commands/tests/test_control.py
+++ b/src/mailman/commands/tests/test_control.py
@@ -23,7 +23,6 @@ __metaclass__ = type
__all__ = [
'find_master',
'make_config',
- 'test_suite',
]
@@ -162,10 +161,3 @@ class TestStart(unittest.TestCase):
self.command.process(self.args)
pid = find_master()
self.assertNotEqual(pid, None)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestStart))
- return suite
diff --git a/src/mailman/commands/tests/test_create.py b/src/mailman/commands/tests/test_create.py
index 76a8e0e00..75218de94 100644
--- a/src/mailman/commands/tests/test_create.py
+++ b/src/mailman/commands/tests/test_create.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -95,10 +94,3 @@ class TestCreate(unittest.TestCase):
pass
self.assertEqual(self.command.parser.message,
'Illegal owner addresses: main=True')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestCreate))
- return suite
diff --git a/src/mailman/model/tests/test_bounce.py b/src/mailman/model/tests/test_bounce.py
index a232b37fd..da203e077 100644
--- a/src/mailman/model/tests/test_bounce.py
+++ b/src/mailman/model/tests/test_bounce.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -96,10 +95,3 @@ Message-Id: <first>
# Now there will be no unprocessed events.
unprocessed = list(self._processor.unprocessed)
self.assertEqual(len(unprocessed), 0)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestBounceEvents))
- return suite
diff --git a/src/mailman/model/tests/test_domain.py b/src/mailman/model/tests/test_domain.py
index 4ad8a5403..c7c4ba999 100644
--- a/src/mailman/model/tests/test_domain.py
+++ b/src/mailman/model/tests/test_domain.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -103,11 +102,3 @@ class TestDomainLifecycleEvents(unittest.TestCase):
self.assertEqual(listmanager.get('dog@example.org'), None)
self.assertEqual(listmanager.get('ewe@example.com'), ewe)
self.assertEqual(listmanager.get('fly@example.com'), fly)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestDomainManager))
- suite.addTest(unittest.makeSuite(TestDomainLifecycleEvents))
- return suite
diff --git a/src/mailman/model/tests/test_listmanager.py b/src/mailman/model/tests/test_listmanager.py
index 8ea36d9b7..5e4a38438 100644
--- a/src/mailman/model/tests/test_listmanager.py
+++ b/src/mailman/model/tests/test_listmanager.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -126,11 +125,3 @@ Message-ID: <argon>
self.assertEqual(request, None)
saved_message = getUtility(IMessageStore).get_message_by_id('<argon>')
self.assertEqual(saved_message.as_string(), msg.as_string())
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestListManager))
- suite.addTest(unittest.makeSuite(TestListLifecycleEvents))
- return suite
diff --git a/src/mailman/model/tests/test_member.py b/src/mailman/model/tests/test_member.py
index 7906d8983..c45bcf396 100644
--- a/src/mailman/model/tests/test_member.py
+++ b/src/mailman/model/tests/test_member.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -95,10 +94,3 @@ class TestMember(unittest.TestCase):
# The new address is not verified.
self.assertRaises(MembershipError,
setattr, member, 'address', bart_address)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestMember))
- return suite
diff --git a/src/mailman/model/tests/test_uid.py b/src/mailman/model/tests/test_uid.py
index c8ba4b770..bd4faf94f 100644
--- a/src/mailman/model/tests/test_uid.py
+++ b/src/mailman/model/tests/test_uid.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -47,10 +46,3 @@ class TestUID(unittest.TestCase):
my_uuid = uuid.uuid4()
UID.record(my_uuid)
self.assertRaises(ValueError, UID.record, my_uuid)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestUID))
- return suite
diff --git a/src/mailman/model/tests/test_user.py b/src/mailman/model/tests/test_user.py
index 4112572bd..caaf9faa3 100644
--- a/src/mailman/model/tests/test_user.py
+++ b/src/mailman/model/tests/test_user.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -72,10 +71,3 @@ class TestUser(unittest.TestCase):
self.assertEqual(len(emails), 2)
self.assertEqual(emails,
set(['anne@example.com', 'aperson@example.com']))
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestUser))
- return suite
diff --git a/src/mailman/mta/tests/test_aliases.py b/src/mailman/mta/tests/test_aliases.py
index 3ba50cad7..c2f8a2087 100644
--- a/src/mailman/mta/tests/test_aliases.py
+++ b/src/mailman/mta/tests/test_aliases.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -152,12 +151,3 @@ test-request@example.com lmtp:[127.0.0.1]:9024
test-subscribe@example.com lmtp:[127.0.0.1]:9024
test-unsubscribe@example.com lmtp:[127.0.0.1]:9024
""")
-
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestAliases))
- suite.addTest(unittest.makeSuite(TestPostfix))
- return suite
diff --git a/src/mailman/rest/tests/test_addresses.py b/src/mailman/rest/tests/test_addresses.py
index 113ed1b25..d0ed70de2 100644
--- a/src/mailman/rest/tests/test_addresses.py
+++ b/src/mailman/rest/tests/test_addresses.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -53,10 +52,3 @@ class TestAddresses(unittest.TestCase):
self.assertEqual(exc.code, 404)
else:
raise AssertionError('Expected HTTPError')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestAddresses))
- return suite
diff --git a/src/mailman/rest/tests/test_domains.py b/src/mailman/rest/tests/test_domains.py
index b04090b14..0709a6544 100644
--- a/src/mailman/rest/tests/test_domains.py
+++ b/src/mailman/rest/tests/test_domains.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -74,10 +73,3 @@ class TestDomains(unittest.TestCase):
'http://localhost:9001/3.0/domains/example.com', method='DELETE')
self.assertEqual(response.status, 204)
self.assertEqual(getUtility(IListManager).get('ant@example.com'), None)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestDomains))
- return suite
diff --git a/src/mailman/rest/tests/test_lists.py b/src/mailman/rest/tests/test_lists.py
index fe8519404..b34ebf916 100644
--- a/src/mailman/rest/tests/test_lists.py
+++ b/src/mailman/rest/tests/test_lists.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -80,10 +79,3 @@ class TestLists(unittest.TestCase):
self.assertEqual(exc.code, 404)
else:
raise AssertionError('Expected HTTPError')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestLists))
- return suite
diff --git a/src/mailman/rest/tests/test_membership.py b/src/mailman/rest/tests/test_membership.py
index ea3357506..a610b152a 100644
--- a/src/mailman/rest/tests/test_membership.py
+++ b/src/mailman/rest/tests/test_membership.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -239,10 +238,3 @@ class TestMembership(unittest.TestCase):
self.assertEqual(exc.code, 404)
else:
raise AssertionError('Expected HTTPError')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestMembership))
- return suite
diff --git a/src/mailman/rest/tests/test_root.py b/src/mailman/rest/tests/test_root.py
index 856767947..a6a3c33ba 100644
--- a/src/mailman/rest/tests/test_root.py
+++ b/src/mailman/rest/tests/test_root.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -84,10 +83,3 @@ class TestSystem(unittest.TestCase):
self.assertEqual(exc.code, 405)
else:
raise AssertionError('Expected HTTPError')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestSystem))
- return suite
diff --git a/src/mailman/rest/tests/test_users.py b/src/mailman/rest/tests/test_users.py
index 72a52af24..2f2664b3b 100644
--- a/src/mailman/rest/tests/test_users.py
+++ b/src/mailman/rest/tests/test_users.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -52,10 +51,3 @@ class TestUsers(unittest.TestCase):
self.assertEqual(exc.code, 404)
else:
raise AssertionError('Expected HTTPError')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestUsers))
- return suite
diff --git a/src/mailman/runners/tests/test_outgoing.py b/src/mailman/runners/tests/test_outgoing.py
index ddabfbef7..41ba1a106 100644
--- a/src/mailman/runners/tests/test_outgoing.py
+++ b/src/mailman/runners/tests/test_outgoing.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -537,13 +536,3 @@ Message-Id: <first>
self.assertEqual(
line[-63:-1],
'Discarding message with persistent temporary failures: <first>')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestOnce))
- suite.addTest(unittest.makeSuite(TestVERPSettings))
- suite.addTest(unittest.makeSuite(TestSocketError))
- suite.addTest(unittest.makeSuite(TestSomeRecipientsFailed))
- return suite
diff --git a/src/mailman/tests/test_configfile.py b/src/mailman/tests/test_configfile.py
index 245b84df8..d19b7b73c 100644
--- a/src/mailman/tests/test_configfile.py
+++ b/src/mailman/tests/test_configfile.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -180,11 +179,3 @@ class TestConfigFileSearchWithChroot(TestConfigFileBase):
with open(os.path.join(fake_testdir, 'mailman.cfg'), 'w') as fp:
print >> fp, '# Fake mailman.cfg file'
self.assertEqual(search_for_configuration_file(), config_file)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestConfigFileSearch))
- suite.addTest(unittest.makeSuite(TestConfigFileSearchWithChroot))
- return suite
diff --git a/src/mailman/tests/test_documentation.py b/src/mailman/tests/test_documentation.py
index 8be0f74dd..c47e894c9 100644
--- a/src/mailman/tests/test_documentation.py
+++ b/src/mailman/tests/test_documentation.py
@@ -182,6 +182,10 @@ def setup(testobj):
def test_suite():
+ """Create test suites for all .rst documentation tests.
+
+ .txt files are also tested, but .rst is highly preferred.
+ """
suite = unittest.TestSuite()
topdir = os.path.dirname(mailman.__file__)
packages = []
diff --git a/src/mailman/tests/test_membership.py b/src/mailman/tests/test_membership.py
deleted file mode 100644
index 8425cf65f..000000000
--- a/src/mailman/tests/test_membership.py
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright (C) 2001-2011 by the Free Software Foundation, Inc.
-#
-# This file is part of GNU Mailman.
-#
-# GNU Mailman is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, either version 3 of the License, or (at your option)
-# any later version.
-#
-# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# GNU Mailman. If not, see <http://www.gnu.org/licenses/>.
-
-"""Unit tests for OldStyleMemberships."""
-
-from __future__ import absolute_import, unicode_literals
-
-__metaclass__ = type
-__all__ = [
- 'test_suite',
- ]
-
-
-import time
-import unittest
-
-from mailman.app.lifecycle import create_list, remove_list
-from mailman.config import config
-from mailman.interfaces.member import NotAMemberError
-from mailman.testing.layers import ConfigLayer
-from mailman.utilities import passwords
-
-
-
-def password(cleartext):
- return passwords.make_secret(cleartext, passwords.Schemes.ssha)
-
-
-
-class TestNoMembers(unittest.TestCase):
- layer = ConfigLayer
-
- def setUp(self):
- self._mlist = create_list('test@example.com')
-
- def tearDown(self):
- remove_list(self._mlist.fqdn_listname, self._mlist)
-
- def test_no_member(self):
- eq = self.assertEqual
- raises = self.assertRaises
- mlist = self._mlist
- eq(mlist.getMembers(), [])
- eq(mlist.getRegularMemberKeys(), [])
- eq(mlist.getDigestMemberKeys(), [])
- self.failIf(mlist.isMember('nobody@dom.ain'))
- raises(NotAMemberError, mlist.getMemberKey, 'nobody@dom.ain')
- raises(NotAMemberError, mlist.getMemberCPAddress, 'nobody@dom.ain')
- eq(mlist.getMemberCPAddresses(('nobody@dom.ain', 'noperson@dom.ain')),
- [None, None])
- raises(NotAMemberError, mlist.getMemberPassword, 'nobody@dom.ain')
- raises(NotAMemberError, mlist.authenticateMember,
- 'nobody@dom.ain', 'blarg')
- eq(mlist.getMemberLanguage('nobody@dom.ain'), mlist.preferred_language)
- raises(NotAMemberError, mlist.getMemberOption,
- 'nobody@dom.ain', config.AcknowledgePosts)
- raises(NotAMemberError, mlist.getMemberName, 'nobody@dom.ain')
- raises(NotAMemberError, mlist.getMemberTopics, 'nobody@dom.ain')
- raises(NotAMemberError, mlist.removeMember, 'nobody@dom.ain')
-
- def test_add_member_mixed_case(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.addNewMember('APerson@dom.AIN')
- eq(mlist.getMembers(), ['aperson@dom.ain'])
- eq(mlist.getRegularMemberKeys(), ['aperson@dom.ain'])
- self.failUnless(mlist.isMember('APerson@dom.AIN'))
- self.failUnless(mlist.isMember('aperson@dom.ain'))
- self.failUnless(mlist.isMember('APERSON@DOM.AIN'))
- eq(mlist.getMemberCPAddress('aperson@dom.ain'), 'APerson@dom.AIN')
- eq(mlist.getMemberCPAddress('APerson@dom.ain'), 'APerson@dom.AIN')
- eq(mlist.getMemberCPAddress('APERSON@DOM.AIN'), 'APerson@dom.AIN')
- eq(mlist.getMemberCPAddresses(('aperson@dom.ain',)),
- ['APerson@dom.AIN'])
- eq(mlist.getMemberCPAddresses(('APerson@dom.ain',)),
- ['APerson@dom.AIN'])
- eq(mlist.getMemberCPAddresses(('APERSON@DOM.AIN',)),
- ['APerson@dom.AIN'])
-
-
-
-class TestMembers(unittest.TestCase):
- def setUp(self):
- self._member_password = password('xxXXxx')
- self._mlist.addNewMember('person@dom.ain',
- digest=0,
- password=self._member_password,
- language='xx',
- realname='A. Nice Person')
-
- def test_add_member(self):
- eq = self.assertEqual
- mlist = self._mlist
- eq(mlist.getMembers(), ['person@dom.ain'])
- eq(mlist.getRegularMemberKeys(), ['person@dom.ain'])
- eq(mlist.getDigestMemberKeys(), [])
- self.failUnless(mlist.isMember('person@dom.ain'))
- eq(mlist.getMemberKey('person@dom.ain'), 'person@dom.ain')
- eq(mlist.getMemberCPAddress('person@dom.ain'), 'person@dom.ain')
- eq(mlist.getMemberCPAddresses(('person@dom.ain', 'noperson@dom.ain')),
- ['person@dom.ain', None])
- eq(mlist.getMemberPassword('person@dom.ain'), self._member_password)
- eq(mlist.getMemberLanguage('person@dom.ain'), 'en')
- eq(mlist.getMemberOption('person@dom.ain', config.Digests), 0)
- eq(mlist.getMemberOption('person@dom.ain', config.AcknowledgePosts), 0)
- eq(mlist.getMemberName('person@dom.ain'), 'A. Nice Person')
- eq(mlist.getMemberTopics('person@dom.ain'), [])
-
- def test_authentication(self):
- mlist = self._mlist
- self.failIf(mlist.authenticateMember('person@dom.ain', 'xxx'))
- self.assertEqual(mlist.authenticateMember('person@dom.ain', 'xxXXxx'),
- self._member_password)
-
- def test_remove_member(self):
- eq = self.assertEqual
- raises = self.assertRaises
- mlist = self._mlist
- mlist.removeMember('person@dom.ain')
- eq(mlist.getMembers(), [])
- eq(mlist.getRegularMemberKeys(), [])
- eq(mlist.getDigestMemberKeys(), [])
- self.failIf(mlist.isMember('person@dom.ain'))
- raises(NotAMemberError, mlist.getMemberKey, 'person@dom.ain')
- raises(NotAMemberError, mlist.getMemberCPAddress, 'person@dom.ain')
- eq(mlist.getMemberCPAddresses(('person@dom.ain', 'noperson@dom.ain')),
- [None, None])
- raises(NotAMemberError, mlist.getMemberPassword, 'person@dom.ain')
- raises(NotAMemberError, mlist.authenticateMember,
- 'person@dom.ain', 'blarg')
- eq(mlist.getMemberLanguage('person@dom.ain'), mlist.preferred_language)
- raises(NotAMemberError, mlist.getMemberOption,
- 'person@dom.ain', config.AcknowledgePosts)
- raises(NotAMemberError, mlist.getMemberName, 'person@dom.ain')
- raises(NotAMemberError, mlist.getMemberTopics, 'person@dom.ain')
-
- def test_remove_member_clears(self):
- eq = self.assertEqual
- raises = self.assertRaises
- # We don't really care what the bounce info is
- class Info:
- pass
- info = Info()
- mlist = self._mlist
- mlist.setBounceInfo('person@dom.ain', info)
- mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.BYADMIN)
- mlist.removeMember('person@dom.ain')
- raises(NotAMemberError, mlist.getDeliveryStatus, 'person@dom.ain')
- raises(NotAMemberError, mlist.getDeliveryStatusChangeTime,
- 'person@dom.ain')
- raises(NotAMemberError, mlist.getBounceInfo, 'person@dom.ain')
- eq(mlist.getDeliveryStatusMembers(), [])
- eq(mlist.getBouncingMembers(), [])
-
- def test_change_address(self):
- eq = self.assertEqual
- raises = self.assertRaises
- mlist = self._mlist
- mlist.changeMemberAddress('person@dom.ain', 'nice@dom.ain')
- # Check the new address
- eq(mlist.getMembers(), ['nice@dom.ain'])
- eq(mlist.getRegularMemberKeys(), ['nice@dom.ain'])
- eq(mlist.getDigestMemberKeys(), [])
- self.failUnless(mlist.isMember('nice@dom.ain'))
- eq(mlist.getMemberKey('nice@dom.ain'), 'nice@dom.ain')
- eq(mlist.getMemberCPAddress('nice@dom.ain'), 'nice@dom.ain')
- eq(mlist.getMemberCPAddresses(('nice@dom.ain', 'nonice@dom.ain')),
- ['nice@dom.ain', None])
- eq(mlist.getMemberPassword('nice@dom.ain'), self._member_password)
- eq(mlist.getMemberLanguage('nice@dom.ain'), 'en')
- eq(mlist.getMemberOption('nice@dom.ain', config.Digests), 0)
- eq(mlist.getMemberOption('nice@dom.ain', config.AcknowledgePosts), 0)
- eq(mlist.getMemberName('nice@dom.ain'), 'A. Nice Person')
- eq(mlist.getMemberTopics('nice@dom.ain'), [])
- # Check the old address
- eq(mlist.getMembers(), ['nice@dom.ain'])
- eq(mlist.getRegularMemberKeys(), ['nice@dom.ain'])
- eq(mlist.getDigestMemberKeys(), [])
- self.failIf(mlist.isMember('person@dom.ain'))
- raises(NotAMemberError, mlist.getMemberKey, 'person@dom.ain')
- raises(NotAMemberError, mlist.getMemberCPAddress, 'person@dom.ain')
- eq(mlist.getMemberCPAddresses(('person@dom.ain', 'noperson@dom.ain')),
- [None, None])
- raises(NotAMemberError, mlist.getMemberPassword, 'person@dom.ain')
- raises(NotAMemberError, mlist.authenticateMember,
- 'person@dom.ain', 'blarg')
- eq(mlist.getMemberLanguage('person@dom.ain'), mlist.preferred_language)
- raises(NotAMemberError, mlist.getMemberOption,
- 'person@dom.ain', config.AcknowledgePosts)
- raises(NotAMemberError, mlist.getMemberName, 'person@dom.ain')
- raises(NotAMemberError, mlist.getMemberTopics, 'person@dom.ain')
-
- def test_set_password(self):
- eq = self.assertEqual
- mlist = self._mlist
- new_password = password('yyYYyy')
- mlist.setMemberPassword('person@dom.ain', new_password)
- eq(mlist.getMemberPassword('person@dom.ain'), new_password)
- eq(mlist.authenticateMember('person@dom.ain', 'yyYYyy'), new_password)
- self.failIf(mlist.authenticateMember('person@dom.ain', 'xxXXxx'))
-
- def test_set_language(self):
- # This test requires that the 'xx' language be in the global
- # config.LC_DESCRIPTIONS. Save that value and be sure to restore it
- # after the test is done.
- odesc = config.LC_DESCRIPTIONS.copy()
- try:
- config.add_language('xx', 'Xxian', 'utf-8')
- self._mlist.add_language('xx')
- self._mlist.setMemberLanguage('person@dom.ain', 'xx')
- self.assertEqual(self._mlist.getMemberLanguage('person@dom.ain'),
- 'xx')
- finally:
- config.LC_DESCRIPTIONS = odesc
-
- def test_basic_option(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- # First test the current option values
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_set_digests(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain', config.Digests, 1)
- eq(gmo('person@dom.ain', config.Digests), 1)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_set_disable_delivery(self):
- eq = self.assertEqual
- gds = self._mlist.getDeliveryStatus
- eq(gds('person@dom.ain'), MemberAdaptor.ENABLED)
- self._mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.UNKNOWN)
- eq(gds('person@dom.ain'), MemberAdaptor.UNKNOWN)
- self._mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.BYUSER)
- eq(gds('person@dom.ain'), MemberAdaptor.BYUSER)
- self._mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.BYBOUNCE)
- eq(gds('person@dom.ain'), MemberAdaptor.BYBOUNCE)
- self._mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.BYADMIN)
- eq(gds('person@dom.ain'), MemberAdaptor.BYADMIN)
-
- def test_delivery_status_time(self):
- now = time.time()
- time.sleep(1)
- self._mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.BYUSER)
- self.failUnless(
- self._mlist.getDeliveryStatusChangeTime('person@dom.ain')
- > now)
- self._mlist.setDeliveryStatus('person@dom.ain', MemberAdaptor.ENABLED)
- self.assertEqual(
- self._mlist.getDeliveryStatusChangeTime('person@dom.ain'),
- 0)
-
- def test_set_dont_receive_own_posts(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain',
- config.DontReceiveOwnPosts, 1)
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 1)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_set_acknowledge_posts(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain',
- config.AcknowledgePosts, 1)
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 1)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_disable_mime(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain',
- config.DisableMime, 1)
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 1)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_conceal_subscription(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain',
- config.ConcealSubscription, 1)
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 1)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_suppress_password_reminder(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain',
- config.SuppressPasswordReminder, 1)
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 1)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 0)
-
- def test_receive_nonmatching_topics(self):
- eq = self.assertEqual
- gmo = self._mlist.getMemberOption
- self._mlist.setMemberOption('person@dom.ain',
- config.ReceiveNonmatchingTopics, 1)
- eq(gmo('person@dom.ain', config.Digests), 0)
- eq(gmo('person@dom.ain', config.DontReceiveOwnPosts), 0)
- eq(gmo('person@dom.ain', config.AcknowledgePosts), 0)
- eq(gmo('person@dom.ain', config.DisableMime), 0)
- eq(gmo('person@dom.ain', config.ConcealSubscription), 0)
- eq(gmo('person@dom.ain', config.SuppressPasswordReminder), 0)
- eq(gmo('person@dom.ain', config.ReceiveNonmatchingTopics), 1)
-
- def test_member_name(self):
- self._mlist.setMemberName('person@dom.ain', 'A. Good Person')
- self.assertEqual(self._mlist.getMemberName('person@dom.ain'),
- 'A. Good Person')
-
- def test_member_topics(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.setMemberTopics('person@dom.ain', ['topic1', 'topic2', 'topic3'])
- eq(mlist.getMemberTopics('person@dom.ain'),
- ['topic1', 'topic2', 'topic3'])
- mlist.setMemberTopics('person@dom.ain', None)
- eq(mlist.getMemberTopics('person@dom.ain'), [])
-
- def test_bounce_info(self):
- eq = self.assertEqual
- mlist = self._mlist
- # We don't really care what info is stored
- class Info: pass
- info = Info()
- # Test setting and getting
- mlist.setBounceInfo('person@dom.ain', info)
- eq(mlist.getBounceInfo('person@dom.ain'), info)
- # Test case sensitivity
- eq(mlist.getBounceInfo('PERSON@dom.ain'), info)
- info2 = Info()
- mlist.setBounceInfo('PeRsOn@dom.ain', info2)
- eq(mlist.getBounceInfo('person@dom.ain'), info2)
- eq(mlist.getBounceInfo('PeRsOn@dom.ain'), info2)
- eq(mlist.getBounceInfo('PERSON@DOM.AIN'), info2)
- # Test getBouncingMembers...
- eq(mlist.getBouncingMembers(), ['person@dom.ain'])
- # Test clearing bounce information...
- mlist.setBounceInfo('person@dom.ain', None)
- eq(mlist.getBouncingMembers(), [])
- eq(mlist.getBounceInfo('person@dom.ain'), None)
- # Make sure that you can clear the attributes case insensitively
- mlist.setBounceInfo('person@dom.ain', info)
- mlist.setBounceInfo('PERSON@dom.ain', None)
- eq(mlist.getBouncingMembers(), [])
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- # XXX 2010-05-06 None of these tests work.
- ## suite.addTest(unittest.makeSuite(TestNoMembers))
- ## suite.addTest(unittest.makeSuite(TestMembers))
- return suite
diff --git a/src/mailman/utilities/tests/test_email.py b/src/mailman/utilities/tests/test_email.py
index d34c55ee8..8b847f475 100644
--- a/src/mailman/utilities/tests/test_email.py
+++ b/src/mailman/utilities/tests/test_email.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -40,10 +39,3 @@ class TestEmail(unittest.TestCase):
def test_no_at_split(self):
self.assertEqual(split_email('anne'), ('anne', None))
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestEmail))
- return suite
diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py
index b31de46cf..d66faeff0 100644
--- a/src/mailman/utilities/tests/test_import.py
+++ b/src/mailman/utilities/tests/test_import.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -68,10 +67,3 @@ class TestBasicImport(unittest.TestCase):
self._import()
self.assertTrue(self._mlist.include_list_post_header)
self.assertTrue(self._mlist.include_rfc2369_headers)
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestBasicImport))
- return suite
diff --git a/src/mailman/utilities/tests/test_passwords.py b/src/mailman/utilities/tests/test_passwords.py
index c9b3d2e91..058cf97de 100644
--- a/src/mailman/utilities/tests/test_passwords.py
+++ b/src/mailman/utilities/tests/test_passwords.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -36,7 +35,7 @@ from mailman.utilities import passwords
-class TestPasswordsBase(unittest.TestCase):
+class PasswordsTestBase:
scheme = None
def setUp(self):
@@ -72,7 +71,7 @@ class TestPasswordsBase(unittest.TestCase):
-class TestBogusPasswords(TestPasswordsBase):
+class TestBogusPasswords(PasswordsTestBase, unittest.TestCase):
scheme = -1
def test_passwords(self):
@@ -89,7 +88,7 @@ class TestBogusPasswords(TestPasswordsBase):
-class TestNonePasswords(TestPasswordsBase):
+class TestNonePasswords(PasswordsTestBase, unittest.TestCase):
scheme = passwords.Schemes.no_scheme
def test_passwords(self):
@@ -112,19 +111,19 @@ class TestNonePasswords(TestPasswordsBase):
-class TestCleartextPasswords(TestPasswordsBase):
+class TestCleartextPasswords(PasswordsTestBase, unittest.TestCase):
scheme = passwords.Schemes.cleartext
-class TestSHAPasswords(TestPasswordsBase):
+class TestSHAPasswords(PasswordsTestBase, unittest.TestCase):
scheme = passwords.Schemes.sha
-class TestSSHAPasswords(TestPasswordsBase):
+class TestSSHAPasswords(PasswordsTestBase, unittest.TestCase):
scheme = passwords.Schemes.ssha
-class TestPBKDF2Passwords(TestPasswordsBase):
+class TestPBKDF2Passwords(PasswordsTestBase, unittest.TestCase):
scheme = passwords.Schemes.pbkdf2
@@ -203,17 +202,3 @@ class TestPasswordGeneration(unittest.TestCase):
def test_encrypt_password_scheme_value_error(self):
self.assertRaises(ValueError, passwords.encrypt_password, 'abc', 'foo')
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestBogusPasswords))
- suite.addTest(unittest.makeSuite(TestNonePasswords))
- suite.addTest(unittest.makeSuite(TestCleartextPasswords))
- suite.addTest(unittest.makeSuite(TestSHAPasswords))
- suite.addTest(unittest.makeSuite(TestSSHAPasswords))
- suite.addTest(unittest.makeSuite(TestPBKDF2Passwords))
- suite.addTest(unittest.makeSuite(TestSchemeLookup))
- suite.addTest(unittest.makeSuite(TestPasswordGeneration))
- return suite
diff --git a/src/mailman/utilities/tests/test_templates.py b/src/mailman/utilities/tests/test_templates.py
index e21b44544..504972da3 100644
--- a/src/mailman/utilities/tests/test_templates.py
+++ b/src/mailman/utilities/tests/test_templates.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -276,12 +275,3 @@ This is a very nice template.
It has a few substitutions.
It will not be wrapped.
""")
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestSearchOrder))
- suite.addTest(unittest.makeSuite(TestFind))
- suite.addTest(unittest.makeSuite(TestMake))
- return suite
diff --git a/src/mailman/utilities/tests/test_wrap.py b/src/mailman/utilities/tests/test_wrap.py
index 2fc6c6ccf..5ef658e14 100644
--- a/src/mailman/utilities/tests/test_wrap.py
+++ b/src/mailman/utilities/tests/test_wrap.py
@@ -21,7 +21,6 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'test_suite',
]
@@ -142,10 +141,3 @@ This is a single paragraph that consists of one sentence.
And another one that breaks
because it is indented.
Followed by one more paragraph.""")
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestWrap))
- return suite