tests/smstrade.py
branchdevel
changeset 213 3620bacf1152
parent 186 b381eaa774ab
child 214 bacf50bc46bf
--- 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")