summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2017-03-08 12:25:28 +0100
committerOlivier Dony <odo@openerp.com>2017-03-08 12:30:02 +0100
commit48473cbee210a1e30b426a722a4c3d58ceebf615 (patch)
tree9a35bd5893d65f7dd6a77fe95b8cbc2aaa33eacb
parentadf3052024e4c945a7fed148e78465820e9cfb93 (diff)
[FIX] ir.mail_server: pretend to connect while in test mode
During installation of demo data and while running tests, the system should not actually connect to a real SMTP server. This allows installing new demo/test databases on a system with no working SMTP server.
-rw-r--r--odoo/addons/base/ir/ir_mail_server.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/odoo/addons/base/ir/ir_mail_server.py b/odoo/addons/base/ir/ir_mail_server.py
index 71f6c81a3fa..37a8126aaac 100644
--- a/odoo/addons/base/ir/ir_mail_server.py
+++ b/odoo/addons/base/ir/ir_mail_server.py
@@ -188,9 +188,8 @@ class IrMailServer(models.Model):
def connect(self, host=None, port=None, user=None, password=None, encryption=None,
smtp_debug=False, mail_server_id=None):
- """Returns a new SMTP connection to the give SMTP server, authenticated
- with ``user`` and ``password`` if provided, and encrypted as requested
- by the ``encryption`` parameter.
+ """Returns a new SMTP connection to the given SMTP server.
+ When running in test mode, this method does nothing and returns `None`.
:param host: host or IP of SMTP server to connect to, if mail_server_id not passed
:param int port: SMTP port to connect to
@@ -201,6 +200,10 @@ class IrMailServer(models.Model):
will be output in logs)
:param mail_server_id: ID of specific mail server to use (overrides other parameters)
"""
+ # Do not actually connect while running in test mode
+ if getattr(threading.currentThread(), 'testing', False):
+ return None
+
mail_server = smtp_encryption = None
if mail_server_id:
mail_server = self.sudo().browse(mail_server_id)