[Checkins] SVN: z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py added test for declarative layer (not working so far)

Andreas Jung andreas at andreas-jung.com
Mon Jun 2 10:38:19 EDT 2008


Log message for revision 87101:
  added test for declarative layer (not working so far)
  

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:25:43 UTC (rev 87100)
+++ z3c.sqlalchemy/branches/declarative-integration/src/z3c/sqlalchemy/tests/testSQLAlchemy.py	2008-06-02 14:38:18 UTC (rev 87101)
@@ -196,6 +196,45 @@
         self.assertEqual(len(rows), 2)
 
 
+    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
+        Base = declarative_base(metadata = db.metadata)
+
+        class User(Base):
+            __tablename__ = 'users'
+
+            id = Column('id', Integer, primary_key=True)
+            name = Column('name', String(50))
+            addresses = relation("Address", backref="user")
+
+        class Address(Base):
+            __tablename__ = 'addresses'
+
+            id = Column('id', Integer, primary_key=True)
+            email = Column('email', String(50))
+            user_id = Column('user_id', Integer, ForeignKey('users.id'))
+
+        Base.metadata.create_all(db._engine)
+
+
+        session.save(User(id=1, name='Andreas Jung'))
+        session.save(User(id=2, name='Peter Becker'))
+        session.flush()
+
+        rows = session.query(User).all()
+        self.assertEqual(len(rows), 2)
+
+
+
+
+
 def test_suite():
     from unittest import TestSuite, makeSuite
     suite = TestSuite()



More information about the Checkins mailing list