adding tests for vRoute with default and provider names devel
authorSandro Knauß <knauss@netzguerilla.net>
Fri, 02 Mar 2012 14:00:23 +0100
branchdevel
changeset 212 39e4c09e1b60
parent 211 3fc1f400c107
child 213 3620bacf1152
adding tests for vRoute with default and provider names
iro/model/decorators.py
tests/model_validate.py
--- a/iro/model/decorators.py	Fri Mar 02 13:59:56 2012 +0100
+++ b/iro/model/decorators.py	Fri Mar 02 14:00:23 2012 +0100
@@ -21,9 +21,10 @@
     elif not allowList:
         raise ValidateException(field=field,msg='%s must be a route - No list of routes.'%field)
 
-    routes =[o.name for o in Offer.routes(session,typ)]
+    routes = [o.name for o in Offer.routes(session,typ)]
+    providers =  [o.provider for o in Offer.providers(session,typ)]
     for v in value:
-        if v not in routes:
+        if v not in routes and v not in providers and v != "default":
             raise ValidateException(field=field,msg='Route %s is not valid.'%v)
         if v not in ret:
             ret.append(v)
--- a/tests/model_validate.py	Fri Mar 02 13:59:56 2012 +0100
+++ b/tests/model_validate.py	Fri Mar 02 14:00:23 2012 +0100
@@ -47,3 +47,11 @@
         e = self.assertRaises(ValidateException,vRoute, ["t"], "foo", typ="type", allowList=False)
         self.assertEqual(str(e),'700:foo must be a route - No list of routes.')
 
+    def testRouteProvider(self):
+        with self.session() as session:
+            session.add(Offer(name="t",provider="p",typ="type"))
+        self.assertEqual(vRoute("p",None,typ="type"),"p")
+
+    def testRouteDefault(self):
+        self.assertEqual(vRoute("default",None,typ="type"),"default")
+