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 | |
| parent | c3d582d87b5bd404d380c5707f35b7a20c9828fc (diff) | |
| download | sqlalchemy-pr/307.tar.gz | |
fix scope_session.__call__pr/307
Diffstat (limited to 'test')
| -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 |
