iro/tests/model_validate.py
author Sandro Knauß <knauss@netzguerilla.net>
Wed, 21 Mar 2012 19:43:36 +0100
branchdevel
changeset 240 3406d3bf05d4
parent 231 3929338fd17f
child 241 546316b0b09c
permissions -rw-r--r--
removing old files
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
209
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
     2
from iro.model.decorators import vRoute, vTyp
207
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
231
3929338fd17f moving tests -> iro.tests
Sandro Knauß <knauss@netzguerilla.net>
parents: 212
diff changeset
     7
from ..test_helpers.dbtestcase import DBTestCase
207
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):
209
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
    26
        with self.session() as session:
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
    27
            session.add(Offer(name="t",provider="p",typ="type"))
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
    28
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
    29
        with self.session() as session:
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
    30
            self.assertEqual(vTyp("type",None),"type")
7a0f8fbdf7b8 adding tests for vTyp
Sandro Knauß <knauss@netzguerilla.net>
parents: 207
diff changeset
    31
            e = self.assertRaises(ValidateException,vTyp, "sss", None)
231
3929338fd17f moving tests -> iro.tests
Sandro Knauß <knauss@netzguerilla.net>
parents: 212
diff changeset
    32
            self.assertEqual(str(e),'700: Typ sss is not valid.')
207
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    34
    def testRoute(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    35
        with self.session() as session:
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    36
            session.add(Offer(name="t",provider="p",typ="type"))
210
3763babd5e10 refactoring vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents: 209
diff changeset
    37
        self.assertEqual(vRoute("t",None,typ="type"),"t")
3763babd5e10 refactoring vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents: 209
diff changeset
    38
        self.assertEqual(vRoute(["t","t"],None,typ="type"),["t"])
3763babd5e10 refactoring vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents: 209
diff changeset
    39
        e = self.assertRaises(ValidateException,vRoute, "s", None, typ="type")
231
3929338fd17f moving tests -> iro.tests
Sandro Knauß <knauss@netzguerilla.net>
parents: 212
diff changeset
    40
        self.assertEqual(str(e),'700: Route s is not valid.')
207
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    41
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    42
    def testRouteAllow(self):
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    43
        with self.session() as session:
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    44
            session.add(Offer(name="t",provider="p",typ="type"))
210
3763babd5e10 refactoring vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents: 209
diff changeset
    45
        e = self.assertRaises(ValidateException,vRoute, "t", "foo", typ="type", allowString=False)
231
3929338fd17f moving tests -> iro.tests
Sandro Knauß <knauss@netzguerilla.net>
parents: 212
diff changeset
    46
        self.assertEqual(str(e),'700: foo must be a list of routes.')
210
3763babd5e10 refactoring vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents: 209
diff changeset
    47
        e = self.assertRaises(ValidateException,vRoute, ["t"], "foo", typ="type", allowList=False)
231
3929338fd17f moving tests -> iro.tests
Sandro Knauß <knauss@netzguerilla.net>
parents: 212
diff changeset
    48
        self.assertEqual(str(e),'700: foo must be a route - No list of routes.')
207
90a81145852c tests for vRoute
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    49
212
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    50
    def testRouteProvider(self):
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    51
        with self.session() as session:
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    52
            session.add(Offer(name="t",provider="p",typ="type"))
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    53
        self.assertEqual(vRoute("p",None,typ="type"),"p")
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    54
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    55
    def testRouteDefault(self):
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    56
        self.assertEqual(vRoute("default",None,typ="type"),"default")
39e4c09e1b60 adding tests for vRoute with default and provider names
Sandro Knauß <knauss@netzguerilla.net>
parents: 210
diff changeset
    57