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() |