job nun mit start(id), status() gibt list zurück, tests angepasst
authorSandro Knauß <knauss@netzguerilla.net>
Fri, 08 Oct 2010 00:03:38 +0200
changeset 48 32763e344d3b
parent 47 a0eac136eb20
child 49 b1d0f7ffbb64
job nun mit start(id), status() gibt list zurück, tests angepasst
iro/job.py
iro/tests/testWorker.py
iro/tests/testXMLRPCServer.py
iro/worker.py
--- a/iro/job.py	Wed Oct 06 04:54:25 2010 +0200
+++ b/iro/job.py	Fri Oct 08 00:03:38 2010 +0200
@@ -26,7 +26,8 @@
         self.dStatus={"good":[], "failed":[]}
         self.id=None
 
-    def start(self):
+    def start(self,id=None):
+        self.id=id
         self.status = "started"
         
     def stop(self):
@@ -73,8 +74,7 @@
         pass
     
     def start(self, id=None):
-        self.id=id
-        Job.start(self)
+        Job.start(self,id)
         self.getProvider().setJob(self)
         self.message.sendto(self.getProvider(), self.recipients)
         self.status="sended"
--- a/iro/tests/testWorker.py	Wed Oct 06 04:54:25 2010 +0200
+++ b/iro/tests/testWorker.py	Fri Oct 08 00:03:38 2010 +0200
@@ -34,8 +34,8 @@
 
 
 class BadJob(Job):
-    def start(self):
-        Job.start(self)
+    def start(self,id=None):
+        Job.start(self,id)
         raise Exception("Error")
 
 #einen Manager anlegen, der Job und eine Liste anbietet
@@ -97,11 +97,11 @@
     def testJob(self):
         '''einen Job verarbeiten'''
         job=self.manager.Job(None,None,"test")
-        self.assertEqual(job.getStatus(),"init")
+        self.assertEqual(job.getStatus(),("init",{}))
         self.queue.put(job)
         sleep(.1)
         self.stop()
-        self.assertEqual(job.getStatus(),"started")
+        self.assertEqual(job.getStatus(),("started",{}))
         self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"],
                 [(20,'Workerprocess läuft nun...'),
                  (20,'ein neuer Job(1)'),
@@ -110,11 +110,11 @@
     def testBadJob(self):
         '''einen Job verarbeiten, der fehlschlägt'''
         job=self.manager.BadJob(None,None,"test")
-        self.assertEqual(job.getStatus(),"init")
+        self.assertEqual(job.getStatus(),("init",{}))
         self.queue.put(job)
         sleep(.1)
         self.stop()
-        self.assertEqual(job.getStatus(),"error")
+        self.assertEqual(job.getStatus(),("error",{}))
         print self.buffer
         self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"],
                 [(20,'Workerprocess läuft nun...'),
--- a/iro/tests/testXMLRPCServer.py	Wed Oct 06 04:54:25 2010 +0200
+++ b/iro/tests/testXMLRPCServer.py	Fri Oct 08 00:03:38 2010 +0200
@@ -125,7 +125,7 @@
         servstr="https://test:test@localhost:8000"
         client=xmlrpclib.Server(servstr)
         id=client.startSMS("test",["01234", ] )
-        self.assertEqual(client.status(id),{id: {'status': 'init', 'name':  'test'}} )
+        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name':  'test'}} )
         
     def testTwoUser(self):
         u1="https://test:test@localhost:8000"
@@ -136,13 +136,13 @@
         admin=xmlrpclib.Server(admin)
         id1=client1.startSMS("test",["01234"] )
         self.assertEqual(client2.status(),{} ) 
-        self.assertEqual(admin.status(id1),{id1: {'status': 'init', 'name':  'test'}} )
+        self.assertEqual(admin.status(id1),{id1: {'status': ['init', {}], 'name':  'test'}} )
         id2=client2.startSMS("test2",["01234"] )
         self.assertNotEqual(id1, id2)
-        self.assertEqual(client1.status(),{id1: {'status': 'init', 'name':  'test'}})
-        self.assertEqual(client2.status(),{id2: {'status': 'init', 'name':  'test2'}})
-        self.assertEqual(admin.status(),{id1: {'status': 'init', 'name':   'test'},
-                        id2: {'status': 'init', 'name':   'test2'}} )
+        self.assertEqual(client1.status(),{id1: {'status': ['init', {}], 'name':  'test'}})
+        self.assertEqual(client2.status(),{id2: {'status': ['init', {}], 'name':  'test2'}})
+        self.assertEqual(admin.status(),{id1: {'status': ['init', {}], 'name':   'test'},
+                        id2: {'status': ['init', {}], 'name':   'test2'}} )
         
         self.assertEqual(client2.status(id1), {})
         self.assertEqual(client1.status(id2), {})
--- a/iro/worker.py	Wed Oct 06 04:54:25 2010 +0200
+++ b/iro/worker.py	Fri Oct 08 00:03:38 2010 +0200
@@ -20,7 +20,7 @@
             id+=1
             logger.info('ein neuer Job(%d)' %(id))
             try:
-                job.start()
+                job.start(id)
                 logger.info('Job(%d) fertig ;)'%(id))
             except:
                 job.setStatus("error")