3
0
Fork 0

fix: allow caller to specify default subject for email message

we already allow for some config fallbacks but sometimes the caller
needs to declare the default, to use as fallback when specific config
is not present
This commit is contained in:
Lance Edgar 2025-08-10 11:05:39 -05:00
parent 22d3ba97c9
commit eb6ad9884c
2 changed files with 26 additions and 7 deletions

View file

@ -291,7 +291,7 @@ class TestEmailHandler(ConfigTestCase):
msg = handler.make_auto_message('foo', subject=None)
get_auto_subject.assert_not_called()
msg = handler.make_auto_message('foo')
get_auto_subject.assert_called_once_with('foo', {})
get_auto_subject.assert_called_once_with('foo', {}, default=None)
# to
with patch.object(handler, 'get_auto_to') as get_auto_to:
@ -376,7 +376,7 @@ class TestEmailHandler(ConfigTestCase):
template = handler.get_auto_subject_template('foo')
self.assertEqual(template, "Foo Message")
# setting can provide default subject
# EmailSetting can provide default subject
providers = {
'wuttatest': MagicMock(email_modules=['tests.test_email']),
}
@ -385,6 +385,10 @@ class TestEmailHandler(ConfigTestCase):
template = handler.get_auto_subject_template('mock_foo')
self.assertEqual(template, "MOCK FOO!")
# caller can provide default subject
template = handler.get_auto_subject_template('mock_foo', default="whatever is clever")
self.assertEqual(template, "whatever is clever")
def test_get_auto_subject(self):
handler = self.make_handler()
@ -397,6 +401,10 @@ class TestEmailHandler(ConfigTestCase):
subject = handler.get_auto_subject('foo')
self.assertEqual(subject, "Wutta Message")
# caller can provide default subject
subject = handler.get_auto_subject('foo', default="whatever is clever")
self.assertEqual(subject, "whatever is clever")
# can configure just for key
self.config.setdefault('wutta.email.foo.subject', "Foo Message")
subject = handler.get_auto_subject('foo')