13 from iro.controller.task import Task, taskPool |
13 from iro.controller.task import Task, taskPool |
14 from iro.telnumber import Telnumber |
14 from iro.telnumber import Telnumber |
15 |
15 |
16 from iro.offer import Smstrade, SMTP, Offer |
16 from iro.offer import Smstrade, SMTP, Offer |
17 from iro.offer.smstrade import SmstradeException, StatusCode |
17 from iro.offer.smstrade import SmstradeException, StatusCode |
|
18 from iro.error import NoRouteForTask |
18 |
19 |
19 from ..test_helpers.dbtestcase import DBTestCase |
20 from ..test_helpers.dbtestcase import DBTestCase |
20 from ..test_helpers.utils import DummyPool |
21 from ..test_helpers.utils import DummyPool |
21 |
22 |
22 def run( f,*a,**k): |
23 def run( f,*a,**k): |
63 |
64 |
64 j = yield exJobs.create(u,[Telnumber("0123456789")],SMS("bla"),['s'],'tesched') |
65 j = yield exJobs.create(u,[Telnumber("0123456789")],SMS("bla"),['s'],'tesched') |
65 t = Task(Telnumber("0123456789"),j) |
66 t = Task(Telnumber("0123456789"),j) |
66 yield t.start() |
67 yield t.start() |
67 |
68 |
68 self.assertEqual(self.log.e[0]['message'], ("Job(%s) to '0049123456789' ended sucecessfully via bla:basic."%j.dbjob,)) |
69 self.assertEqual(self.log.e[2]['message'], ("Job(%s) to '0049123456789' ended sucecessfully via bla:basic."%j.dbjob,)) |
69 |
70 |
70 with self.session() as session: |
71 with self.session() as session: |
71 u = session.merge(u) |
72 u = session.merge(u) |
72 o = session.merge(o) |
73 o = session.merge(o) |
73 job = u.job(j.dbjob) |
74 job = u.job(j.dbjob) |
106 t = Task(Telnumber("0123456789"),j) |
107 t = Task(Telnumber("0123456789"),j) |
107 yield t.start() |
108 yield t.start() |
108 |
109 |
109 errors = self.flushLoggedErrors(SmstradeException) |
110 errors = self.flushLoggedErrors(SmstradeException) |
110 self.assertEqual(len(errors), 1) |
111 self.assertEqual(len(errors), 1) |
111 self.assertEqual(self.log.e[0]['why'], "Error: Job(%s) to '0049123456789' failed."%j.dbjob) |
112 errors = self.flushLoggedErrors(NoRouteForTask) |
|
113 self.assertEqual(len(errors), 1) |
|
114 self.assertEqual(self.log.e[1]['why'], "Job(%s): Send to '0049123456789' failed via 's'"%j.dbjob) |
|
115 self.assertEqual(self.log.e[3]['why'], "Error: Job(%s) to '0049123456789' failed."%j.dbjob) |
112 |
116 |
113 self.assertEqual(t.error, True) |
117 self.assertEqual(t.error, True) |
114 self.assertEqual(str(t.status.value),str(SmstradeException(StatusCode(703)))) |
118 self.assertEqual(str(self.log.e[1]['failure'].value),str(SmstradeException(StatusCode(703)))) |
115 |
119 |
116 with self.session() as session: |
120 with self.session() as session: |
117 u = session.merge(u) |
121 u = session.merge(u) |
118 o = session.merge(o) |
122 o = session.merge(o) |
119 job = u.job(j.dbjob) |
123 job = u.job(j.dbjob) |
140 |
144 |
141 j = yield exJobs.create(u,["t@test.de"],Mail("bla",'msg',None),['s'],'tesched') |
145 j = yield exJobs.create(u,["t@test.de"],Mail("bla",'msg',None),['s'],'tesched') |
142 t = Task("t@test.de",j) |
146 t = Task("t@test.de",j) |
143 yield t.start() |
147 yield t.start() |
144 |
148 |
145 self.assertEqual(self.log.e[0]['message'], ("Job(%s) to 't@test.de' ended sucecessfully via bla:None."%j.dbjob,)) |
149 self.assertEqual(self.log.e[2]['message'], ("Job(%s) to 't@test.de' ended sucecessfully via bla:None."%j.dbjob,)) |
146 |
150 |
147 with self.session() as session: |
151 with self.session() as session: |
148 u = session.merge(u) |
152 u = session.merge(u) |
149 o = session.merge(o) |
153 o = session.merge(o) |
150 job = u.job(j.dbjob) |
154 job = u.job(j.dbjob) |
173 |
177 |
174 j = yield exJobs.create(u,["t@test.de"],Mail("bla",'msg',None),['s'],'tesched') |
178 j = yield exJobs.create(u,["t@test.de"],Mail("bla",'msg',None),['s'],'tesched') |
175 t = Task("t@test.de",j) |
179 t = Task("t@test.de",j) |
176 yield t.start() |
180 yield t.start() |
177 |
181 |
|
182 errors = self.flushLoggedErrors(NoRouteForTask) |
|
183 self.assertEqual(len(errors), 1) |
178 errors = self.flushLoggedErrors(IOError) |
184 errors = self.flushLoggedErrors(IOError) |
179 self.assertEqual(len(errors), 1) |
185 self.assertEqual(len(errors), 1) |
180 self.assertEqual(self.log.e[0]['why'], "Error: Job(%s) to 't@test.de' failed."%j.dbjob |
186 self.assertEqual(self.log.e[1]['why'], "Job(%s): Send to 't@test.de' failed via 's'"%j.dbjob) |
181 ) |
187 self.assertEqual(self.log.e[3]['why'], "Error: Job(%s) to 't@test.de' failed."%j.dbjob) |
182 self.assertEqual(t.error, True) |
188 self.assertEqual(t.error, True) |
183 self.assertEqual(str(t.status.value),str(IOError(111,"Connection refused"))) |
189 self.assertEqual(str(self.log.e[1]['failure'].value),str(IOError(111,"Connection refused"))) |
184 |
190 |
185 with self.session() as session: |
191 with self.session() as session: |
186 u = session.merge(u) |
192 u = session.merge(u) |
187 o = session.merge(o) |
193 o = session.merge(o) |
188 job = u.job(j.dbjob) |
194 job = u.job(j.dbjob) |