diff --git a/src/wuttjamaican/email.py b/src/wuttjamaican/email.py index 4265483..a7f138f 100644 --- a/src/wuttjamaican/email.py +++ b/src/wuttjamaican/email.py @@ -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): """ diff --git a/tests/test_email.py b/tests/test_email.py index d4c05bd..d21fa32 100644 --- a/tests/test_email.py +++ b/tests/test_email.py @@ -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')