forked from sqlobject/sqlobject
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_reparent_sqlmeta.py
More file actions
33 lines (23 loc) · 905 Bytes
/
Copy pathtest_reparent_sqlmeta.py
File metadata and controls
33 lines (23 loc) · 905 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from sqlobject import SQLObject, StringCol, sqlmeta
from sqlobject.tests.dbtest import setupClass
real_sqlmeta = sqlmeta
class Reparented1(SQLObject):
class sqlmeta:
table = 'reparented1'
dummy = StringCol()
class Reparented2(SQLObject):
class sqlmeta(object):
@classmethod
def setClass(cls, soClass):
# Well, it's pretty hard to call the superclass method
# when it's a classmethod and it's not actually your
# *current* superclass. Sigh
real_sqlmeta.setClass.__func__(cls, soClass)
cls.worked = True
dummy = StringCol()
def test_reparented():
setupClass([Reparented1, Reparented2])
assert Reparented1.sqlmeta.table == 'reparented1'
assert issubclass(Reparented1.sqlmeta, real_sqlmeta)
assert issubclass(Reparented2.sqlmeta, real_sqlmeta)
assert Reparented2.sqlmeta.worked