# HG changeset patch # User Sandro Knauß # Date 1330987916 -3600 # Node ID d755b2e0cc0b96932a2ac5ab7c48db09712e2456 # Parent ab8e2f26718ef54f3cd0b654e26b23cc98874dea task now saves own status diff -r ab8e2f26718e -r d755b2e0cc0b iro/controller/task.py --- a/iro/controller/task.py Mon Mar 05 21:37:44 2012 +0100 +++ b/iro/controller/task.py Mon Mar 05 23:51:56 2012 +0100 @@ -16,10 +16,23 @@ def __init__(self, recipient, job): self.recipient = recipient self.job = job + self.status = None + self.error = False + + def setStatus(self,status): + self.status = status + return status + + def setError(self,error): + self.status = error + self.error = True + return error def start(self): self.d = taskPool.run(self._run) + self.d.addCallback(self.setStatus) self.d.addCallback(partial(self.job.setStatus,self)) + self.d.addErrback(self.setError) self.d.addErrback(partial(self.job.setError,self)) return self.d diff -r ab8e2f26718e -r d755b2e0cc0b tests/task.py --- a/tests/task.py Mon Mar 05 21:37:44 2012 +0100 +++ b/tests/task.py Mon Mar 05 23:51:56 2012 +0100 @@ -80,30 +80,16 @@ d = task._run() self.assertFailure(d, NoRouteForTask) - -class CompletetaskTests(TaskTestCase): - def setUp(self): - TaskTestCase.setUp(self) - taskPool.start(reactor) - - def tearDown(self): - taskPool.pool.stop() - TaskTestCase.tearDown(self) - -# def testStart(self): -# pass - + def testSetStatus(self): + task=Task(Telnumber('123456789'), None) + self.assertEqual(task.status,None) + self.assertEqual(task.error,False) - #def testCreateFax(self): - # with self.session() as session: - # u = User(name='test',apikey='abcdef123456789') - # session.add(u) - # job = createJob(u,[Telnumber('0123325456')],Fax('header','fax',[]),[]) + self.assertEqual(task.setStatus("fooja"),"fooja") + self.assertEqual(task.status,"fooja") - # self.assertEqual(taskPool.pool.q.qsize(),1) - - #def testCreateMail(self): - # with self.session() as session: - # u = User(name='test',apikey='abcdef123456789') - # session.add(u) - # job = createJob(u,[],Mail('sub','body','t@t.de'),[]) + def testSetError(self): + task=Task(Telnumber('123456789'), None) + self.assertEqual(task.setError("fooja"),"fooja") + self.assertEqual(task.status,"fooja") + self.assertEqual(task.error,True)