From 3fec9766ec59169e5db561a195bc8601304286cc Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 9 Jun 2019 11:14:25 +0100 Subject: Add tests over libestmp functions --- Jamroot.jam | 1 + icetray/icetray/mailServer.cpp | 2 -- 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 debug:"-W -Wall -Werror -Wextra" coverage:"--coverage" coverage:"--coverage" + coverage:COVERAGE tidy:boost-* tidy:bugprone-* tidy: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(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(); + e->from = {__FUNCTION__, "dan@randomdan.homeip.net"}; + e->to = {"Dan", "dan@randomdan.homeip.net"}; + e->subject = __PRETTY_FUNCTION__; + e->content = std::make_shared(Headers { + { "X-Source", "single_part" } + }, "text/plain", __PRETTY_FUNCTION__); + LibesmtpMailServer ms("smtp.random.lan:25"); + ms.sendEmail(e); +} + -- cgit v1.2.3