tests/smstrade.py
branchdevel
changeset 214 bacf50bc46bf
parent 213 3620bacf1152
child 215 5bacdb7e94d1
equal deleted inserted replaced
213:3620bacf1152 214:bacf50bc46bf
     3 from mock import patch, Mock
     3 from mock import patch, Mock
     4 
     4 
     5 from iro.error import NoRoute, NoTyp, NeededOption, RejectRecipient
     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.smstrade import Smstrade, UnknownStatusCode
     8 from iro.offer.smstrade import Smstrade, StatusException
     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):
    66         content = "Hello World"
    66         content = "Hello World"
    67         self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
    67         self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
    68 
    68 
    69         f.readlines.return_value = ["71"]
    69         f.readlines.return_value = ["71"]
    70         e = self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
    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')
    71         self.assertEqual(str(e),'Reject recipient(00491701234567): 71: Feature nicht ueber diese Route moeglich.')
    72 
    72 
    73     @patch("urllib.urlopen")
    73     @patch("urllib.urlopen")
    74     def testUnknownStatusCode(self,mock_urlopen):
    74     def testUnknwonStatuscode(self,mock_urlopen):
    75         f = Mock()
    75         f = Mock()
    76         f.readlines.return_value = ["703"]
    76         f.readlines.return_value = ["703"]
    77         mock_urlopen.return_value = f
    77         mock_urlopen.return_value = f
    78 
    78 
    79         p=self.getProvider()
    79         p=self.getProvider()
    80         content = "Hello World"
    80         content = "Hello World"
    81         e = self.assertRaises(UnknownStatusCode, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
    81         e = self.assertRaises(StatusException, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
    82         self.assertEqual(str(e),'950:Error in external API.\nStatusCode 703 is unknown.')
    82         self.assertEqual(str(e),'950:Error in external API.\n703: unknown statuscode.')
       
    83 
       
    84     @patch("urllib.urlopen")
       
    85     def testStatusException(self,mock_urlopen):
       
    86         f = Mock()
       
    87         f.readlines.return_value = ["10"]
       
    88         mock_urlopen.return_value = f
       
    89 
       
    90         p=self.getProvider()
       
    91         content = "Hello World"
       
    92         e = self.assertRaises(StatusException, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
       
    93         self.assertEqual(str(e),'950:Error in external API.\n10: Empfaengernummer nicht korrekt.')
    83 
    94 
    84 
    95 
    85 
    96 
    86     def testNeededOption(self):
    97     def testNeededOption(self):
    87         s= self.getProvider()
    98         s= self.getProvider()