some more messages about job status devel
authorSandro Knauß <knauss@netzguerilla.net>
Fri, 23 Mar 2012 16:23:29 +0100
branchdevel
changeset 245 4526747a42ca
parent 244 48fba7b4afe9
child 246 de38fe2eb224
some more messages about job status
iro/model/job.py
iro/tests/job.py
iro/tests/offer_integrated.py
--- 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)