20 |
20 |
21 with self.session() as session: |
21 with self.session() as session: |
22 u=session.merge(u) |
22 u=session.merge(u) |
23 self.failUnlessEqual(u.routes('sms').all(),[('sipgate_basic',),]) |
23 self.failUnlessEqual(u.routes('sms').all(),[('sipgate_basic',),]) |
24 |
24 |
|
25 def testProviders(self): |
|
26 '''test providers''' |
|
27 with self.session() as session: |
|
28 u=User(name='test',apikey='abcdef123456789') |
|
29 o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
|
30 u.rights.append(Userright(o)) |
|
31 session.add(u) |
|
32 |
|
33 with self.session() as session: |
|
34 u=session.merge(u) |
|
35 self.failUnlessEqual(u.providers('sms').all(),[('sipgate',),]) |
25 |
36 |
26 def testTyps(self): |
37 def testTyps(self): |
27 with self.session() as session: |
38 with self.session() as session: |
28 o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
39 o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
29 session.add(o) |
40 session.add(o) |
36 o=Offer(name="s3", provider="sipgate", route="basic", typ="sms2") |
47 o=Offer(name="s3", provider="sipgate", route="basic", typ="sms2") |
37 session.add(o) |
48 session.add(o) |
38 |
49 |
39 with self.session() as session: |
50 with self.session() as session: |
40 self.failUnlessEqual(session.typs.order_by(Offer.typ).all(),[('sms',),('sms2',)]) |
51 self.failUnlessEqual(session.typs.order_by(Offer.typ).all(),[('sms',),('sms2',)]) |
|
52 |
|
53 class Has_RightTests(DBTestCase): |
|
54 '''test User.has_right''' |
|
55 def testSimple(self): |
|
56 '''test a very simple case''' |
|
57 with self.session() as session: |
|
58 u=User(name='test',apikey='abcdef123456789') |
|
59 o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
|
60 u.rights.append(Userright(o)) |
|
61 session.add(u) |
|
62 |
|
63 with self.session() as session: |
|
64 u=session.merge(u) |
|
65 self.failUnlessEqual(u.has_right("sms"),"sipgate_basic") |
|
66 self.failUnlessEqual(u.has_right("sms", offer_name="sipgate_basic"),"sipgate_basic") |
|
67 self.failUnlessEqual(u.has_right("sms", route="basic"),"sipgate_basic") |
|
68 self.failUnlessEqual(u.has_right("sms", provider="sipgate"),"sipgate_basic") |
|
69 |
|
70 def testDouble(self): |
|
71 '''now we have different routes''' |
|
72 with self.session() as session: |
|
73 u=User(name='test',apikey='abcdef123456789') |
|
74 o=Offer(name="b", provider="sipgate", route="basic", typ="sms") |
|
75 u.rights.append(Userright(o)) |
|
76 o=Offer(name="c", provider="sipgate", route="c", typ="sms") |
|
77 u.rights.append(Userright(o)) |
|
78 session.add(u) |
|
79 |
|
80 with self.session() as session: |
|
81 u=session.merge(u) |
|
82 self.failUnlessEqual(u.has_right("sms", offer_name="b"),"b") |
|
83 self.failUnlessEqual(u.has_right("sms", route="basic"),"b") |
|
84 self.failUnlessEqual(u.has_right("sms", offer_name="c"),"c") |
|
85 self.failUnlessEqual(u.has_right("sms", route="c"),"c") |
|
86 self.assertRaises(MultipleResultsFound, u.has_right,"sms") |
|
87 self.assertRaises(MultipleResultsFound, u.has_right,"sms", provider="sipgate") |
|
88 |
|
89 def testUnknown(self): |
|
90 ''' a unknown typ''' |
|
91 with self.session() as session: |
|
92 u=User(name='test',apikey='abcdef123456789') |
|
93 o=Offer(name="b", provider="sipgate", route="basic", typ="sms") |
|
94 u.rights.append(Userright(o)) |
|
95 o=Offer(name="c", provider="sipgate", route="c", typ="sms") |
|
96 u.rights.append(Userright(o)) |
|
97 session.add(u) |
|
98 |
|
99 with self.session() as session: |
|
100 u=session.merge(u) |
|
101 self.failUnlessEqual(u.has_right("fax", offer_name="b"), None) |
|
102 self.failUnlessEqual(u.has_right("fax"), None) |
|
103 |
41 |
104 |
42 |
105 |
43 class BillTest(DBTestCase): |
106 class BillTest(DBTestCase): |
44 """test the bill function""" |
107 """test the bill function""" |
45 |
108 |