iro/tests/model_validate.py
branchdevel
changeset 231 3929338fd17f
parent 212 39e4c09e1b60
child 241 546316b0b09c
equal deleted inserted replaced
230:448dd8d36839 231:3929338fd17f
       
     1 from iro.model.schema import Offer
       
     2 from iro.model.decorators import vRoute, vTyp
       
     3 from iro.model.pool import data
       
     4 
       
     5 from iro.error import ValidateException
       
     6 
       
     7 from ..test_helpers.dbtestcase import DBTestCase
       
     8 
       
     9 class DummyPool():
       
    10     def run(self, f,*a,**k):
       
    11         return f(*a,**k)
       
    12 
       
    13 class ModelVaidatorTest(DBTestCase):
       
    14     """tests for the model vaidators"""
       
    15     def setUp(self):
       
    16         DBTestCase.setUp(self)
       
    17         self.pool = data.pool
       
    18         data.pool = DummyPool()
       
    19 
       
    20     def tearDown(self):
       
    21         data.pool = self.pool
       
    22         self.pool = None
       
    23         DBTestCase.tearDown(self)
       
    24 
       
    25     def testTyp(self):
       
    26         with self.session() as session:
       
    27             session.add(Offer(name="t",provider="p",typ="type"))
       
    28 
       
    29         with self.session() as session:
       
    30             self.assertEqual(vTyp("type",None),"type")
       
    31             e = self.assertRaises(ValidateException,vTyp, "sss", None)
       
    32             self.assertEqual(str(e),'700: Typ sss is not valid.')
       
    33 
       
    34     def testRoute(self):
       
    35         with self.session() as session:
       
    36             session.add(Offer(name="t",provider="p",typ="type"))
       
    37         self.assertEqual(vRoute("t",None,typ="type"),"t")
       
    38         self.assertEqual(vRoute(["t","t"],None,typ="type"),["t"])
       
    39         e = self.assertRaises(ValidateException,vRoute, "s", None, typ="type")
       
    40         self.assertEqual(str(e),'700: Route s is not valid.')
       
    41 
       
    42     def testRouteAllow(self):
       
    43         with self.session() as session:
       
    44             session.add(Offer(name="t",provider="p",typ="type"))
       
    45         e = self.assertRaises(ValidateException,vRoute, "t", "foo", typ="type", allowString=False)
       
    46         self.assertEqual(str(e),'700: foo must be a list of routes.')
       
    47         e = self.assertRaises(ValidateException,vRoute, ["t"], "foo", typ="type", allowList=False)
       
    48         self.assertEqual(str(e),'700: foo must be a route - No list of routes.')
       
    49 
       
    50     def testRouteProvider(self):
       
    51         with self.session() as session:
       
    52             session.add(Offer(name="t",provider="p",typ="type"))
       
    53         self.assertEqual(vRoute("p",None,typ="type"),"p")
       
    54 
       
    55     def testRouteDefault(self):
       
    56         self.assertEqual(vRoute("default",None,typ="type"),"default")
       
    57