iro/tests/task.py
branchdevel
changeset 239 4cf5e664c847
parent 234 08fcc2b6df99
child 243 b348d8f15b0a
equal deleted inserted replaced
238:c36b117f7400 239:4cf5e664c847
    12 from iro.controller.task import createJob, Task
    12 from iro.controller.task import createJob, Task
    13 from iro.controller.pool  import taskPool, dbPool
    13 from iro.controller.pool  import taskPool, dbPool
    14 
    14 
    15 from iro.offer import Offer, Provider
    15 from iro.offer import Offer, Provider
    16 
    16 
    17 from iro.error import NoRouteForTask
    17 from iro.error import NoRouteForTask,RejectRecipient
    18 from iro.telnumber import Telnumber
    18 from iro.telnumber import Telnumber
    19 
    19 
    20 from ..test_helpers.dbtestcase import DBTestCase
    20 from ..test_helpers.dbtestcase import DBTestCase
    21 
    21 
    22 class TaskTestCase(DBTestCase):
    22 class TaskTestCase(DBTestCase):
    84 
    84 
    85         d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), [])
    85         d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), [])
    86         d.addCallback(c)
    86         d.addCallback(c)
    87         return d
    87         return d
    88         
    88         
       
    89     def testNoRoute2(self):
       
    90         with self.session() as session:
       
    91             u = User(name='test',apikey='abcdef123456789')
       
    92             session.add(u)
       
    93             o=DBOffer(name="test", provider="bla", route="basic", typ="sms")
       
    94             u.rights.append(Userright(o)) 
       
    95             o=DBOffer(name="test2", provider="bla", route="basic2", typ="sms")
       
    96             u.rights.append(Userright(o)) 
       
    97 
       
    98         p=Provider(name="p", typs={"sms":["basic","basic2"]})
       
    99         def send(typ,route,recipient,message):
       
   100             raise RejectRecipient(recipient)
       
   101         p.send=send
       
   102         offers["test"] = Offer("test",provider=p, route="basic", typ="sms")
       
   103         offers["test2"] = Offer("test2",provider=p, route="basic2", typ="sms")
       
   104 
       
   105         def c(exjob):
       
   106             task = Task(Telnumber('123456789'), exjob)
       
   107             task.d = Deferred()
       
   108             task._run()
       
   109             self.assertFailure(task.d, NoRouteForTask)
       
   110             return task.d
       
   111 
       
   112         d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test','test2'])
       
   113         d.addCallback(c)
       
   114         return d
    89 
   115 
    90     def testSetStatus(self):
   116     def testSetStatus(self):
    91         task=Task(Telnumber('123456789'), None)
   117         task=Task(Telnumber('123456789'), None)
    92         self.assertEqual(task.status,None)
   118         self.assertEqual(task.status,None)
    93         self.assertEqual(task.error,False)
   119         self.assertEqual(task.error,False)