summaryrefslogtreecommitdiff
path: root/test/orm/pickled.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/orm/pickled.py')
-rw-r--r--test/orm/pickled.py38
1 files changed, 18 insertions, 20 deletions
diff --git a/test/orm/pickled.py b/test/orm/pickled.py
index a9a973cc0..84f5e5daf 100644
--- a/test/orm/pickled.py
+++ b/test/orm/pickled.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from sqlalchemy import exceptions
from sqlalchemy.orm import *
@@ -8,29 +8,29 @@ import pickle
class EmailUser(User):
pass
-
+
class PickleTest(FixtureTest):
keep_mappers = False
keep_data = False
-
+
def test_transient(self):
mapper(User, users, properties={
'addresses':relation(Address, backref="user")
})
mapper(Address, addresses)
-
+
sess = create_session()
u1 = User(name='ed')
u1.addresses.append(Address(email_address='ed@bar.com'))
-
+
u2 = pickle.loads(pickle.dumps(u1))
sess.save(u2)
sess.flush()
-
+
sess.clear()
-
+
self.assertEquals(u1, sess.query(User).get(u2.id))
-
+
def test_class_deferred_cols(self):
mapper(User, users, properties={
'name':deferred(users.c.name),
@@ -48,7 +48,7 @@ class PickleTest(FixtureTest):
u1 = sess.query(User).get(u1.id)
assert 'name' not in u1.__dict__
assert 'addresses' not in u1.__dict__
-
+
u2 = pickle.loads(pickle.dumps(u1))
sess2 = create_session()
sess2.update(u2)
@@ -60,24 +60,24 @@ class PickleTest(FixtureTest):
u2 = sess2.merge(u2, dont_load=True)
self.assertEquals(u2.name, 'ed')
self.assertEquals(u2, User(name='ed', addresses=[Address(email_address='ed@bar.com')]))
-
+
def test_instance_deferred_cols(self):
mapper(User, users, properties={
'addresses':relation(Address, backref="user")
})
mapper(Address, addresses)
-
+
sess = create_session()
u1 = User(name='ed')
u1.addresses.append(Address(email_address='ed@bar.com'))
sess.save(u1)
sess.flush()
sess.clear()
-
+
u1 = sess.query(User).options(defer('name'), defer('addresses.email_address')).get(u1.id)
assert 'name' not in u1.__dict__
assert 'addresses' not in u1.__dict__
-
+
u2 = pickle.loads(pickle.dumps(u1))
sess2 = create_session()
sess2.update(u2)
@@ -111,26 +111,24 @@ class PolymorphicDeferredTest(ORMTest):
Column('id', Integer, ForeignKey('users.id'), primary_key=True),
Column('email_address', String(30))
)
-
+
def test_polymorphic_deferred(self):
mapper(User, users, polymorphic_identity='user', polymorphic_on=users.c.type, polymorphic_fetch='deferred')
mapper(EmailUser, email_users, inherits=User, polymorphic_identity='emailuser')
-
+
eu = EmailUser(name="user1", email_address='foo@bar.com')
sess = create_session()
sess.save(eu)
sess.flush()
sess.clear()
-
+
eu = sess.query(User).first()
eu2 = pickle.loads(pickle.dumps(eu))
sess2 = create_session()
sess2.update(eu2)
assert 'email_address' not in eu2.__dict__
self.assertEquals(eu2.email_address, 'foo@bar.com')
-
-
-
+
if __name__ == '__main__':
- testbase.main() \ No newline at end of file
+ testenv.main()