tests/db.py
branchdevel
changeset 203 b543ab9a9724
parent 202 3cc8cca036ab
child 205 02ae72e8bab9
--- a/tests/db.py	Thu Mar 01 19:58:02 2012 +0100
+++ b/tests/db.py	Thu Mar 01 20:07:51 2012 +0100
@@ -22,6 +22,46 @@
             u=session.merge(u)
             self.assertEqual(u.routes('sms').all(),[('sipgate_basic',),])
 
+    def testRoutesNoDefault(self):
+        '''test default routes'''
+        with self.session() as session:
+            u=User(name='test',apikey='abcdef123456789')
+            o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms")
+            u.rights.append(Userright(o)) 
+            session.add(u)
+        
+        with self.session() as session:
+            u=session.merge(u)
+            self.assertEqual(u.routes('sms',default=True).all(),[])
+
+    def testRoutesDefault(self):
+        '''test default routes'''
+        with self.session() as session:
+            u=User(name='test',apikey='abcdef123456789')
+            o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms")
+            u.rights.append(Userright(o,default=1)) 
+            session.add(u)
+
+        with self.session() as session:
+            u=session.merge(u)
+            self.assertEqual(u.routes('sms',default=True).all(),[('sipgate_basic',),])
+
+    def testRoutesDefaultOrdering(self):
+        '''test default routes ordering'''
+        with self.session() as session:
+            u=User(name='test',apikey='abcdef123456789')
+            o=Offer(name="s1", provider="sipgate", route="basic", typ="sms")
+            u.rights.append(Userright(o,default=3)) 
+            o=Offer(name="s2", provider="sipgate", route="basic", typ="sms")
+            u.rights.append(Userright(o,default=None)) 
+            o=Offer(name="s3", provider="sipgate", route="basic", typ="sms")
+            u.rights.append(Userright(o,default=1)) 
+            session.add(u)
+
+        with self.session() as session:
+            u=session.merge(u)
+            self.assertEqual(u.routes('sms',default=True).all(),[('s3',),('s1',)])
+
     def testProviders(self):
         '''test providers'''
         with self.session() as session: