iro/tests/job.py
branchdevel
changeset 241 546316b0b09c
parent 231 3929338fd17f
child 245 4526747a42ca
equal deleted inserted replaced
240:3406d3bf05d4 241:546316b0b09c
    14 
    14 
    15 from iro.telnumber import Telnumber
    15 from iro.telnumber import Telnumber
    16 from iro.validate import vInteger
    16 from iro.validate import vInteger
    17 
    17 
    18 from ..test_helpers.dbtestcase import DBTestCase
    18 from ..test_helpers.dbtestcase import DBTestCase
    19 
    19 from ..test_helpers.utils import DummyPool
    20 class DummyPool():
       
    21     def run(self, f,*a,**k):
       
    22         return f(*a,**k)
       
    23 
       
    24 from twisted.python import log
       
    25 
       
    26 class DummyObserver(object):
       
    27     def __init__(self):
       
    28         self.e=[]    
       
    29 
       
    30     def start(self):
       
    31         log.addObserver(self.emit)
       
    32 
       
    33     def stop(self):
       
    34         log.removeObserver(self.emit)
       
    35     
       
    36     def emit(self, eventDict):
       
    37         self.e.append(eventDict)
       
    38 
    20 
    39 class JobTestCase(DBTestCase):
    21 class JobTestCase(DBTestCase):
    40     def setUp(self):
    22     def setUp(self):
    41         DBTestCase.setUp(self)
    23         DBTestCase.setUp(self)
    42         self.pool = data.pool
    24         self.pool = data.pool
   112 
    94 
   113 
    95 
   114 class StatiTest(JobTestCase):
    96 class StatiTest(JobTestCase):
   115     def setUp(self):
    97     def setUp(self):
   116         JobTestCase.setUp(self)
    98         JobTestCase.setUp(self)
   117         self.log = DummyObserver()
       
   118         self.log.start()
       
   119 
    99 
   120         with self.session() as session:
   100         with self.session() as session:
   121             u = User(name='test',apikey='abcdef123456789')
   101             u = User(name='test',apikey='abcdef123456789')
   122             session.add(u)
   102             session.add(u)
   123             o=DBOffer(name="test", provider="bla", route="a", typ="sms")
   103             o=DBOffer(name="test", provider="bla", route="a", typ="sms")
   128         
   108         
   129         self.provider=Provider("bla", {"sms":["a","b","c"]})
   109         self.provider=Provider("bla", {"sms":["a","b","c"]})
   130         self.job = exJobs.create(u, [Telnumber('123456789')], SMS('test'), [])
   110         self.job = exJobs.create(u, [Telnumber('123456789')], SMS('test'), [])
   131 
   111 
   132     def tearDown(self):
   112     def tearDown(self):
   133         self.log.stop()
       
   134         JobTestCase.tearDown(self)
   113         JobTestCase.tearDown(self)
   135 
   114 
   136 
   115 
   137     def testSetError(self):
   116     def testSetError(self):
   138         self.job.setError(Task(Telnumber('123456789'),self),Exception("muhaha"))
   117         self.job.setError(Task(Telnumber('123456789'),self),Exception("muhaha"))