diff options
Diffstat (limited to 'icetray/unittests/testIceTrayMail.cpp')
-rw-r--r-- | icetray/unittests/testIceTrayMail.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/icetray/unittests/testIceTrayMail.cpp b/icetray/unittests/testIceTrayMail.cpp index 5b9fdf5..24f240c 100644 --- a/icetray/unittests/testIceTrayMail.cpp +++ b/icetray/unittests/testIceTrayMail.cpp @@ -165,5 +165,40 @@ BOOST_AUTO_TEST_CASE(mock_mail_server) BOOST_CHECK_EQUAL(sent.front(), e); } +BOOST_AUTO_TEST_CASE(send_real_mail_fail) +{ + e->subject = __PRETTY_FUNCTION__; + e->content = std::make_shared<TextPart>(Headers { + { "X-Source", "single_part" } + }, "text/plain", __PRETTY_FUNCTION__); + LibesmtpMailServer ms("localhost:1"); + BOOST_REQUIRE_THROW(ms.sendEmail(e), SendEmailFailed); + try { + ms.sendEmail(e); + } + catch (const SendEmailFailed & sef) { + std::stringstream ss; + sef.ice_print(ss); + BOOST_CHECK_EQUAL(ss.str(), "Failed to send email: "); + } +} + BOOST_AUTO_TEST_SUITE_END(); +BOOST_AUTO_TEST_CASE(send_real_mail +#ifndef COVERAGE + , * boost::unit_test::disabled() +#endif + ) +{ + auto e = std::make_shared<Email>(); + e->from = {__FUNCTION__, "dan@randomdan.homeip.net"}; + e->to = {"Dan", "dan@randomdan.homeip.net"}; + e->subject = __PRETTY_FUNCTION__; + e->content = std::make_shared<TextPart>(Headers { + { "X-Source", "single_part" } + }, "text/plain", __PRETTY_FUNCTION__); + LibesmtpMailServer ms("smtp.random.lan:25"); + ms.sendEmail(e); +} + |