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,[]) |