summaryrefslogtreecommitdiff
path: root/test/ext/test_sqlsoup.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-01-21 20:41:52 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2010-01-21 20:41:52 +0000
commit196284c083fc26c5ea87229f9e956f6584d27cc5 (patch)
tree38bce6be3cb632ce77134f2e92ae4a29caedb9d9 /test/ext/test_sqlsoup.py
parentbf6c88fe2340bd1e7c9d4b5c897b1fa0938ae2e4 (diff)
downloadsqlalchemy-196284c083fc26c5ea87229f9e956f6584d27cc5.tar.gz
- ensure correct session usage + tests
Diffstat (limited to 'test/ext/test_sqlsoup.py')
-rw-r--r--test/ext/test_sqlsoup.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/ext/test_sqlsoup.py b/test/ext/test_sqlsoup.py
index 9904b982d..0593a8ac4 100644
--- a/test/ext/test_sqlsoup.py
+++ b/test/ext/test_sqlsoup.py
@@ -4,6 +4,7 @@ from sqlalchemy.ext import sqlsoup
from sqlalchemy.test.testing import TestBase, eq_, assert_raises
from sqlalchemy import create_engine, or_, desc, select, func, exc, Table,\
util
+from sqlalchemy.orm import scoped_session, sessionmaker
import datetime
class SQLSoupTest(TestBase):
@@ -214,7 +215,20 @@ class SQLSoupTest(TestBase):
db.users.relate('loans', db.loans,
order_by=db.loans.loan_date, cascade='all, delete-orphan')
-
+ def test_explicit_session(self):
+ Session = scoped_session(sessionmaker())
+ db = sqlsoup.SqlSoup(engine, session=Session)
+ try:
+ MappedUsers = db.users
+ sess = Session()
+ assert db.users._query.session is db.users.session is sess
+
+ row = db.users.insert(name='new name', email='new email')
+ assert row in sess
+ finally:
+ sess.rollback()
+ sess.close()
+
def test_selectable(self):
db = sqlsoup.SqlSoup(engine)
MappedBooks = db.books