3
0
Fork 0

fix: set global default sender to root@localhost

having no default (hence error) was just too ugly
This commit is contained in:
Lance Edgar 2025-01-09 18:02:50 -06:00
parent 7308cf3b54
commit 1bfab90d35
2 changed files with 23 additions and 8 deletions

View file

@ -419,8 +419,9 @@ class EmailHandler(GenericHandler):
if sender:
return sender
# fall back to global default (required!)
return self.config.require(f'{self.config.appname}.email.default.sender')
# fall back to global default
return self.config.get(f'{self.config.appname}.email.default.sender',
default='root@localhost')
def get_auto_replyto(self, key):
"""

View file

@ -205,18 +205,32 @@ class TestEmailHandler(ConfigTestCase):
def test_make_auto_message(self):
handler = self.make_handler()
# error if default sender not defined
self.assertRaises(ConfigurationError, handler.make_auto_message, 'foo')
# # error if default sender not defined
# self.assertRaises(ConfigurationError, handler.make_auto_message, 'foo')
# so let's define that
# message is empty by default
msg = handler.make_auto_message('foo')
self.assertIsInstance(msg, mod.Message)
self.assertEqual(msg.key, 'foo')
self.assertEqual(msg.sender, 'root@localhost')
self.assertEqual(msg.subject, "Automated message")
self.assertEqual(msg.to, [])
self.assertEqual(msg.cc, [])
self.assertEqual(msg.bcc, [])
self.assertIsNone(msg.replyto)
self.assertIsNone(msg.txt_body)
self.assertIsNone(msg.html_body)
# override defaults
self.config.setdefault('wutta.email.default.sender', 'bob@example.com')
self.config.setdefault('wutta.email.default.subject', 'Attention required')
# message is empty by default
msg = handler.make_auto_message('foo')
self.assertIsInstance(msg, mod.Message)
self.assertEqual(msg.key, 'foo')
self.assertEqual(msg.sender, 'bob@example.com')
self.assertEqual(msg.subject, "Automated message")
self.assertEqual(msg.subject, "Attention required")
self.assertEqual(msg.to, [])
self.assertEqual(msg.cc, [])
self.assertEqual(msg.bcc, [])
@ -299,8 +313,8 @@ class TestEmailHandler(ConfigTestCase):
def test_get_auto_sender(self):
handler = self.make_handler()
# error if none configured
self.assertRaises(ConfigurationError, handler.get_auto_sender, 'foo')
# basic global default
self.assertEqual(handler.get_auto_sender('foo'), 'root@localhost')
# can set global default
self.config.setdefault('wutta.email.default.sender', 'bob@example.com')