diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-02-12 16:02:23 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-02-12 16:02:23 +0000 |
| commit | 2d6b3f09eb642915bf4618e78815e701dcabf592 (patch) | |
| tree | 220c27203ddec07078eb44ff530a0b2d1b2833b5 | |
| parent | 1d3185139a923fa1a1998d4498748d8f49278ac0 (diff) | |
| download | sqlalchemy-2d6b3f09eb642915bf4618e78815e701dcabf592.tar.gz | |
move test by itself so that no fixture data is inserted
| -rw-r--r-- | test/orm/expire.py | 87 |
1 files changed, 45 insertions, 42 deletions
diff --git a/test/orm/expire.py b/test/orm/expire.py index 56384f3c2..c11fb69df 100644 --- a/test/orm/expire.py +++ b/test/orm/expire.py @@ -294,45 +294,6 @@ class ExpireTest(_fixtures.FixtureTest): assert u.addresses[0].email_address == 'ed@wood.com' @testing.resolve_artifact_names - def test_expired_pending(self): - mapper(User, users, properties={ - 'addresses':relation(Address, backref='user'), - }) - mapper(Address, addresses) - - sess = create_session() - a1 = Address(email_address='a1') - sess.add(a1) - sess.flush() - - u1 = User(name='u1') - a1.user = u1 - sess.flush() - - # expire 'addresses'. backrefs - # which attach to u1 will expect to be "pending" - sess.expire(u1, ['addresses']) - - # attach an Address. now its "pending" - # in user.addresses - a2 = Address(email_address='a2') - a2.user = u1 - - # expire u1.addresses again. this expires - # "pending" as well. - sess.expire(u1, ['addresses']) - - # insert a new row - sess.execute(addresses.insert(), dict(email_address='a3', user_id=u1.id)) - - # only two addresses pulled from the DB, no "pending" - assert len(u1.addresses) == 2 - - sess.flush() - sess.expire_all() - assert len(u1.addresses) == 3 - - @testing.resolve_artifact_names def test_expired_lazy(self): mapper(User, users, properties={ 'addresses':relation(Address, backref='user'), @@ -786,6 +747,51 @@ class PolymorphicExpireTest(_base.MappedTest): self.assert_sql_count(testing.db, go, 2) self.assertEquals(Engineer.name.get_history(e1), (['new engineer name'],(), ['engineer1'])) +class ExpiredPendingTest(_fixtures.FixtureTest): + run_define_tables = 'once' + run_setup_classes = 'once' + run_setup_mappers = None + run_inserts = None + + @testing.resolve_artifact_names + def test_expired_pending(self): + mapper(User, users, properties={ + 'addresses':relation(Address, backref='user'), + }) + mapper(Address, addresses) + + sess = create_session() + a1 = Address(email_address='a1') + sess.add(a1) + sess.flush() + + u1 = User(name='u1') + a1.user = u1 + sess.flush() + + # expire 'addresses'. backrefs + # which attach to u1 will expect to be "pending" + sess.expire(u1, ['addresses']) + + # attach an Address. now its "pending" + # in user.addresses + a2 = Address(email_address='a2') + a2.user = u1 + + # expire u1.addresses again. this expires + # "pending" as well. + sess.expire(u1, ['addresses']) + + # insert a new row + sess.execute(addresses.insert(), dict(email_address='a3', user_id=u1.id)) + + # only two addresses pulled from the DB, no "pending" + assert len(u1.addresses) == 2 + + sess.flush() + sess.expire_all() + assert len(u1.addresses) == 3 + class RefreshTest(_fixtures.FixtureTest): @@ -822,9 +828,6 @@ class RefreshTest(_fixtures.FixtureTest): s.expire(u) # get the attribute, it refreshes - print "OK------" -# print u.__dict__ -# print u._state.callables assert u.name == 'jack' assert id(a) not in [id(x) for x in u.addresses] |
