From eca46858972b6c3d874ae8ca3fc3098ca7572a07 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 13 Aug 2007 20:48:46 +0000 Subject: [PATCH] added scoped session test independent of Session.mapper test --- test/orm/session.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/test/orm/session.py b/test/orm/session.py index d0b299b630..4720593b6e 100644 --- a/test/orm/session.py +++ b/test/orm/session.py @@ -4,6 +4,7 @@ from sqlalchemy.orm import * from testlib import * from testlib.tables import * import testlib.tables as tables +import fixtures class SessionTest(AssertMixin): def setUpAll(self): @@ -438,8 +439,40 @@ class SessionTest(AssertMixin): self._assert_key(key, (User, (1,), None)) key = s.identity_key(User, row=row, entity_name="en") self._assert_key(key, (User, (1,), "en")) + +class ScopedSessionTest(ORMTest): + + def define_tables(self, metadata): + global table, table2 + table = Table('sometable', metadata, + Column('id', Integer, primary_key=True), + Column('data', String(30))) + table2 = Table('someothertable', metadata, + Column('id', Integer, primary_key=True), + Column('someid', None, ForeignKey('sometable.id')) + ) + + def test_basic(self): + Session = scoped_session(sessionmaker()) + + class SomeObject(fixtures.Base):pass + class SomeOtherObject(fixtures.Base):pass + + mapper(SomeObject, table, properties={ + 'options':relation(SomeOtherObject) + }) + mapper(SomeOtherObject, table2) + + s = SomeObject(id=1, data="hello") + sso = SomeOtherObject() + s.options.append(sso) + Session.save(s) + Session.commit() + Session.clear() + + assert SomeObject(id=1, data="hello", options=[SomeOtherObject(someid=1)]) == Session.query(SomeObject).one() -class ScopedSessionTest(PersistTest): +class ScopedMapperTest(PersistTest): def setUpAll(self): global metadata, table, table2 metadata = MetaData(testbase.db) -- 2.47.3