tests/smstrade.py
branchdevel
changeset 213 3620bacf1152
parent 186 b381eaa774ab
child 214 bacf50bc46bf
equal deleted inserted replaced
212:39e4c09e1b60 213:3620bacf1152
     1 from twisted.trial import unittest
     1 from twisted.trial import unittest
     2 
     2 
     3 from mock import patch, Mock
     3 from mock import patch, Mock
     4 
     4 
     5 from iro.error import NoRoute, NoTyp, NeededOption
     5 from iro.error import NoRoute, NoTyp, NeededOption, RejectRecipient
     6 from iro.telnumber import Telnumber
     6 from iro.telnumber import Telnumber
     7 from iro.model.message import SMS
     7 from iro.model.message import SMS
     8 from iro.offer import Smstrade
     8 from iro.offer.smstrade import Smstrade, UnknownStatusCode
     9 
     9 
    10 HOST = "localhost"
    10 HOST = "localhost"
    11 PORT = 9999
    11 PORT = 9999
    12 
    12 
    13 class TestSMStradeProvider(unittest.TestCase):
    13 class TestSMStradeProvider(unittest.TestCase):
    48     def testStatusCode(self):
    48     def testStatusCode(self):
    49         pass
    49         pass
    50     
    50     
    51     testStatusCode.todo = "to implement"
    51     testStatusCode.todo = "to implement"
    52 
    52 
       
    53     def testRejectRecipient(self):
       
    54         p=self.getProvider()
       
    55         content = "Hello World"
       
    56         e = self.assertRaises(RejectRecipient, p.send, "basic",SMS(content,None), Telnumber("+331701234567"))
       
    57         self.assertEqual(str(e),'Reject recipient(00331701234567): None')
       
    58 
       
    59     @patch("urllib.urlopen")
       
    60     def testRejectRecipient70(self,mock_urlopen):
       
    61         f = Mock()
       
    62         f.readlines.return_value = ["70"]
       
    63         mock_urlopen.return_value = f
       
    64 
       
    65         p=self.getProvider()
       
    66         content = "Hello World"
       
    67         self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
       
    68 
       
    69         f.readlines.return_value = ["71"]
       
    70         e = self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
       
    71         self.assertEqual(str(e),'Reject recipient(00491701234567): 71: Feature nicht ueber diese Route moeglich')
       
    72 
       
    73     @patch("urllib.urlopen")
       
    74     def testUnknownStatusCode(self,mock_urlopen):
       
    75         f = Mock()
       
    76         f.readlines.return_value = ["703"]
       
    77         mock_urlopen.return_value = f
       
    78 
       
    79         p=self.getProvider()
       
    80         content = "Hello World"
       
    81         e = self.assertRaises(UnknownStatusCode, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
       
    82         self.assertEqual(str(e),'950:Error in external API.\nStatusCode 703 is unknown.')
       
    83 
       
    84 
       
    85 
    53     def testNeededOption(self):
    86     def testNeededOption(self):
    54         s= self.getProvider()
    87         s= self.getProvider()
    55         self.assertEqual(s.key, "XXXXXXXX")
    88         self.assertEqual(s.key, "XXXXXXXX")
    56 
    89 
    57         self.assertRaises(NeededOption, s.load,[])
    90         self.assertRaises(NeededOption, s.load,[])