| author | Sandro Knauß <knauss@netzguerilla.net> |
| Tue, 10 Jan 2012 06:03:42 +0100 | |
| branch | devel |
| changeset 93 | ee10253258ad |
| parent 81 | fea4c6760ca5 |
| permissions | -rw-r--r-- |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
2 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
3 |
import unittest |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
4 |
import logging |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
5 |
from time import sleep |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
6 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
7 |
from multiprocessing import Queue |
| 49 | 8 |
from multiprocessing.managers import BaseManager, ListProxy |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
9 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
10 |
from iro.worker import Worker |
| 49 | 11 |
from iro.job import Job, SMSJob |
12 |
from iro.anbieter.anbieter import anbieter |
|
13 |
from iro.anbieter.content import SMS |
|
14 |
from iro.providerlist import Providerlist |
|
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
15 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
16 |
from logging.handlers import BufferingHandler |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
17 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
18 |
class MyHandler(BufferingHandler): |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
19 |
def __init__(self,buffer=None): |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
20 |
'''BufferingHandler takes a "capacity" argument |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
21 |
so as to know when to flush. As we're overriding |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
22 |
shouldFlush anyway, we can set a capacity of zero. |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
23 |
You can call flush() manually to clear out the |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
24 |
buffer. |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
25 |
buffer: log messages to this buffer, needed f.ex for processes or threads''' |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
26 |
BufferingHandler.__init__(self, 0) |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
27 |
self.buffer=buffer |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
28 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
29 |
def shouldFlush(self): |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
30 |
return False |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
31 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
32 |
def emit(self, record): |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
33 |
if record.exc_info: #sonst geht das append schief, weil nicht picklebar |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
34 |
record.exc_info=record.exc_info[:-1] |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
35 |
self.buffer.append(record.__dict__) |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
36 |
|
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
37 |
|
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
38 |
class BadJob(Job): |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
39 |
def start(self,id=None): |
|
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
40 |
Job.start(self,id) |
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
41 |
raise Exception("Error") |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
42 |
|
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
43 |
#einen Manager anlegen, der Job und eine Liste anbietet |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
44 |
class MyManager(BaseManager): |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
45 |
pass |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
46 |
MyManager.register('Job', Job) |
| 49 | 47 |
MyManager.register('SMSJob', SMSJob) |
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
48 |
MyManager.register('BadJob', BadJob) |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
49 |
MyManager.register('list', list, ListProxy) |
| 49 | 50 |
MyManager.register('Providerlist',Providerlist) |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
51 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
52 |
class TestWorker(unittest.TestCase): |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
53 |
def setUp(self): |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
54 |
#erstelle eine Queue&Manager |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
55 |
self.manager = MyManager() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
56 |
self.queue = Queue() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
57 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
58 |
#manager starten, damit wir Logging anpassen können |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
59 |
self.manager.start() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
60 |
self.setUpLogging() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
61 |
|
| 49 | 62 |
self.providerlist=self.manager.Providerlist() |
63 |
self.providerlist.add("test", anbieter() , ["sms", ]) |
|
64 |
||
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
65 |
#eigentlich Workerprocess starten |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
66 |
self.worker= Worker(self.queue) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
67 |
self.worker.start() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
68 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
69 |
def tearDown(self): |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
70 |
#Thread&Queue stoppen |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
71 |
self.stop() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
72 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
73 |
#Logging änderungen rückgängig |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
74 |
self.tearDownLogging() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
75 |
self.manager.shutdown() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
76 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
77 |
def stop(self): |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
78 |
self.queue.close() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
79 |
self.queue.join_thread() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
80 |
self.worker.terminate() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
81 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
82 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
83 |
def setUpLogging(self): |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
84 |
'''Logging so umbasteln, das wir alle logging Meldung in self.buf sind''' |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
85 |
#wir brauchen eine threadsichere liste |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
86 |
self.buffer=self.manager.list() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
87 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
88 |
#Handler erstellen, der in den Buffer schreibt |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
89 |
self.handler = h = MyHandler(self.buffer) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
90 |
self.logger =l= logging.getLogger() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
91 |
|
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
92 |
#Level anpassen |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
93 |
l.setLevel(logging.DEBUG) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
94 |
h.setLevel(logging.DEBUG) |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
95 |
l.addHandler(h) |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
96 |
|
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
97 |
def tearDownLogging(self): |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
98 |
'''crazy logging hacks wieder entfernen''' |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
99 |
self.logger.removeHandler(self.handler) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
100 |
self.logger.setLevel(logging.NOTSET) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
101 |
self.handler.close() |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
102 |
|
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
103 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
104 |
def testJob(self): |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
105 |
'''einen Job verarbeiten''' |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
106 |
job=self.manager.Job(None,None,"test") |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
107 |
self.assertEqual(job.getStatus(),("init",{})) |
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
108 |
self.queue.put(job) |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
109 |
sleep(.1) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
110 |
self.stop() |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
111 |
self.assertEqual(job.getStatus(),("started",{})) |
|
41
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
112 |
self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
113 |
[(20,'Workerprocess läuft nun...'), |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
114 |
(20,'ein neuer Job(1)'), |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
115 |
(20,'Job(1) fertig ;)')]) |
|
02e9b54ef4f0
testWorker benutzbar machen & test laufen lassen
Sandro Knauß <knauss@netzguerilla.net>
parents:
40
diff
changeset
|
116 |
|
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
117 |
def testBadJob(self): |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
118 |
'''einen Job verarbeiten, der fehlschlägt''' |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
119 |
job=self.manager.BadJob(None,None,"test") |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
120 |
self.assertEqual(job.getStatus(),("init",{})) |
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
121 |
self.queue.put(job) |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
122 |
sleep(.1) |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
123 |
self.stop() |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
124 |
self.assertEqual(job.getStatus(),("error",{})) |
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
125 |
self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
126 |
[(20,'Workerprocess läuft nun...'), |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
127 |
(20,'ein neuer Job(1)'), |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
128 |
(40,'Job(1) fehlgeschlagen :(')]) |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
129 |
error=Exception('Error') |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
130 |
self.assertEqual(self.buffer[-1]['exc_info'][0],type(error)) |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
131 |
self.assertEqual(str(self.buffer[-1]['exc_info'][1]),str(error)) |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
132 |
|
| 49 | 133 |
def testSMSJob(self): |
134 |
job=self.manager.SMSJob(self.providerlist, "test", "name", SMS("message"),[012345]) |
|
135 |
self.assertEqual(job.getStatus(),("init",{})) |
|
136 |
self.queue.put(job) |
|
137 |
sleep(.1) |
|
138 |
self.stop() |
|
139 |
self.assertEqual(job.getStatus(),("sended",{'failed': [], 'good': []})) |
|
140 |
self.assertEqual([(l['levelno'],l['msg']) for l in self.buffer if l['name']=="iro.worker"], |
|
141 |
[(20,'Workerprocess läuft nun...'), |
|
142 |
(20,'ein neuer Job(1)'), |
|
143 |
(20,'Job(1) fertig ;)')]) |
|
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
41
diff
changeset
|
144 |
|
|
40
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
145 |
|
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
146 |
if __name__ == "__main__": |
|
5d177c9d7fd2
testWorker.py hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
147 |
unittest.main() |