diff options
Diffstat (limited to 'test/orm/pickled.py')
-rw-r--r-- | test/orm/pickled.py | 38 |
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() |