adding tests devel
authorSandro Knauß <knauss@netzguerilla.net>
Wed, 21 Mar 2012 19:41:55 +0100
branchdevel
changeset 239 4cf5e664c847
parent 238 c36b117f7400
child 240 3406d3bf05d4
child 248 830204e316ca
adding tests task: test for error chaining config: test for init function
iro/tests/config.py
iro/tests/task.py
--- a/iro/tests/config.py	Wed Mar 21 19:40:06 2012 +0100
+++ b/iro/tests/config.py	Wed Mar 21 19:41:55 2012 +0100
@@ -41,6 +41,15 @@
         pMain.same.return_value = False
         self.assertRaises(Exception,config.readConfig,)
 
+    @patch('iro.config.main')
+    @patch('iro.config.configParser')
+    def testInit(self,pConfig,pMain):
+        pMain._init = False
+        config.init()
+        self.assertEqual([i[0] for i in pConfig.method_calls],["read", "items"])
+        pConfig.read.assert_called_once_with(config.confFiles)
+        pConfig.items.assert_called_once_with("main")
+        self.assertEqual(pMain.load.called,1)
 
 
     @patch('signal.signal')
--- a/iro/tests/task.py	Wed Mar 21 19:40:06 2012 +0100
+++ b/iro/tests/task.py	Wed Mar 21 19:41:55 2012 +0100
@@ -14,7 +14,7 @@
 
 from iro.offer import Offer, Provider
 
-from iro.error import NoRouteForTask
+from iro.error import NoRouteForTask,RejectRecipient
 from iro.telnumber import Telnumber
 
 from ..test_helpers.dbtestcase import DBTestCase
@@ -86,6 +86,32 @@
         d.addCallback(c)
         return d
         
+    def testNoRoute2(self):
+        with self.session() as session:
+            u = User(name='test',apikey='abcdef123456789')
+            session.add(u)
+            o=DBOffer(name="test", provider="bla", route="basic", typ="sms")
+            u.rights.append(Userright(o)) 
+            o=DBOffer(name="test2", provider="bla", route="basic2", typ="sms")
+            u.rights.append(Userright(o)) 
+
+        p=Provider(name="p", typs={"sms":["basic","basic2"]})
+        def send(typ,route,recipient,message):
+            raise RejectRecipient(recipient)
+        p.send=send
+        offers["test"] = Offer("test",provider=p, route="basic", typ="sms")
+        offers["test2"] = Offer("test2",provider=p, route="basic2", typ="sms")
+
+        def c(exjob):
+            task = Task(Telnumber('123456789'), exjob)
+            task.d = Deferred()
+            task._run()
+            self.assertFailure(task.d, NoRouteForTask)
+            return task.d
+
+        d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test','test2'])
+        d.addCallback(c)
+        return d
 
     def testSetStatus(self):
         task=Task(Telnumber('123456789'), None)