111 |
111 |
112 d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test','test2']) |
112 d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test','test2']) |
113 d.addCallback(c) |
113 d.addCallback(c) |
114 return d |
114 return d |
115 |
115 |
|
116 def testChaining(self): |
|
117 with self.session() as session: |
|
118 u = User(name='test',apikey='abcdef123456789') |
|
119 session.add(u) |
|
120 o=DBOffer(name="test", provider="bla", route="basic", typ="sms") |
|
121 u.rights.append(Userright(o)) |
|
122 o=DBOffer(name="test2", provider="bla", route="basic2", typ="sms") |
|
123 u.rights.append(Userright(o)) |
|
124 |
|
125 p=Provider(name="p", typs={"sms":["basic","basic2"]}) |
|
126 def send(typ,route,recipient,message): |
|
127 if route=="basic": |
|
128 raise Exception("oh my god an exception") |
|
129 return Status(p,route) |
|
130 p.send=send |
|
131 offers["test"] = Offer("test",provider=p, route="basic", typ="sms") |
|
132 offers["test2"] = Offer("test2",provider=p, route="basic2", typ="sms") |
|
133 |
|
134 def c(exjob): |
|
135 task = Task(Telnumber('123456789'), exjob) |
|
136 task.d = Deferred() |
|
137 task.d.addCallback(stat, task) |
|
138 task._run() |
|
139 return task.d |
|
140 |
|
141 def stat(status, task): |
|
142 errors = self.flushLoggedErrors(Exception) |
|
143 self.assertEqual(len(errors), 1) |
|
144 self.assertEqual(self.log.e[1]['why'], "Job(%s): Send to '0049123456789' failed via 'test'"% task.job.dbjob) |
|
145 self.assertIsInstance(status, Status) |
|
146 self.assertEqual(status.provider, p) |
|
147 self.assertEqual(status.route, "basic2") |
|
148 |
|
149 d = exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test','test2']) |
|
150 d.addCallback(c) |
|
151 return d |
|
152 |
|
153 |
|
154 |
116 def testSetStatus(self): |
155 def testSetStatus(self): |
117 task=Task(Telnumber('123456789'), None) |
156 task=Task(Telnumber('123456789'), None) |
118 self.assertEqual(task.status,None) |
157 self.assertEqual(task.status,None) |
119 self.assertEqual(task.error,False) |
158 self.assertEqual(task.error,False) |
120 |
159 |