--- a/tests/smstrade.py Fri Mar 02 14:00:23 2012 +0100
+++ b/tests/smstrade.py Sat Mar 03 03:29:19 2012 +0100
@@ -2,10 +2,10 @@
from mock import patch, Mock
-from iro.error import NoRoute, NoTyp, NeededOption
+from iro.error import NoRoute, NoTyp, NeededOption, RejectRecipient
from iro.telnumber import Telnumber
from iro.model.message import SMS
-from iro.offer import Smstrade
+from iro.offer.smstrade import Smstrade, UnknownStatusCode
HOST = "localhost"
PORT = 9999
@@ -50,6 +50,39 @@
testStatusCode.todo = "to implement"
+ def testRejectRecipient(self):
+ p=self.getProvider()
+ content = "Hello World"
+ e = self.assertRaises(RejectRecipient, p.send, "basic",SMS(content,None), Telnumber("+331701234567"))
+ self.assertEqual(str(e),'Reject recipient(00331701234567): None')
+
+ @patch("urllib.urlopen")
+ def testRejectRecipient70(self,mock_urlopen):
+ f = Mock()
+ f.readlines.return_value = ["70"]
+ mock_urlopen.return_value = f
+
+ p=self.getProvider()
+ content = "Hello World"
+ self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
+
+ f.readlines.return_value = ["71"]
+ e = self.assertRaises(RejectRecipient, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
+ self.assertEqual(str(e),'Reject recipient(00491701234567): 71: Feature nicht ueber diese Route moeglich')
+
+ @patch("urllib.urlopen")
+ def testUnknownStatusCode(self,mock_urlopen):
+ f = Mock()
+ f.readlines.return_value = ["703"]
+ mock_urlopen.return_value = f
+
+ p=self.getProvider()
+ content = "Hello World"
+ e = self.assertRaises(UnknownStatusCode, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
+ self.assertEqual(str(e),'950:Error in external API.\nStatusCode 703 is unknown.')
+
+
+
def testNeededOption(self):
s= self.getProvider()
self.assertEqual(s.key, "XXXXXXXX")