##// END OF EJS Templates
e-mail: revive dead code that checks for unspecified recipients...
Thomas De Schampheleire -
r5354:1339fd56 default
parent child Browse files
Show More
@@ -264,15 +264,14 b' def send_email(recipients, subject, body'
264 email_prefix = email_config.get('email_prefix', '')
264 email_prefix = email_config.get('email_prefix', '')
265 if email_prefix:
265 if email_prefix:
266 subject = "%s %s" % (email_prefix, subject)
266 subject = "%s %s" % (email_prefix, subject)
267 if recipients is None:
267
268 if not recipients:
268 # if recipients are not defined we send to email_config + all admins
269 # if recipients are not defined we send to email_config + all admins
269 admins = [u.email for u in User.query()
270 admins = [u.email for u in User.query()
270 .filter(User.admin == True).all()]
271 .filter(User.admin == True).all()]
271 recipients = [email_config.get('email_to')] + admins
272 recipients = [email_config.get('email_to')] + admins
272 log.warning("recipients not specified for '%s' - sending to admins %s", subject, ' '.join(recipients))
273
273 elif not recipients:
274 log.warning("No recipients specified for '%s' - sending to admins %s", subject, ' '.join(recipients))
274 log.error("No recipients specified")
275 return False
276
275
277 mail_from = email_config.get('app_email_from', 'Kallithea')
276 mail_from = email_config.get('app_email_from', 'Kallithea')
278 user = email_config.get('smtp_username')
277 user = email_config.get('smtp_username')
@@ -44,3 +44,27 b' class TestMail(BaseTestCase):'
44 self.assertIn('Subject: %s' % subject, smtplib_mock.lastmsg)
44 self.assertIn('Subject: %s' % subject, smtplib_mock.lastmsg)
45 self.assertIn(body, smtplib_mock.lastmsg)
45 self.assertIn(body, smtplib_mock.lastmsg)
46 self.assertIn(html_body, smtplib_mock.lastmsg)
46 self.assertIn(html_body, smtplib_mock.lastmsg)
47
48 def test_send_mail_no_recipients(self):
49 mailserver = 'smtp.mailserver.org'
50 recipients = []
51 envelope_from = 'noreply@mailserver.org'
52 email_to = 'admin@mailserver.org'
53 subject = 'subject'
54 body = 'body'
55 html_body = 'html_body'
56
57 config_mock = {
58 'smtp_server': mailserver,
59 'app_email_from': envelope_from,
60 'email_to': email_to,
61 }
62 with mock.patch('kallithea.lib.celerylib.tasks.config', config_mock):
63 kallithea.lib.celerylib.tasks.send_email(recipients, subject, body, html_body)
64
65 self.assertSetEqual(smtplib_mock.lastdest, set([TEST_USER_ADMIN_EMAIL, email_to]))
66 self.assertEqual(smtplib_mock.lastsender, envelope_from)
67 self.assertIn('From: %s' % envelope_from, smtplib_mock.lastmsg)
68 self.assertIn('Subject: %s' % subject, smtplib_mock.lastmsg)
69 self.assertIn(body, smtplib_mock.lastmsg)
70 self.assertIn(html_body, smtplib_mock.lastmsg)
General Comments 0
You need to be logged in to leave comments. Login now