tests/smstrade.py
branchdevel
changeset 215 5bacdb7e94d1
parent 214 bacf50bc46bf
child 216 ab8e2f26718e
--- a/tests/smstrade.py	Sat Mar 03 03:54:53 2012 +0100
+++ b/tests/smstrade.py	Mon Mar 05 19:47:08 2012 +0100
@@ -1,11 +1,12 @@
 from twisted.trial import unittest
-
+from decimal import Decimal
 from mock import patch, Mock
 
 from iro.error import NoRoute, NoTyp, NeededOption, RejectRecipient
 from iro.telnumber import Telnumber
 from iro.model.message import SMS
-from iro.offer.smstrade import Smstrade, StatusException
+from iro.offer.smstrade import Smstrade, SmstradeException, StatusCode
+
 
 HOST = "localhost"
 PORT = 9999
@@ -35,7 +36,7 @@
         
         p=self.getProvider()
         content = "Hello World"
-        p.send("gold",SMS(content,None), Telnumber("01701234567"))
+        r = p.send("gold",SMS(content,None), Telnumber("01701234567"))
 
         ca = mock_urlopen.call_args[0]
         c=ca[1].split("&")
@@ -45,10 +46,30 @@
         self.assertEqual(c,params)
         self.assertEqual(f.readlines.call_count,1)
 
+        self.assertEqual(r.provider, p)
+        self.assertEqual(r.route, 'gold')
+        self.assertEqual(r.costs, Decimal('0.055'))
+        self.assertEqual(r.exID, '12345678')
+        self.assertEqual(r.count, 1)
+
     def testStatusCode(self):
-        pass
-    
-    testStatusCode.todo = "to implement"
+        s = StatusCode(10,"12345678","1.10",1)
+        self.assertEqual(str(s),'10: Empfaengernummer nicht korrekt.')
+        self.assertEqual(int(s),10)
+        self.assertEqual(s.count,1)
+        self.assertEqual(s.costs,Decimal("1.10"))
+        self.assertEqual(s.exID,'12345678')
+
+
+    def testUnknownStatusCode(self):
+        s = StatusCode(999)
+        self.assertEqual(str(s),'999: unknown statuscode.')
+        self.assertEqual(int(s),999)
+        self.assertEqual(s.count,0)
+        self.assertEqual(s.costs,Decimal("0.00"))
+        self.assertEqual(s.exID, None)
+
+
 
     def testRejectRecipient(self):
         p=self.getProvider()
@@ -78,18 +99,18 @@
 
         p=self.getProvider()
         content = "Hello World"
-        e = self.assertRaises(StatusException, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
+        e = self.assertRaises(SmstradeException, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
         self.assertEqual(str(e),'950:Error in external API.\n703: unknown statuscode.')
 
     @patch("urllib.urlopen")
-    def testStatusException(self,mock_urlopen):
+    def testSmstradeException(self,mock_urlopen):
         f = Mock()
         f.readlines.return_value = ["10"]
         mock_urlopen.return_value = f
 
         p=self.getProvider()
         content = "Hello World"
-        e = self.assertRaises(StatusException, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
+        e = self.assertRaises(SmstradeException, p.send , "basic", SMS(content,None), Telnumber("01701234567"))
         self.assertEqual(str(e),'950:Error in external API.\n10: Empfaengernummer nicht korrekt.')