tests/model_validate.py
author Sandro Knauß <knauss@netzguerilla.net>
Fri, 02 Mar 2012 03:01:46 +0100
branchdevel
changeset 207 90a81145852c
child 209 7a0f8fbdf7b8
permissions -rw-r--r--
tests for vRoute
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
207
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
from iro.model.schema import Offer
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     2
from iro.model.decorators import vRoute
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     3
from iro.model.pool import data
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     4
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     5
from iro.error import ValidateException
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
from .dbtestcase import DBTestCase
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     9
class DummyPool():
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    10
    def run(self, f,*a,**k):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    11
        return f(*a,**k)
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    12
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    13
class ModelVaidatorTest(DBTestCase):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    14
    """tests for the model vaidators"""
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    15
    def setUp(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    16
        DBTestCase.setUp(self)
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    17
        self.pool = data.pool
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    18
        data.pool = DummyPool()
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    19
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    20
    def tearDown(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    21
        data.pool = self.pool
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    22
        self.pool = None
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    23
        DBTestCase.tearDown(self)
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    24
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    25
    def testTyp(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    26
        pass
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    27
    testTyp.todo = "To implement"
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    28
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    29
    def testRoute(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    30
        with self.session() as session:
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    31
            session.add(Offer(name="t",provider="p",typ="type"))
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    32
        vR = vRoute('type')
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
        self.assertEqual(vR("t",None),"t")
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    34
        self.assertEqual(vR(["t","t"],None),["t"])
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    35
        e = self.assertRaises(ValidateException,vR, "s", None)
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    36
        self.assertEqual(str(e),'700:Route s is not valid.')
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    37
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    38
    def testRouteAllow(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    39
        with self.session() as session:
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    40
            session.add(Offer(name="t",provider="p",typ="type"))
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    41
        vR = vRoute('type')
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    42
        e = self.assertRaises(ValidateException,vR, "t", "foo", allowString=False)
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    43
        self.assertEqual(str(e),'700:foo must be a list of routes.')
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    44
        e = self.assertRaises(ValidateException,vR, ["t"], "foo", allowList=False)
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    45
        self.assertEqual(str(e),'700:foo must be a route - No list of routes.')
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    46