diff options
author | zhulongcheng <zhulongcheng.me@gmail.com> | 2016-09-14 21:16:26 +0800 |
---|---|---|
committer | zhulongcheng <zhulongcheng.me@gmail.com> | 2016-09-14 21:16:26 +0800 |
commit | 535a1cfecdea91c63a3a1ebc43c16b37bfcca8f9 (patch) | |
tree | 4dcf2e800c98ec9849fd73890fd06ce52c4fa5c8 /test/orm/test_scoping.py | |
parent | c3d582d87b5bd404d380c5707f35b7a20c9828fc (diff) | |
download | sqlalchemy-pr/307.tar.gz |
fix scope_session.__call__pr/307
Diffstat (limited to 'test/orm/test_scoping.py')
-rw-r--r-- | test/orm/test_scoping.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/orm/test_scoping.py b/test/orm/test_scoping.py index 87557a162..33ba704cc 100644 --- a/test/orm/test_scoping.py +++ b/test/orm/test_scoping.py @@ -7,7 +7,7 @@ from sqlalchemy.testing.schema import Table, Column from sqlalchemy.orm import mapper, relationship, query from sqlalchemy.testing import eq_ from sqlalchemy.testing import fixtures - +from sqlalchemy.testing.mock import Mock class _ScopedTest(fixtures.MappedTest): @@ -90,5 +90,24 @@ class ScopedSessionTest(fixtures.MappedTest): Session.configure, bind=testing.db ) + def test_call_with_kwargs(self): + mock_scope_func = Mock() + SessionMaker = sa.orm.sessionmaker() + Session = scoped_session(sa.orm.sessionmaker(), mock_scope_func) + + s0 = SessionMaker() + assert s0.autocommit == False + mock_scope_func.return_value = 0 + s1 = Session() + assert s1.autocommit == False + + assert_raises_message( + sa.exc.InvalidRequestError, + "Scoped session is already present", + Session, autocommit=True + ) + mock_scope_func.return_value = 1 + s2 = Session(autocommit=True) + assert s2.autocommit == True |