--- 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
--- 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)