diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-07-17 14:22:09 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-07-18 08:35:36 +0100 |
commit | 8abf4f67c94344dd190c02b86b34126834818635 (patch) | |
tree | 728b1ebcde7333c0cd42987cdb8f60851595fd1a /t | |
parent | efb31cd406b47096ffa874e47656f3b2ef50e35f (diff) |
Log error if bad SMTP_TYPE config given.
Ignore case of config variable.
Diffstat (limited to 't')
-rw-r--r-- | t/email/sender.t | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/email/sender.t b/t/email/sender.t new file mode 100644 index 000000000..49310db83 --- /dev/null +++ b/t/email/sender.t @@ -0,0 +1,36 @@ +use FixMyStreet::Test; +use FixMyStreet::Email::Sender; +use Test::Exception; + +# Specifically testing live email sending errors +FixMyStreet->test_mode(0); + +subtest 'SMTP settings' => sub { + FixMyStreet::override_config { + SMTP_SMARTHOST => 'localhost', + SMTP_TYPE => 'bad', + }, sub { + throws_ok { FixMyStreet::Email::Sender->send('test') } + qr/Bad SMTP_TYPE config: is bad, should be tls, ssl, or blank/, 'Bad SMTP_TYPE throws'; + }; + + FixMyStreet::override_config { + SMTP_SMARTHOST => 'localhost', + SMTP_TYPE => 'TLS', + }, sub { + throws_ok { FixMyStreet::Email::Sender->send('test') } + qr/no recipients/, 'Upper case SMTP_TYPE passes, no recipients throws'; + }; +}; + +subtest 'sendmail default' => sub { + FixMyStreet::override_config { + SMTP_SMARTHOST => '', + }, sub { + FixMyStreet::Email::Sender->reset_default_transport; + throws_ok { FixMyStreet::Email::Sender->send('test') } + qr/no recipients|couldn't find a sendmail/, 'Sendmail throws some form of error'; + }; +}; + +done_testing(); |