14 from iro.model.message import SMS, Fax, Mail |
14 from iro.model.message import SMS, Fax, Mail |
15 from iro.model.schema import Job, User, Offer as DBOffer, Userright |
15 from iro.model.schema import Job, User, Offer as DBOffer, Userright |
16 from iro.telnumber import Telnumber |
16 from iro.telnumber import Telnumber |
17 |
17 |
18 |
18 |
19 from iro.offer.offer import Offer |
19 from iro.offer import Offer, Provider |
20 from iro.validate import vInteger |
20 from iro.validate import vInteger |
21 from iro.error import NoRoute |
21 from iro.error import NoRoute |
22 |
22 |
23 from .dbtestcase import DBTestCase |
23 from .dbtestcase import DBTestCase |
24 |
24 |
131 u = User(name='test',apikey='abcdef123456789') |
131 u = User(name='test',apikey='abcdef123456789') |
132 session.add(u) |
132 session.add(u) |
133 o=DBOffer(name="test", provider="bla", route="basic", typ="sms") |
133 o=DBOffer(name="test", provider="bla", route="basic", typ="sms") |
134 u.rights.append(Userright(o)) |
134 u.rights.append(Userright(o)) |
135 |
135 |
136 offers["test"] = Offer("test",provider=None, route=None, typ="sms") |
136 p=Provider(name="p", config={}, routes=["test"]) |
|
137 def send(typ,route,recipient,message): |
|
138 return Status(provider=p, route=route, error="Error: Test") |
|
139 p.send=send |
|
140 offers["test"] = Offer("test",provider=p, route="test", typ="sms") |
137 |
141 |
138 exjob = yield exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test']) |
142 exjob = yield exJobs.create(u, [Telnumber('123456789')], SMS('test'), ['test']) |
139 |
143 |
140 task=Task(Telnumber('123456789'), exjob) |
144 task=Task(Telnumber('123456789'), exjob) |
141 ret = yield task._run() |
145 ret = yield task._run() |
142 self.assertIsInstance(ret, Status) |
146 self.assertIsInstance(ret, Status) |
143 self.assertEqual(ret.offer,"test") |
147 self.assertEqual(ret.provider, p) |
144 self.assertEqual(ret.status, Status.error) |
148 self.assertEqual(ret.route, "test") |
145 self.assertEqual(ret.errtext,"Error: Test") |
149 self.assertEqual(ret.status, Status.ERROR) |
|
150 self.assertEqual(ret.error, "Error: Test") |
146 |
151 |
147 @inlineCallbacks |
152 @inlineCallbacks |
148 def testNoRoute(self): |
153 def testNoRoute(self): |
149 with self.session() as session: |
154 with self.session() as session: |
150 u = User(name='test',apikey='abcdef123456789') |
155 u = User(name='test',apikey='abcdef123456789') |