summaryrefslogtreecommitdiff
path: root/src/mailman/testing
diff options
context:
space:
mode:
authorBarry Warsaw2012-06-03 13:21:38 -0400
committerBarry Warsaw2012-06-03 13:21:38 -0400
commite1aa901fbdcc6d7fbb495a1d9ca1a5079008164a (patch)
tree9146fed874216bfb88707848568d7598ec2e8522 /src/mailman/testing
parent847409ba333375bd9c168e28f15748e58970404f (diff)
parent3c8a07fc76176a8ea89ee6b73aef571d0b2c81ed (diff)
downloadmailman-e1aa901fbdcc6d7fbb495a1d9ca1a5079008164a.tar.gz
mailman-e1aa901fbdcc6d7fbb495a1d9ca1a5079008164a.tar.zst
mailman-e1aa901fbdcc6d7fbb495a1d9ca1a5079008164a.zip
trunk merge
Diffstat (limited to 'src/mailman/testing')
-rw-r--r--src/mailman/testing/helpers.py34
-rw-r--r--src/mailman/testing/layers.py13
-rw-r--r--src/mailman/testing/mta.py7
3 files changed, 28 insertions, 26 deletions
diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py
index d9885cbac..4091c1cd6 100644
--- a/src/mailman/testing/helpers.py
+++ b/src/mailman/testing/helpers.py
@@ -17,7 +17,7 @@
"""Various test helpers."""
-from __future__ import absolute_import, unicode_literals
+from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
__all__ = [
@@ -66,6 +66,7 @@ from zope.component import getUtility
from mailman.bin.master import Loop as Master
from mailman.config import config
+from mailman.database.transaction import transaction
from mailman.email.message import Message
from mailman.interfaces.member import MemberRole
from mailman.interfaces.messages import IMessageStore
@@ -239,13 +240,14 @@ def get_lmtp_client(quiet=False):
# It's possible the process has started but is not yet accepting
# connections. Wait a little while.
lmtp = LMTP()
+ #lmtp.debuglevel = 1
until = datetime.datetime.now() + as_timedelta(config.devmode.wait)
while datetime.datetime.now() < until:
try:
response = lmtp.connect(
config.mta.lmtp_host, int(config.mta.lmtp_port))
if not quiet:
- print response
+ print(response)
return lmtp
except socket.error as error:
if error[0] == errno.ECONNREFUSED:
@@ -427,19 +429,19 @@ def subscribe(mlist, first_name, role=MemberRole.member):
user_manager = getUtility(IUserManager)
email = '{0}person@example.com'.format(first_name[0].lower())
full_name = '{0} Person'.format(first_name)
- person = user_manager.get_user(email)
- if person is None:
- address = user_manager.get_address(email)
- if address is None:
- person = user_manager.create_user(email, full_name)
+ with transaction():
+ person = user_manager.get_user(email)
+ if person is None:
+ address = user_manager.get_address(email)
+ if address is None:
+ person = user_manager.create_user(email, full_name)
+ preferred_address = list(person.addresses)[0]
+ mlist.subscribe(preferred_address, role)
+ else:
+ mlist.subscribe(address, role)
+ else:
preferred_address = list(person.addresses)[0]
mlist.subscribe(preferred_address, role)
- else:
- mlist.subscribe(address, role)
- else:
- preferred_address = list(person.addresses)[0]
- mlist.subscribe(preferred_address, role)
- config.db.commit()
@@ -467,9 +469,9 @@ def reset_the_world():
os.remove(os.path.join(dirpath, filename))
# Clear out messages in the message store.
message_store = getUtility(IMessageStore)
- for message in message_store.messages:
- message_store.delete_message(message['message-id'])
- config.db.commit()
+ with transaction():
+ for message in message_store.messages:
+ message_store.delete_message(message['message-id'])
# Reset the global style manager.
getUtility(IStyleManager).populate()
# Remove all dynamic header-match rules.
diff --git a/src/mailman/testing/layers.py b/src/mailman/testing/layers.py
index 41ef86935..0faa1c8e4 100644
--- a/src/mailman/testing/layers.py
+++ b/src/mailman/testing/layers.py
@@ -25,7 +25,7 @@
# eventually get rid of the zope.test* dependencies and use something like
# testresources or some such.
-from __future__ import absolute_import, unicode_literals
+from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
__all__ = [
@@ -56,6 +56,7 @@ from mailman.config import config
from mailman.core import initialize
from mailman.core.initialize import INHIBIT_CONFIG_FILE
from mailman.core.logging import get_handler
+from mailman.database.transaction import transaction
from mailman.interfaces.domain import IDomainManager
from mailman.testing.helpers import (
TestableMaster, get_lmtp_client, reset_the_world)
@@ -176,7 +177,7 @@ class ConfigLayer(MockAndMonkeyLayer):
config_file = os.path.join(cls.var_dir, 'test.cfg')
with open(config_file, 'w') as fp:
fp.write(test_config)
- print >> fp
+ print(file=fp)
config.filename = config_file
@classmethod
@@ -189,10 +190,10 @@ class ConfigLayer(MockAndMonkeyLayer):
@classmethod
def testSetUp(cls):
# Add an example domain.
- getUtility(IDomainManager).add(
- 'example.com', 'An example domain.',
- 'http://lists.example.com', 'postmaster@example.com')
- config.db.commit()
+ with transaction():
+ getUtility(IDomainManager).add(
+ 'example.com', 'An example domain.',
+ 'http://lists.example.com', 'postmaster@example.com')
@classmethod
def testTearDown(cls):
diff --git a/src/mailman/testing/mta.py b/src/mailman/testing/mta.py
index 4699cb882..bba450352 100644
--- a/src/mailman/testing/mta.py
+++ b/src/mailman/testing/mta.py
@@ -17,7 +17,7 @@
"""Fake MTA for testing purposes."""
-from __future__ import absolute_import, unicode_literals
+from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
__all__ = [
@@ -31,7 +31,7 @@ from Queue import Empty, Queue
from lazr.smtptest.controller import QueueController
from lazr.smtptest.server import Channel, QueueServer
-from zope.interface import implements
+from zope.interface import implementer
from mailman.interfaces.mta import IMailTransportAgentLifecycle
@@ -40,11 +40,10 @@ log = logging.getLogger('lazr.smtptest')
+@implementer(IMailTransportAgentLifecycle)
class FakeMTA:
"""Fake MTA for testing purposes."""
- implements(IMailTransportAgentLifecycle)
-
def create(self, mlist):
pass