[Checkins]
SVN: z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/
added 'connection' property, more tests
Andreas Jung
andreas at andreas-jung.com
Fri May 9 10:03:38 EDT 2008
Log message for revision 86567:
added 'connection' property, more tests
Changed:
U z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/base.py
U z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
-=-
Modified: z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/base.py
===================================================================
--- z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/base.py 2008-05-09 13:14:44 UTC (rev 86566)
+++ z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/base.py 2008-05-09 14:03:37 UTC (rev 86567)
@@ -105,8 +105,15 @@
@property
def session(self):
+ """ Return thread-local session """
return self._sessionmaker()
+ @property
+ def connection(self):
+ """ Return underlying connection """
+ session = self.session
+ return session.connection().connection.connection
+
def registerMapper(self, mapper, name):
self._mappers.registerMapper(mapper, name)
Modified: z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
===================================================================
--- z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py 2008-05-09 13:14:44 UTC (rev 86566)
+++ z3c.sqlalchemy/branches/zope.sqlalchemy-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py 2008-05-09 14:03:37 UTC (rev 86567)
@@ -37,12 +37,12 @@
metadata = MetaData(bind=wrapper.engine)
users = Table('users', metadata,
- Column('id', Integer, primary_key=True),
+ Column('user_id', Integer, primary_key=True),
Column('firstname', String),
Column('lastname', String))
skill = Table('skills', metadata,
- Column('id', Integer, primary_key=True),
+ Column('user_id', Integer, primary_key=True),
Column('user_id', Integer),
Column('name', String))
@@ -165,11 +165,26 @@
session = db.session
session.save(User(id=1,firstname='foo', lastname='bar'))
+ try:
+ session.flush()
+ except:
+ import traceback; traceback.print_exc()
+ import pdb; pdb.set_trace()
+
user = session.query(User).filter_by(firstname='foo')[0]
Skill = user.getMapper('skills')
user.skills.append(Skill(id=1, name='Zope'))
session.flush()
+ def testCheckConnection(self):
+ """ Check access to low-level connection """
+ db = createSAWrapper(self.dsn)
+ conn = db.connection
+ cursor = conn.cursor()
+ cursor.execute('select * from users')
+ rows = cursor.fetchall()
+ self.assertEqual(len(rows), 0)
+
def test_suite():
from unittest import TestSuite, makeSuite
suite = TestSuite()
More information about the Checkins
mailing list