1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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();
|