iro/tests/offer_integrated.py
branchdevel
changeset 245 4526747a42ca
parent 241 546316b0b09c
child 294 0e75bd39767d
equal deleted inserted replaced
244:48fba7b4afe9 245:4526747a42ca
    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)