tests/smtp.py
branchdevel
changeset 218 91f87ad13540
parent 186 b381eaa774ab
equal deleted inserted replaced
217:d755b2e0cc0b 218:91f87ad13540
    38         return ret
    38         return ret
    39 
    39 
    40     def testSendMail(self):
    40     def testSendMail(self):
    41         p=self.getSMTP()
    41         p=self.getSMTP()
    42         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
    42         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
    43         p.send(Mail("sub", content, None), "t@t.de")
    43         p.send("t@t.de", Mail("sub", content, None))
    44 
    44 
    45 
    45 
    46         self.assertEqual(len(self.smtp_server.rcvd), 1)
    46         self.assertEqual(len(self.smtp_server.rcvd), 1)
    47         fromaddr, toaddrs, message = self.smtp_server.rcvd[0]
    47         fromaddr, toaddrs, message = self.smtp_server.rcvd[0]
    48         msg = email.message_from_string(message)
    48         msg = email.message_from_string(message)
    55         self.assertEqual(base64.b64decode(msg.get_payload()),content)
    55         self.assertEqual(base64.b64decode(msg.get_payload()),content)
    56 
    56 
    57     def testSendMailExtraFrm(self):
    57     def testSendMailExtraFrm(self):
    58         p=self.getSMTP()
    58         p=self.getSMTP()
    59         content = ""
    59         content = ""
    60         p.send(Mail("sub", content, "f@t.de"), "t@t.de")
    60         p.send("t@t.de", Mail("sub", content, "f@t.de"))
    61 
    61 
    62         self.assertEqual(len(self.smtp_server.rcvd), 1)
    62         self.assertEqual(len(self.smtp_server.rcvd), 1)
    63         fromaddr, toaddrs, message = self.smtp_server.rcvd[0]
    63         fromaddr, toaddrs, message = self.smtp_server.rcvd[0]
    64         msg = email.message_from_string(message)
    64         msg = email.message_from_string(message)
    65         
    65         
    67         self.assertEqual(msg.get_all("From"),["f@t.de"])
    67         self.assertEqual(msg.get_all("From"),["f@t.de"])
    68 
    68 
    69     def testSendMailException(self):
    69     def testSendMailException(self):
    70         p=self.getSMTP({"port":PORT-1})
    70         p=self.getSMTP({"port":PORT-1})
    71         content = ""
    71         content = ""
    72         self.assertRaises(IOError, p.send, Mail("sub", content, "f@t.de"), "t@t.de")
    72         self.assertRaises(IOError, p.send, "t@t.de", Mail("sub", content, "f@t.de"))
    73 
    73 
    74         self.assertEqual(len(self.smtp_server.rcvd), 0)
    74         self.assertEqual(len(self.smtp_server.rcvd), 0)
    75 
    75 
    76     @patch("smtplib.SMTP_SSL")
    76     @patch("smtplib.SMTP_SSL")
    77     def testSSLSendMail(self,mock_ssl):
    77     def testSSLSendMail(self,mock_ssl):
    79             return smtplib.SMTP(*args)
    79             return smtplib.SMTP(*args)
    80         mock_ssl.side_effect=se
    80         mock_ssl.side_effect=se
    81 
    81 
    82         p=self.getSMTP({"SSL":True})
    82         p=self.getSMTP({"SSL":True})
    83         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
    83         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
    84         p.send(Mail("sub", content, None), "t@t.de")
    84         p.send("t@t.de", Mail("sub", content, None))
    85 
    85 
    86         self.assertEqual(mock_ssl.call_count,1)
    86         self.assertEqual(mock_ssl.call_count,1)
    87 
    87 
    88         self.assertEqual(len(self.smtp_server.rcvd), 1)
    88         self.assertEqual(len(self.smtp_server.rcvd), 1)
    89 
    89 
    92         mock_s = Mock()
    92         mock_s = Mock()
    93         mock_smtp.return_value = mock_s
    93         mock_smtp.return_value = mock_s
    94 
    94 
    95         p=self.getSMTP({"TLS":True})
    95         p=self.getSMTP({"TLS":True})
    96         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
    96         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
    97         p.send(Mail("sub", content, None), "t@t.de")
    97         p.send("t@t.de", Mail("sub", content, None))
    98         
    98         
    99         mock_s.starttls.assert_called_once_with()
    99         mock_s.starttls.assert_called_once_with()
   100         self.assertEqual(mock_s.sendmail.call_count,1)
   100         self.assertEqual(mock_s.sendmail.call_count,1)
   101         self.assertEqual([i[0] for i in mock_s.method_calls],["starttls","sendmail","quit"])
   101         self.assertEqual([i[0] for i in mock_s.method_calls],["starttls","sendmail","quit"])
   102 
   102 
   105         mock_s = Mock()
   105         mock_s = Mock()
   106         mock_smtp.return_value = mock_s
   106         mock_smtp.return_value = mock_s
   107 
   107 
   108         p=self.getSMTP({"user":"user","password":"pw"})
   108         p=self.getSMTP({"user":"user","password":"pw"})
   109         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
   109         content = "sadfadfgwertsdgsdf\n\nsdfgaerasdfsad\nadfasdf"
   110         p.send(Mail("sub", content, None), "t@t.de")
   110         p.send("t@t.de", Mail("sub", content, None))
   111         
   111         
   112         mock_s.login.assert_called_once_with("user","pw")
   112         mock_s.login.assert_called_once_with("user","pw")
   113         self.assertEqual(mock_s.sendmail.call_count,1)
   113         self.assertEqual(mock_s.sendmail.call_count,1)
   114         self.assertEqual([i[0] for i in mock_s.method_calls],["login","sendmail","quit"])
   114         self.assertEqual([i[0] for i in mock_s.method_calls],["login","sendmail","quit"])
   115 
   115