summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-06-09 11:14:25 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2019-06-09 11:14:25 +0100
commit3fec9766ec59169e5db561a195bc8601304286cc (patch)
tree370ddf5f4c5ebfe2b19f21d0afde4a36e6cdc409
parentAdds IceCube support (diff)
downloadicetray-3fec9766ec59169e5db561a195bc8601304286cc.tar.bz2
icetray-3fec9766ec59169e5db561a195bc8601304286cc.tar.xz
icetray-3fec9766ec59169e5db561a195bc8601304286cc.zip
Add tests over libestmp functions
-rw-r--r--Jamroot.jam1
-rw-r--r--icetray/icetray/mailServer.cpp2
-rw-r--r--icetray/unittests/testIceTrayMail.cpp35
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);
+}
+