| author | Sandro Knauß <knauss@netzguerilla.net> |
| Mon, 30 Jan 2012 23:28:14 +0100 | |
| branch | devel |
| changeset 131 | c51c3e8c3ec0 |
| child 134 | fae3fdfece65 |
| permissions | -rw-r--r-- |
|
131
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
1 |
import unittest |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
2 |
from sqlalchemy import create_engine, pool |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
3 |
from tempfile import mkdtemp |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
4 |
import shutil |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
5 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
6 |
from datetime import datetime |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
7 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
8 |
from iro.model import POOL_SIZE as DB_POOL_SIZE |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
9 |
from iro.model.schema import User, Base, Offer, Userright, Job, Message |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
10 |
from decimal import Decimal |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
11 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
12 |
from ngdatabase.mysql import Server, createConfig, Database |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
13 |
from .dbtestcase import DBTestCase |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
14 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
15 |
class SampleDatabase(Database): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
16 |
def createPassword(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
17 |
self.password="test" |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
18 |
return self.password |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
19 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
20 |
class ModuleData: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
21 |
def __init__(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
22 |
self.tdir = mkdtemp(prefix='iro-mysql-') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
23 |
self.server = Server('%s/my.cnf'%self.tdir) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
24 |
self.db = SampleDatabase("test","test",'%s/my.cnf'%self.tdir) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
25 |
self.engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%self.tdir, |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
26 |
poolclass = pool.SingletonThreadPool, pool_size=DB_POOL_SIZE, )#echo=True) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
27 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
28 |
def setUp(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
29 |
with open('%s/my.cnf'%self.tdir,'w') as cnf: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
30 |
cnf.write(createConfig(self.tdir)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
31 |
self.server.create() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
32 |
self.server.start() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
33 |
self.db.create() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
34 |
Base.metadata.create_all(self.engine) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
35 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
36 |
def tearDown(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
37 |
self.server.stop() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
38 |
shutil.rmtree(self.tdir) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
39 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
40 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
41 |
md=ModuleData() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
42 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
43 |
def setUpModule(): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
44 |
md.setUp() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
45 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
46 |
def tearDownModule(): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
47 |
md.tearDown() |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
48 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
49 |
class DBTests(DBTestCase): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
50 |
"""tests for the db model""" |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
51 |
def setUp(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
52 |
if not self.engine: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
53 |
self.engine = md.engine |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
54 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
55 |
def testRoutes(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
56 |
'''test routes''' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
57 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
58 |
u=User(name='test',apikey='abcdef123456789') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
59 |
o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
60 |
u.rights.append(Userright(o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
61 |
session.add(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
62 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
63 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
64 |
u=session.merge(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
65 |
self.failUnlessEqual(u.routes('sms').all(),[('sipgate_basic',),]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
66 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
67 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
68 |
def testTyps(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
69 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
70 |
o=Offer(name="sipgate_basic", provider="sipgate", route="basic", typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
71 |
session.add(o) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
72 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
73 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
74 |
self.failUnlessEqual(session.typs.all(),[('sms',),]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
75 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
76 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
77 |
o=Offer(name="s2", provider="sipgate", route="basic", typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
78 |
o=Offer(name="s3", provider="sipgate", route="basic", typ="sms2") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
79 |
session.add(o) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
80 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
81 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
82 |
self.failUnlessEqual(session.typs.order_by(Offer.typ).all(),[('sms',),('sms2',)]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
83 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
84 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
85 |
class BillTest(DBTestCase): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
86 |
"""test the bill function""" |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
87 |
def setUp(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
88 |
if not self.engine: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
89 |
self.engine = md.engine |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
90 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
91 |
def testBill(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
92 |
'''test bill function''' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
93 |
apikey='abcdef123456789' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
94 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
95 |
u=User(name='test',apikey=apikey) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
96 |
session.add(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
97 |
o = Offer(name='sipgate_basic',provider="sipgate",route="basic",typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
98 |
j = Job(hash='a1',info='i',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
99 |
m = Message(recipient='0123456789', isBilled=False, date=datetime.now() , price=0.30, offer=o, job=j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
100 |
u.rights.append(Userright(o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
101 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
102 |
session.add(m) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
103 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
104 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
105 |
u=session.merge(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
106 |
self.failUnlessEqual(u.rights[0].bill.all(),[(1L,Decimal('0.3000'),'i')]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
107 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
108 |
def testBillAgreget(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
109 |
apikey='abcdef123456789' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
110 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
111 |
u=User(name='test',apikey=apikey) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
112 |
session.add(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
113 |
o = Offer(name='sipgate_basic',provider="sipgate",route="basic",typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
114 |
j = Job(hash='a1',info='i',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
115 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now() , price=0.30, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
116 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now() , price=0.4, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
117 |
u.rights.append(Userright(o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
118 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
119 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
120 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
121 |
u=session.merge(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
122 |
self.failUnlessEqual(u.rights[0].bill.all(),[(2L,Decimal('0.7000'),'i')]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
123 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
124 |
def testBillIsBilled(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
125 |
apikey='abcdef123456789' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
126 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
127 |
u=User(name='test',apikey=apikey) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
128 |
session.add(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
129 |
o = Offer(name='sipgate_basic',provider="sipgate",route="basic",typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
130 |
j = Job(hash='a1',info='i',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
131 |
j.messages.append(Message(recipient='0123456789', isBilled=True, date=datetime.now() , price=0.30, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
132 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now() , price=0.4, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
133 |
u.rights.append(Userright(o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
134 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
135 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
136 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
137 |
u=session.merge(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
138 |
self.failUnlessEqual(u.rights[0].bill.all(),[(1L,Decimal('0.4000'),'i')]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
139 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
140 |
def testBillMultipleJobs(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
141 |
apikey='abcdef123456789' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
142 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
143 |
u=User(name='test',apikey=apikey) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
144 |
session.add(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
145 |
o = Offer(name='sipgate_basic',provider="sipgate",route="basic",typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
146 |
u.rights.append(Userright(o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
147 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
148 |
j = Job(hash='a1',info='i',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
149 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now() , price=0.4, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
150 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
151 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
152 |
j = Job(hash='a2',info='a',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
153 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.4, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
154 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
155 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
156 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
157 |
u=session.merge(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
158 |
self.failUnlessEqual(u.rights[0].bill.order_by(Job.info).all(), |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
159 |
[(1L,Decimal('0.4000'),'a'), |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
160 |
(1L,Decimal('0.4000'),'i') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
161 |
]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
162 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
163 |
def testBillMultipleOffers(self): |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
164 |
apikey='abcdef123456789' |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
165 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
166 |
u=User(name='test',apikey=apikey) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
167 |
session.add(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
168 |
o = Offer(name='sipgate_basic',provider="sipgate",route="basic",typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
169 |
u.rights.append(Userright(o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
170 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
171 |
j = Job(hash='a2',info='a',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
172 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.4, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
173 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
174 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
175 |
o = Offer(name='sipgate_gold',provider="sipgate",route="gold",typ="sms") |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
176 |
u.rights.append(Userright(offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
177 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
178 |
j = Job(hash='a3',info='a',status='sended') |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
179 |
j.messages.append(Message(recipient='0123456789', isBilled=False, date=datetime.now(), price=0.5, offer=o)) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
180 |
u.jobs.append(j) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
181 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
182 |
with self.session() as session: |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
183 |
u=session.merge(u) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
184 |
self.failUnlessEqual(u.rights[0].bill.all(), |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
185 |
[(1L,Decimal('0.4000'),'a')]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
186 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
187 |
self.failUnlessEqual(u.rights[1].bill.all(),[(1L,Decimal('0.5000'),'a')]) |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
188 |
|
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
189 |
if __name__ == '__main__': |
|
c51c3e8c3ec0
schema tests without xmlrpc interface
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
190 |
unittest.main() |