diff -r c36b117f7400 -r 4cf5e664c847 iro/tests/task.py --- 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)