summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2011-12-01 17:05:17 +0100
committerRaphael Collet <rco@openerp.com>2011-12-01 17:05:17 +0100
commit83b67082607dc08042de516c19fbdd43cc4e4151 (patch)
tree5532638c5c9f22f0d03eb7f9977e01abc3450de9
parent06e9cc9fb5fddd8cf633f98b926fce0294ad19f4 (diff)
parent298add20ca44bc193c6ad39f96cc26183897251a (diff)
[MERGE] prevent sending emails in test mode
bzr revid: rco@openerp.com-20111201160517-1gk7sita6c5uernx
-rw-r--r--openerp/addons/base/ir/ir_mail_server.py6
-rw-r--r--openerp/modules/loading.py3
2 files changed, 9 insertions, 0 deletions
diff --git a/openerp/addons/base/ir/ir_mail_server.py b/openerp/addons/base/ir/ir_mail_server.py
index 2e3060fc103..3cb1446a146 100644
--- a/openerp/addons/base/ir/ir_mail_server.py
+++ b/openerp/addons/base/ir/ir_mail_server.py
@@ -28,6 +28,7 @@ from email import Encoders
import logging
import re
import smtplib
+import threading
from osv import osv
from osv import fields
@@ -381,6 +382,11 @@ class ir_mail_server(osv.osv):
smtp_to_list = filter(None, tools.flatten(map(extract_rfc2822_addresses,[email_to, email_cc, email_bcc])))
assert smtp_to_list, "At least one valid recipient address should be specified for outgoing emails (To/Cc/Bcc)"
+ # Do not actually send emails in testing mode!
+ if getattr(threading.currentThread(), 'testing', False):
+ _logger.log(logging.TEST, "skip sending email in test mode")
+ return message['Message-Id']
+
# Get SMTP Server Details from Mail Server
mail_server = None
if mail_server_id:
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 00948bc690e..1ea0bdb7105 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -31,6 +31,7 @@ import logging
import os
import re
import sys
+import threading
import zipfile
import zipimport
@@ -97,11 +98,13 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
cr.commit()
if not tools.config.options['test_disable']:
try:
+ threading.currentThread().testing = True
_load_data(cr, module_name, idref, mode, 'test')
except Exception, e:
logging.getLogger('init.test').exception(
'Tests failed to execute in module %s', module_name)
finally:
+ threading.currentThread().testing = False
if tools.config.options['test_commit']:
cr.commit()
else: