tests/smtp.py
branchdevel
changeset 183 07ee5543751b
parent 174 762981cada07
child 186 b381eaa774ab
equal deleted inserted replaced
182:e6af45edff5a 183:07ee5543751b
     6 from smtp_helper import TestSMTPServer
     6 from smtp_helper import TestSMTPServer
     7 
     7 
     8 from mock import patch, Mock
     8 from mock import patch, Mock
     9 import smtplib
     9 import smtplib
    10 
    10 
    11 from iro.error import NoRoute, NoTyp, NeededOption, UnknownOption
    11 from iro.error import NoRoute, NoTyp, NeededOption
    12 from iro.model.message import Mail
    12 from iro.model.message import Mail
    13 from iro.offer.smtp import SMTP
    13 from iro.offer.smtp import SMTP
    14 
    14 
    15 HOST = "localhost"
    15 HOST = "localhost"
    16 PORT = 9999
    16 PORT = 9999
    25 
    25 
    26     def getSMTP(self, c=None):
    26     def getSMTP(self, c=None):
    27         ret={"send_from":"send@t.de",
    27         ret={"send_from":"send@t.de",
    28             "host":HOST,
    28             "host":HOST,
    29             "port":PORT,
    29             "port":PORT,
    30             "user":"",
    30             "typ":"smtp",
    31             "password":"",
       
    32             }
    31             }
    33 
    32 
    34         if c:
    33         if c:
    35             ret.update(c)
    34             ret.update(c)
    36 
    35 
   117         c={"send_from":"send@t.de",
   116         c={"send_from":"send@t.de",
   118             "host":HOST,
   117             "host":HOST,
   119             "port":PORT,
   118             "port":PORT,
   120             "user":"u",
   119             "user":"u",
   121             "password":"p",
   120             "password":"p",
       
   121             "typ":"smtp",
   122             }
   122             }
   123         s=SMTP("test",c.items())
   123         s=SMTP("test",c.items())
   124         self.assertEqual(s.send_from, "send@t.de")
   124         self.assertEqual(s.send_from, "send@t.de")
   125         self.assertEqual(s.host, HOST)
   125         self.assertEqual(s.host, HOST)
   126         self.assertEqual(s.port, PORT)
   126         self.assertEqual(s.port, PORT)
   127         self.assertEqual(s.user, "u")
   127         self.assertEqual(s.user, "u")
   128         self.assertEqual(s.password, "p")
   128         self.assertEqual(s.password, "p")
   129         self.assertEqual(s.bSSL,False)
   129         self.assertEqual(s.SSL,False)
   130         self.assertEqual(s.bTLS,False)
   130         self.assertEqual(s.TLS,False)
   131 
   131 
   132         c.update({"TLS":True, "SSL":True})
   132         c.update({"TLS":True, "SSL":True})
   133         s=SMTP("test", c.items())
   133         s=SMTP("test", c.items())
   134         self.assertEqual(s.bSSL,True)
   134         self.assertEqual(s.SSL,True)
   135         self.assertEqual(s.bTLS,True)
   135         self.assertEqual(s.TLS,True)
   136         
   136         
   137         del c["host"]
   137         del c["host"]
   138         self.assertRaises(NeededOption,SMTP,"test",c.items())
   138         self.assertRaises(NeededOption,SMTP,"test",c.items())
   139 
       
   140         c = {"unknown":""}
       
   141         self.assertRaises(UnknownOption,SMTP,"test",c.items())
       
   142 
   139 
   143     def testSendFunc(self):
   140     def testSendFunc(self):
   144         s = self.getSMTP()
   141         s = self.getSMTP()
   145         self.assertEqual(s.getSendFunc("mail",None), s.send)
   142         self.assertEqual(s.getSendFunc("mail",None), s.send)
   146         self.assertRaises(NoRoute,s.getSendFunc,"mail","foo")
   143         self.assertRaises(NoRoute,s.getSendFunc,"mail","foo")