37 return SMTP("test",ret.items()) |
37 return SMTP("test",ret.items()) |
38 |
38 |
39 def testSendMail(self): |
39 def testSendMail(self): |
40 p=self.getSMTP() |
40 p=self.getSMTP() |
41 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
41 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
42 status = p.send(Mail("sub", content, None), "t@t.de") |
42 p.send(Mail("sub", content, None), "t@t.de") |
43 |
43 |
44 self.assertEqual(status.status, status.GOOD) |
|
45 |
44 |
46 self.assertEqual(len(self.smtp_server.rcvd), 1) |
45 self.assertEqual(len(self.smtp_server.rcvd), 1) |
47 fromaddr, toaddrs, message = self.smtp_server.rcvd[0] |
46 fromaddr, toaddrs, message = self.smtp_server.rcvd[0] |
48 msg = email.message_from_string(message) |
47 msg = email.message_from_string(message) |
49 |
48 |
55 self.assertEqual(base64.b64decode(msg.get_payload()),content) |
54 self.assertEqual(base64.b64decode(msg.get_payload()),content) |
56 |
55 |
57 def testSendMailExtraFrm(self): |
56 def testSendMailExtraFrm(self): |
58 p=self.getSMTP() |
57 p=self.getSMTP() |
59 content = "" |
58 content = "" |
60 status = p.send(Mail("sub", content, "f@t.de"), "t@t.de") |
59 p.send(Mail("sub", content, "f@t.de"), "t@t.de") |
61 |
|
62 self.assertEqual(status.status, status.GOOD) |
|
63 |
60 |
64 self.assertEqual(len(self.smtp_server.rcvd), 1) |
61 self.assertEqual(len(self.smtp_server.rcvd), 1) |
65 fromaddr, toaddrs, message = self.smtp_server.rcvd[0] |
62 fromaddr, toaddrs, message = self.smtp_server.rcvd[0] |
66 msg = email.message_from_string(message) |
63 msg = email.message_from_string(message) |
67 |
64 |
81 return smtplib.SMTP(*args) |
78 return smtplib.SMTP(*args) |
82 mock_ssl.side_effect=se |
79 mock_ssl.side_effect=se |
83 |
80 |
84 p=self.getSMTP({"SSL":True}) |
81 p=self.getSMTP({"SSL":True}) |
85 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
82 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
86 status = p.send(Mail("sub", content, None), "t@t.de") |
83 p.send(Mail("sub", content, None), "t@t.de") |
87 |
84 |
88 self.assertEqual(mock_ssl.call_count,1) |
85 self.assertEqual(mock_ssl.call_count,1) |
89 self.assertEqual(status.status, status.GOOD) |
|
90 |
86 |
91 self.assertEqual(len(self.smtp_server.rcvd), 1) |
87 self.assertEqual(len(self.smtp_server.rcvd), 1) |
92 |
88 |
93 @patch("smtplib.SMTP") |
89 @patch("smtplib.SMTP") |
94 def testTLSSendMail(self,mock_smtp): |
90 def testTLSSendMail(self,mock_smtp): |
95 mock_s = Mock() |
91 mock_s = Mock() |
96 mock_smtp.return_value = mock_s |
92 mock_smtp.return_value = mock_s |
97 |
93 |
98 p=self.getSMTP({"TLS":True}) |
94 p=self.getSMTP({"TLS":True}) |
99 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
95 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
100 status = p.send(Mail("sub", content, None), "t@t.de") |
96 p.send(Mail("sub", content, None), "t@t.de") |
101 |
97 |
102 mock_s.starttls.assert_called_once_with() |
98 mock_s.starttls.assert_called_once_with() |
103 self.assertEqual(mock_s.sendmail.call_count,1) |
99 self.assertEqual(mock_s.sendmail.call_count,1) |
104 self.assertEqual([i[0] for i in mock_s.method_calls],["starttls","sendmail","quit"]) |
100 self.assertEqual([i[0] for i in mock_s.method_calls],["starttls","sendmail","quit"]) |
105 self.assertEqual(status.status, status.GOOD) |
|
106 |
101 |
107 @patch("smtplib.SMTP") |
102 @patch("smtplib.SMTP") |
108 def testLoginSendMail(self,mock_smtp): |
103 def testLoginSendMail(self,mock_smtp): |
109 mock_s = Mock() |
104 mock_s = Mock() |
110 mock_smtp.return_value = mock_s |
105 mock_smtp.return_value = mock_s |
111 |
106 |
112 p=self.getSMTP({"user":"user","password":"pw"}) |
107 p=self.getSMTP({"user":"user","password":"pw"}) |
113 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
108 content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf" |
114 status = p.send(Mail("sub", content, None), "t@t.de") |
109 p.send(Mail("sub", content, None), "t@t.de") |
115 |
110 |
116 mock_s.login.assert_called_once_with("user","pw") |
111 mock_s.login.assert_called_once_with("user","pw") |
117 self.assertEqual(mock_s.sendmail.call_count,1) |
112 self.assertEqual(mock_s.sendmail.call_count,1) |
118 self.assertEqual([i[0] for i in mock_s.method_calls],["login","sendmail","quit"]) |
113 self.assertEqual([i[0] for i in mock_s.method_calls],["login","sendmail","quit"]) |
119 self.assertEqual(status.status, status.GOOD) |
|
120 |
114 |
121 |
115 |
122 def testNeededOption(self): |
116 def testNeededOption(self): |
123 c={"send_from":"send@t.de", |
117 c={"send_from":"send@t.de", |
124 "host":HOST, |
118 "host":HOST, |