summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-06-27 21:48:53 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-06-27 21:48:53 +0000
commit00844ac4df6bbfd852c30a24ef66710a17b9ffc2 (patch)
tree691fe98cead218e3e383e67145d2915bb5c05c34 /test
parent662bd40300e1f55a60cb5055293e96f7a50a78ea (diff)
downloadsqlalchemy-00844ac4df6bbfd852c30a24ef66710a17b9ffc2.tar.gz
lazy load bind params properly propigate column type [ticket:225]
Diffstat (limited to 'test')
-rw-r--r--test/orm/objectstore.py41
1 files changed, 33 insertions, 8 deletions
diff --git a/test/orm/objectstore.py b/test/orm/objectstore.py
index e897d84a8..18c64e936 100644
--- a/test/orm/objectstore.py
+++ b/test/orm/objectstore.py
@@ -178,15 +178,22 @@ class VersioningTest(SessionTest):
class UnicodeTest(SessionTest):
def setUpAll(self):
SessionTest.setUpAll(self)
- global uni_table
- uni_table = Table('uni_test', db,
+ global metadata, uni_table, uni_table2
+ metadata = BoundMetaData(testbase.db)
+ uni_table = Table('uni_test', metadata,
Column('id', Integer, primary_key=True),
- Column('txt', Unicode(50))).create()
-
+ Column('txt', Unicode(50), unique=True))
+ uni_table2 = Table('uni2', metadata,
+ Column('id', Integer, primary_key=True),
+ Column('txt', Unicode(50), ForeignKey(uni_table.c.txt)))
+ metadata.create_all()
def tearDownAll(self):
- uni_table.drop()
+ metadata.drop_all()
SessionTest.tearDownAll(self)
-
+ def tearDown(self):
+ clear_mappers()
+ for t in metadata.table_iterator(reverse=True):
+ t.delete().execute()
def testbasic(self):
class Test(object):
def __init__(self, id, txt):
@@ -199,8 +206,26 @@ class UnicodeTest(SessionTest):
self.assert_(t1.txt == txt)
ctx.current.flush()
self.assert_(t1.txt == txt)
-
-
+ def testrelation(self):
+ class Test(object):
+ def __init__(self, txt):
+ self.txt = txt
+ class Test2(object):pass
+
+ mapper(Test, uni_table, properties={
+ 't2s':relation(Test2)
+ })
+ mapper(Test2, uni_table2)
+
+ txt = u"\u0160\u0110\u0106\u010c\u017d"
+ t1 = Test(txt=txt)
+ t1.t2s.append(Test2())
+ t1.t2s.append(Test2())
+ ctx.current.flush()
+ ctx.current.clear()
+ t1 = ctx.current.query(Test).get_by(id=t1.id)
+ assert len(t1.t2s) == 2
+
class PKTest(SessionTest):
def setUpAll(self):
SessionTest.setUpAll(self)