iro/tests/testWorker.py
changeset 48 32763e344d3b
parent 42 1a9f191389a4
child 49 b1d0f7ffbb64
equal deleted inserted replaced
47:a0eac136eb20 48:32763e344d3b
    32             record.exc_info=record.exc_info[:-1]                                              
    32             record.exc_info=record.exc_info[:-1]                                              
    33         self.buffer.append(record.__dict__)
    33         self.buffer.append(record.__dict__)
    34 
    34 
    35 
    35 
    36 class BadJob(Job):
    36 class BadJob(Job):
    37     def start(self):
    37     def start(self,id=None):
    38         Job.start(self)
    38         Job.start(self,id)
    39         raise Exception("Error")
    39         raise Exception("Error")
    40 
    40 
    41 #einen Manager anlegen, der Job und eine Liste anbietet
    41 #einen Manager anlegen, der Job und eine Liste anbietet
    42 class MyManager(BaseManager):
    42 class MyManager(BaseManager):
    43     pass
    43     pass
    95 
    95 
    96 
    96 
    97     def testJob(self):
    97     def testJob(self):
    98         '''einen Job verarbeiten'''
    98         '''einen Job verarbeiten'''
    99         job=self.manager.Job(None,None,"test")
    99         job=self.manager.Job(None,None,"test")
   100         self.assertEqual(job.getStatus(),"init")
   100         self.assertEqual(job.getStatus(),("init",{}))
   101         self.queue.put(job)
   101         self.queue.put(job)
   102         sleep(.1)
   102         sleep(.1)
   103         self.stop()
   103         self.stop()
   104         self.assertEqual(job.getStatus(),"started")
   104         self.assertEqual(job.getStatus(),("started",{}))
   105         self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"],
   105         self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"],
   106                 [(20,'Workerprocess läuft nun...'),
   106                 [(20,'Workerprocess läuft nun...'),
   107                  (20,'ein neuer Job(1)'),
   107                  (20,'ein neuer Job(1)'),
   108                  (20,'Job(1) fertig ;)')])
   108                  (20,'Job(1) fertig ;)')])
   109 
   109 
   110     def testBadJob(self):
   110     def testBadJob(self):
   111         '''einen Job verarbeiten, der fehlschlägt'''
   111         '''einen Job verarbeiten, der fehlschlägt'''
   112         job=self.manager.BadJob(None,None,"test")
   112         job=self.manager.BadJob(None,None,"test")
   113         self.assertEqual(job.getStatus(),"init")
   113         self.assertEqual(job.getStatus(),("init",{}))
   114         self.queue.put(job)
   114         self.queue.put(job)
   115         sleep(.1)
   115         sleep(.1)
   116         self.stop()
   116         self.stop()
   117         self.assertEqual(job.getStatus(),"error")
   117         self.assertEqual(job.getStatus(),("error",{}))
   118         print self.buffer
   118         print self.buffer
   119         self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"],
   119         self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"],
   120                 [(20,'Workerprocess läuft nun...'),
   120                 [(20,'Workerprocess läuft nun...'),
   121                  (20,'ein neuer Job(1)'),
   121                  (20,'ein neuer Job(1)'),
   122                  (40,'Job(1) fehlgeschlagen :(')])
   122                  (40,'Job(1) fehlgeschlagen :(')])