diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-06-09 11:14:25 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-06-09 11:14:25 +0100 |
commit | 3fec9766ec59169e5db561a195bc8601304286cc (patch) | |
tree | 370ddf5f4c5ebfe2b19f21d0afde4a36e6cdc409 | |
parent | Adds IceCube support (diff) | |
download | icetray-3fec9766ec59169e5db561a195bc8601304286cc.tar.bz2 icetray-3fec9766ec59169e5db561a195bc8601304286cc.tar.xz icetray-3fec9766ec59169e5db561a195bc8601304286cc.zip |
Add tests over libestmp functions
-rw-r--r-- | Jamroot.jam | 1 | ||||
-rw-r--r-- | icetray/icetray/mailServer.cpp | 2 | ||||
-rw-r--r-- | icetray/unittests/testIceTrayMail.cpp | 35 |
3 files changed, 36 insertions, 2 deletions
diff --git a/Jamroot.jam b/Jamroot.jam index 31d72ec..5277082 100644 --- a/Jamroot.jam +++ b/Jamroot.jam @@ -15,6 +15,7 @@ project <variant>debug:<cxxflags>"-W -Wall -Werror -Wextra" <variant>coverage:<cxxflags>"--coverage" <variant>coverage:<linkflags>"--coverage" + <variant>coverage:<define>COVERAGE <toolset>tidy:<checkxx>boost-* <toolset>tidy:<checkxx>bugprone-* <toolset>tidy:<checkxx>clang-* diff --git a/icetray/icetray/mailServer.cpp b/icetray/icetray/mailServer.cpp index 9749c94..743023a 100644 --- a/icetray/icetray/mailServer.cpp +++ b/icetray/icetray/mailServer.cpp @@ -8,7 +8,6 @@ namespace IceTray::Mail { { } - // LCOV_EXCL_START Don't test by default, sends a real mail void LibesmtpMailServer::sendEmail(const EmailPtr & msg) { @@ -30,7 +29,6 @@ namespace IceTray::Mail { } smtp_destroy_session(session); } - // LCOV_EXCL_STOP void BasicMailServer::writeEmailContent(const EmailPtr & msg, FILE * ms) 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); +} + |