def test_get_bounce_message(self): text = ("Subject: Test\n" "From: [email protected]\n" "To: [email protected]\n\n" "This is a test.") msg = email.message_from_string(text) mock_msg = MagicMock(msg=msg) ruleset = pad.rules.ruleset.RuleSet(self.mock_ctxt) newmsg = ruleset._get_bounce_message(mock_msg) self.assertEqual(newmsg['Subject'], "Test") self.assertEqual(newmsg['From'], "*****@*****.**") self.assertEqual(newmsg['To'], "*****@*****.**")
def test_get_bounce_message_attach(self): patch("pad.rules.ruleset.RuleSet.get_report", return_value="Test report.").start() text = ("Subject: Test\n" "From: [email protected]\n" "To: [email protected]\n\n" "This is a test.") msg = email.message_from_string(text) mock_msg = MagicMock(msg=msg, raw_msg=text) ruleset = pad.rules.ruleset.RuleSet(self.mock_ctxt) newmsg = ruleset._get_bounce_message(mock_msg) parts = list(newmsg.walk()) self.assertEqual(parts[1].get_payload(decode=True), b"Test report.") self.assertEqual(parts[2].get_payload(decode=True), text.encode("utf8"))