18 u.rights.append(Userright(o)) |
18 u.rights.append(Userright(o)) |
19 session.add(u) |
19 session.add(u) |
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.assertEqual(u.routes('sms').all(),[('sipgate_basic',),]) |
24 |
24 |
25 def testProviders(self): |
25 def testProviders(self): |
26 '''test providers''' |
26 '''test providers''' |
27 with self.session() as session: |
27 with self.session() as session: |
28 u=User(name='test',apikey='abcdef123456789') |
28 u=User(name='test',apikey='abcdef123456789') |
30 u.rights.append(Userright(o)) |
30 u.rights.append(Userright(o)) |
31 session.add(u) |
31 session.add(u) |
32 |
32 |
33 with self.session() as session: |
33 with self.session() as session: |
34 u=session.merge(u) |
34 u=session.merge(u) |
35 self.failUnlessEqual(u.providers('sms').all(),[('sipgate',),]) |
35 self.assertEqual(u.providers('sms').all(),[('sipgate',),]) |
36 |
36 |
37 def testTyps(self): |
37 def testTyps(self): |
38 with self.session() as session: |
38 with self.session() as session: |
39 o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
39 o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
40 session.add(o) |
40 session.add(o) |
41 |
41 |
42 with self.session() as session: |
42 with self.session() as session: |
43 self.failUnlessEqual(session.typs.all(),[('sms',),]) |
43 self.assertEqual(session.typs.all(),[('sms',),]) |
44 |
44 |
45 with self.session() as session: |
45 with self.session() as session: |
46 o=Offer(name="s2", provider="sipgate", route="basic", typ="sms") |
46 o=Offer(name="s2", provider="sipgate", route="basic", typ="sms") |
47 o=Offer(name="s3", provider="sipgate", route="basic", typ="sms2") |
47 o=Offer(name="s3", provider="sipgate", route="basic", typ="sms2") |
48 session.add(o) |
48 session.add(o) |
49 |
49 |
50 with self.session() as session: |
50 with self.session() as session: |
51 self.failUnlessEqual(session.typs.order_by(Offer.typ).all(),[('sms',),('sms2',)]) |
51 self.assertEqual(session.typs.order_by(Offer.typ).all(),[('sms',),('sms2',)]) |
52 |
52 |
53 class Has_RightTests(DBTestCase): |
53 class Has_RightTests(DBTestCase): |
54 '''test User.has_right''' |
54 '''test User.has_right''' |
55 def testSimple(self): |
55 def testSimple(self): |
56 '''test a very simple case''' |
56 '''test a very simple case''' |
60 u.rights.append(Userright(o)) |
60 u.rights.append(Userright(o)) |
61 session.add(u) |
61 session.add(u) |
62 |
62 |
63 with self.session() as session: |
63 with self.session() as session: |
64 u=session.merge(u) |
64 u=session.merge(u) |
65 self.failUnlessEqual(u.has_right("sms"),"sipgate_basic") |
65 self.assertEqual(u.has_right("sms"),"sipgate_basic") |
66 self.failUnlessEqual(u.has_right("sms", offer_name="sipgate_basic"),"sipgate_basic") |
66 self.assertEqual(u.has_right("sms", offer_name="sipgate_basic"),"sipgate_basic") |
67 self.failUnlessEqual(u.has_right("sms", route="basic"),"sipgate_basic") |
67 self.assertEqual(u.has_right("sms", route="basic"),"sipgate_basic") |
68 self.failUnlessEqual(u.has_right("sms", provider="sipgate"),"sipgate_basic") |
68 self.assertEqual(u.has_right("sms", provider="sipgate"),"sipgate_basic") |
69 |
69 |
70 def testDouble(self): |
70 def testDouble(self): |
71 '''now we have different routes''' |
71 '''now we have different routes''' |
72 with self.session() as session: |
72 with self.session() as session: |
73 u=User(name='test',apikey='abcdef123456789') |
73 u=User(name='test',apikey='abcdef123456789') |
77 u.rights.append(Userright(o)) |
77 u.rights.append(Userright(o)) |
78 session.add(u) |
78 session.add(u) |
79 |
79 |
80 with self.session() as session: |
80 with self.session() as session: |
81 u=session.merge(u) |
81 u=session.merge(u) |
82 self.failUnlessEqual(u.has_right("sms", offer_name="b"),"b") |
82 self.assertEqual(u.has_right("sms", offer_name="b"),"b") |
83 self.failUnlessEqual(u.has_right("sms", route="basic"),"b") |
83 self.assertEqual(u.has_right("sms", route="basic"),"b") |
84 self.failUnlessEqual(u.has_right("sms", offer_name="c"),"c") |
84 self.assertEqual(u.has_right("sms", offer_name="c"),"c") |
85 self.failUnlessEqual(u.has_right("sms", route="c"),"c") |
85 self.assertEqual(u.has_right("sms", route="c"),"c") |
86 self.assertRaises(MultipleResultsFound, u.has_right,"sms") |
86 self.assertRaises(MultipleResultsFound, u.has_right,"sms") |
87 self.assertRaises(MultipleResultsFound, u.has_right,"sms", provider="sipgate") |
87 self.assertRaises(MultipleResultsFound, u.has_right,"sms", provider="sipgate") |
88 |
88 |
89 def testUnknown(self): |
89 def testUnknown(self): |
90 ''' a unknown typ''' |
90 ''' a unknown typ''' |
96 u.rights.append(Userright(o)) |
96 u.rights.append(Userright(o)) |
97 session.add(u) |
97 session.add(u) |
98 |
98 |
99 with self.session() as session: |
99 with self.session() as session: |
100 u=session.merge(u) |
100 u=session.merge(u) |
101 self.failUnlessEqual(u.has_right("fax", offer_name="b"), None) |
101 self.assertEqual(u.has_right("fax", offer_name="b"), None) |
102 self.failUnlessEqual(u.has_right("fax"), None) |
102 self.assertEqual(u.has_right("fax"), None) |
103 |
103 |
104 |
104 |
105 |
105 |
106 class BillTest(DBTestCase): |
106 class BillTest(DBTestCase): |
107 """test the bill function""" |
107 """test the bill function""" |
119 u.jobs.append(j) |
119 u.jobs.append(j) |
120 session.add(m) |
120 session.add(m) |
121 |
121 |
122 with self.session() as session: |
122 with self.session() as session: |
123 u=session.merge(u) |
123 u=session.merge(u) |
124 self.failUnlessEqual(u.rights[0].bill.all(),[(1L,Decimal('0.3000'),'i')]) |
124 self.assertEqual(u.rights[0].bill.all(),[(1L,Decimal('0.3000'),'i')]) |
125 |
125 |
126 def testBillAgreget(self): |
126 def testBillAgreget(self): |
127 apikey='abcdef123456789' |
127 apikey='abcdef123456789' |
128 with self.session() as session: |
128 with self.session() as session: |
129 u=User(name='test',apikey=apikey) |
129 u=User(name='test',apikey=apikey) |
135 u.rights.append(Userright(o)) |
135 u.rights.append(Userright(o)) |
136 u.jobs.append(j) |
136 u.jobs.append(j) |
137 |
137 |
138 with self.session() as session: |
138 with self.session() as session: |
139 u=session.merge(u) |
139 u=session.merge(u) |
140 self.failUnlessEqual(u.rights[0].bill.all(),[(2L,Decimal('0.7000'),'i')]) |
140 self.assertEqual(u.rights[0].bill.all(),[(2L,Decimal('0.7000'),'i')]) |
141 |
141 |
142 def testBillIsBilled(self): |
142 def testBillIsBilled(self): |
143 apikey='abcdef123456789' |
143 apikey='abcdef123456789' |
144 with self.session() as session: |
144 with self.session() as session: |
145 u=User(name='test',apikey=apikey) |
145 u=User(name='test',apikey=apikey) |
151 u.rights.append(Userright(o)) |
151 u.rights.append(Userright(o)) |
152 u.jobs.append(j) |
152 u.jobs.append(j) |
153 |
153 |
154 with self.session() as session: |
154 with self.session() as session: |
155 u=session.merge(u) |
155 u=session.merge(u) |
156 self.failUnlessEqual(u.rights[0].bill.all(),[(1L,Decimal('0.4000'),'i')]) |
156 self.assertEqual(u.rights[0].bill.all(),[(1L,Decimal('0.4000'),'i')]) |
157 |
157 |
158 def testBillMultipleJobs(self): |
158 def testBillMultipleJobs(self): |
159 apikey='abcdef123456789' |
159 apikey='abcdef123456789' |
160 with self.session() as session: |
160 with self.session() as session: |
161 u=User(name='test',apikey=apikey) |
161 u=User(name='test',apikey=apikey) |
171 j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.4, offer=o)) |
171 j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.4, offer=o)) |
172 u.jobs.append(j) |
172 u.jobs.append(j) |
173 |
173 |
174 with self.session() as session: |
174 with self.session() as session: |
175 u=session.merge(u) |
175 u=session.merge(u) |
176 self.failUnlessEqual(u.rights[0].bill.order_by(Job.info).all(), |
176 self.assertEqual(u.rights[0].bill.order_by(Job.info).all(), |
177 [(1L,Decimal('0.4000'),'a'), |
177 [(1L,Decimal('0.4000'),'a'), |
178 (1L,Decimal('0.4000'),'i') |
178 (1L,Decimal('0.4000'),'i') |
179 ]) |
179 ]) |
180 |
180 |
181 def testBillMultipleOffers(self): |
181 def testBillMultipleOffers(self): |
197 j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.5, offer=o)) |
197 j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.5, offer=o)) |
198 u.jobs.append(j) |
198 u.jobs.append(j) |
199 |
199 |
200 with self.session() as session: |
200 with self.session() as session: |
201 u=session.merge(u) |
201 u=session.merge(u) |
202 self.failUnlessEqual(u.rights[0].bill.all(), |
202 self.assertEqual(u.rights[0].bill.all(), |
203 [(1L,Decimal('0.4000'),'a')]) |
203 [(1L,Decimal('0.4000'),'a')]) |
204 |
204 |
205 self.failUnlessEqual(u.rights[1].bill.all(),[(1L,Decimal('0.5000'),'a')]) |
205 self.assertEqual(u.rights[1].bill.all(),[(1L,Decimal('0.5000'),'a')]) |
206 |
206 |
207 |
207 |
208 if __name__ == '__main__': |
208 if __name__ == '__main__': |
209 unittest.main() |
209 unittest.main() |