--- a/iro/model/job.py Fri Mar 23 16:22:32 2012 +0100
+++ b/iro/model/job.py Fri Mar 23 16:23:29 2012 +0100
@@ -1,5 +1,4 @@
-from twisted.python import log
-from twisted.python import threadable
+from twisted.python import log, threadable
from datetime import datetime
from collections import MutableMapping
@@ -21,6 +20,7 @@
self.tasks={}
self.c = 0
self.status = "started"
+ log.msg("Job(%s) created."%(self.dbjob))
def addTask(self,task):
self.tasks[task.recipient] = task
@@ -37,6 +37,7 @@
return
job.status = status
self.status = status
+ log.msg("Job(%s) status changed to: %s."%(self.dbjob, status))
session.commit()
@dbdefer
@@ -44,10 +45,10 @@
c = self.incStatus()
job = schema.Job.get(session, self.dbjob)
- if job.status in ["started","init"]:
- self._status(session,"sending")
if c == len(self.recipients):
self._status(session,"sended")
+ elif job.status in ["started","init"]:
+ self._status(session,"sending")
if status.costs > 0:
o = schema.Offer.get(session, status.provider.name, status.route, self.message.typ)
--- a/iro/tests/job.py Fri Mar 23 16:22:32 2012 +0100
+++ b/iro/tests/job.py Fri Mar 23 16:23:29 2012 +0100
@@ -52,6 +52,7 @@
self.assertEqual(j,[(job.dbjob,)])
self.assertEqual(exJobs[job.dbjob],job)
+ self.assertEqual(self.log.e[0]['message'], ("Job(%s) created."%job.dbjob,))
def testCreate2(self):
with self.session() as session:
@@ -117,7 +118,8 @@
self.job.setError(Task(Telnumber('123456789'),self),Exception("muhaha"))
errors = self.flushLoggedErrors(Exception)
self.assertEqual(len(errors), 1)
- self.assertEqual(self.log.e[0]['why'], "Error: Job(%s) to '0049123456789' failed."%self.job.dbjob)
+ self.assertEqual(self.log.e[1]['message'], ("Job(%s) status changed to: error."%self.job.dbjob,))
+ self.assertEqual(self.log.e[2]['why'], "Error: Job(%s) to '0049123456789' failed."%self.job.dbjob)
with self.session() as session:
u = session.merge(self.user)
@@ -129,7 +131,8 @@
status = Status(self.provider,"a")
self.job.setStatus(task, status)
- self.assertEqual(self.log.e[0]['message'], ("Job(%s) to '0049123456789' ended sucecessfully via bla:a."%self.job.dbjob,))
+ self.assertEqual(self.log.e[1]['message'], ("Job(%s) status changed to: sended."%self.job.dbjob,))
+ self.assertEqual(self.log.e[2]['message'], ("Job(%s) to '0049123456789' ended sucecessfully via bla:a."%self.job.dbjob,))
with self.session() as session:
u = session.merge(self.user)
--- a/iro/tests/offer_integrated.py Fri Mar 23 16:22:32 2012 +0100
+++ b/iro/tests/offer_integrated.py Fri Mar 23 16:23:29 2012 +0100
@@ -15,6 +15,7 @@
from iro.offer import Smstrade, SMTP, Offer
from iro.offer.smstrade import SmstradeException, StatusCode
+from iro.error import NoRouteForTask
from ..test_helpers.dbtestcase import DBTestCase
from ..test_helpers.utils import DummyPool
@@ -65,7 +66,7 @@
t = Task(Telnumber("0123456789"),j)
yield t.start()
- self.assertEqual(self.log.e[0]['message'], ("Job(%s) to '0049123456789' ended sucecessfully via bla:basic."%j.dbjob,))
+ self.assertEqual(self.log.e[2]['message'], ("Job(%s) to '0049123456789' ended sucecessfully via bla:basic."%j.dbjob,))
with self.session() as session:
u = session.merge(u)
@@ -108,10 +109,13 @@
errors = self.flushLoggedErrors(SmstradeException)
self.assertEqual(len(errors), 1)
- self.assertEqual(self.log.e[0]['why'], "Error: Job(%s) to '0049123456789' failed."%j.dbjob)
+ errors = self.flushLoggedErrors(NoRouteForTask)
+ self.assertEqual(len(errors), 1)
+ self.assertEqual(self.log.e[1]['why'], "Job(%s): Send to '0049123456789' failed via 's'"%j.dbjob)
+ self.assertEqual(self.log.e[3]['why'], "Error: Job(%s) to '0049123456789' failed."%j.dbjob)
self.assertEqual(t.error, True)
- self.assertEqual(str(t.status.value),str(SmstradeException(StatusCode(703))))
+ self.assertEqual(str(self.log.e[1]['failure'].value),str(SmstradeException(StatusCode(703))))
with self.session() as session:
u = session.merge(u)
@@ -142,7 +146,7 @@
t = Task("t@test.de",j)
yield t.start()
- self.assertEqual(self.log.e[0]['message'], ("Job(%s) to 't@test.de' ended sucecessfully via bla:None."%j.dbjob,))
+ self.assertEqual(self.log.e[2]['message'], ("Job(%s) to 't@test.de' ended sucecessfully via bla:None."%j.dbjob,))
with self.session() as session:
u = session.merge(u)
@@ -175,12 +179,14 @@
t = Task("t@test.de",j)
yield t.start()
+ errors = self.flushLoggedErrors(NoRouteForTask)
+ self.assertEqual(len(errors), 1)
errors = self.flushLoggedErrors(IOError)
self.assertEqual(len(errors), 1)
- self.assertEqual(self.log.e[0]['why'], "Error: Job(%s) to 't@test.de' failed."%j.dbjob
-)
+ self.assertEqual(self.log.e[1]['why'], "Job(%s): Send to 't@test.de' failed via 's'"%j.dbjob)
+ self.assertEqual(self.log.e[3]['why'], "Error: Job(%s) to 't@test.de' failed."%j.dbjob)
self.assertEqual(t.error, True)
- self.assertEqual(str(t.status.value),str(IOError(111,"Connection refused")))
+ self.assertEqual(str(self.log.e[1]['failure'].value),str(IOError(111,"Connection refused")))
with self.session() as session:
u = session.merge(u)