[Checkins]
SVN: z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
integrated with existing mapper magic
Andreas Jung
andreas at andreas-jung.com
Mon Jun 2 10:56:25 EDT 2008
Log message for revision 87107:
integrated with existing mapper magic
Changed:
U z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
-=-
Modified: z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
===================================================================
--- z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py 2008-06-02 14:56:15 UTC (rev 87106)
+++ z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py 2008-06-02 14:56:25 UTC (rev 87107)
@@ -17,7 +17,11 @@
import sqlalchemy
from sqlalchemy import MetaData, Integer, String, Column, Table
+from sqlalchemy.ext.declarative import declarative_base
+from sqlalchemy.orm import relation
+from sqlalchemy.schema import ForeignKey
+
from zope.interface.verify import verifyClass
from z3c.sqlalchemy.interfaces import ISQLAlchemyWrapper, IModel
@@ -198,10 +202,6 @@
def testDeclarative(self):
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import relation
- from sqlalchemy.schema import ForeignKey
-
db = createSAWrapper(self.dsn)
session = db.session
metadata = db.metadata
@@ -223,6 +223,33 @@
self.assertEqual(len(rows), 2)
+ def testDeclarativeWithModel(self):
+ def getModel(metadata):
+
+ model = Model()
+ Base = declarative_base(metadata=metadata)
+
+ class Foo(Base):
+ __tablename__ = 'foo'
+
+ id = Column('id', Integer, primary_key=True)
+ name = Column('name', String(50))
+
+ model.add('foo', mapper_class=Foo)
+ Base.metadata.create_all()
+ return model
+
+ db = createSAWrapper(self.dsn, model=getModel)
+ session = db.session
+ Foo = db.getMapper('foo')
+
+ session.save(Foo(id=1, name='Andreas Jung'))
+ session.save(Foo(id=2, name='Peter Becker'))
+ session.flush()
+
+ rows = session.query(Foo).all()
+ self.assertEqual(len(rows), 2)
+
def test_suite():
from unittest import TestSuite, makeSuite
suite = TestSuite()
More information about the Checkins
mailing list