[Checkins] SVN: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/ Make test work.

Jürgen Kartnaller juergen at kartnaller.at
Wed May 10 11:31:04 EDT 2006


Log message for revision 68076:
  Make test work.
  - close transaction in intid test
  - use redefine to be able to use the same table definitions in different tests
  

Changed:
  U   z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/TODO.txt
  U   z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/browser/configure.zcml
  U   z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/container.py
  U   z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/keyreference.txt
  U   z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/tests.py
  U   z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/tests/TRANSACTION.txt

-=-
Modified: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/TODO.txt
===================================================================
--- z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/TODO.txt	2006-05-10 15:25:37 UTC (rev 68075)
+++ z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/TODO.txt	2006-05-10 15:31:03 UTC (rev 68076)
@@ -1,6 +1,5 @@
 - update container implementation for SA 0.2
+- functional tests for container
 
-- container implementation is some kind of a quick hack
-
 - Adapter for sqlalchemy mapped object deletion
 

Modified: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/browser/configure.zcml
===================================================================
--- z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/browser/configure.zcml	2006-05-10 15:25:37 UTC (rev 68075)
+++ z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/browser/configure.zcml	2006-05-10 15:31:03 UTC (rev 68076)
@@ -4,7 +4,7 @@
            >
 
   <browser:addMenuItem
-      class="zalchemy.container.SQLAlchemyContainer"
+      class="z3c.zalchemy.container.SQLAlchemyContainer"
       title="SQLAlchemy Container"
       description="A persistent container for mapped SQLAlchemy instances"
       permission="zope.ManageContent"
@@ -14,14 +14,14 @@
   <browser:addform
       for="*"
       name="addSQLAlchemyContainer.html"
-      content_factory="zalchemy.container.SQLAlchemyContainer"
-      schema="zalchemy.interfaces.ISQLAlchemyContainer"
+      content_factory="z3c.zalchemy.container.SQLAlchemyContainer"
+      schema="z3c.zalchemy.interfaces.ISQLAlchemyContainer"
       set_before_add="className"
       permission="zope.ManageContent"
       />
 
   <browser:containerViews
-      for="zalchemy.interfaces.ISQLAlchemyContainer"
+      for="z3c.zalchemy.interfaces.ISQLAlchemyContainer"
       index="zope.View"
       contents="zope.View"
       add="zope.ManageContent"

Modified: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/container.py
===================================================================
--- z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/container.py	2006-05-10 15:25:37 UTC (rev 68075)
+++ z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/container.py	2006-05-10 15:31:03 UTC (rev 68076)
@@ -19,13 +19,14 @@
 from zope.app.container.contained import ContainedProxy
 from zope.app.container.contained import NameChooser
 from zope.app.container.interfaces import IContained
-from zope.app.location.interfaces import ILocation
-from zope.app.exception.interfaces import UserError
+from zope.location.interfaces import ILocation
+from zope.exceptions.interfaces import UserError
 
 from zope import interface
 from zope.configuration.name import resolve
 
 import sqlalchemy
+import z3c.zalchemy
 
 from interfaces import ISQLAlchemyContainer
 
@@ -83,7 +84,8 @@
 
     def chooseName(self, name, obj):
         # commit the object to make sure it contains an id
-        sqlalchemy.objectstore.commit(obj)
+        session = z3c.zalchemy.getSession()
+        session.flush(obj)
         return '%s.%i'%(obj.__class__.__name__, obj.id)
 
 
@@ -141,7 +143,9 @@
 
     def __len__(self):
         try:
-            return self._class.mapper.count()
+            session = z3c.zalchemy.getSession()
+            query = session.query(class_)
+            return query.count()
         except sqlalchemy.exceptions.SQLError:
             # we don't want an exception in case of database problems
             return 0
@@ -153,5 +157,6 @@
         obj.delete()
 
     def __setitem__(self, name, item):
-        sqlalchemy.objectstore.commit(item)
+        session = z3c.zalchemy.getSession()
+        session.flush(item)
 

Modified: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/keyreference.txt
===================================================================
--- z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/keyreference.txt	2006-05-10 15:25:37 UTC (rev 68075)
+++ z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/keyreference.txt	2006-05-10 15:31:03 UTC (rev 68076)
@@ -18,6 +18,7 @@
   ...     'aTable',z3c.zalchemy.metadata,
   ...     sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True),
   ...     sqlalchemy.Column('value', sqlalchemy.Integer),
+  ...     redefine=True,
   ...     )
 
 Add it to the engine utility (which is already created for this test)
@@ -78,3 +79,6 @@
   >>> ref3 = IKeyReference(a2)
   >>> ref3 == ref2 == ref1
   True
+
+  >>> transaction.get().commit()
+

Modified: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/tests.py
===================================================================
--- z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/tests.py	2006-05-10 15:25:37 UTC (rev 68075)
+++ z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/intid/tests.py	2006-05-10 15:31:03 UTC (rev 68076)
@@ -12,7 +12,7 @@
 def setUp(test):
     setup.placefulSetUp()
     test.tmpDir = tempfile.mkdtemp()
-    dbFile = os.path.join(test.tmpDir,'z3c.zalchemy.test.db')
+    dbFile = os.path.join(test.tmpDir,'z3c.zalchemy.test.intid.db')
     
     engineUtil = AlchemyEngineUtility(
         'database','sqlite:///%s' % dbFile)

Modified: z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/tests/TRANSACTION.txt
===================================================================
--- z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/tests/TRANSACTION.txt	2006-05-10 15:25:37 UTC (rev 68075)
+++ z3c.zalchemy/branches/jukart-SA-0.2/src/z3c/zalchemy/tests/TRANSACTION.txt	2006-05-10 15:31:03 UTC (rev 68076)
@@ -24,6 +24,7 @@
   ...     z3c.zalchemy.metadata,
   ...     sqlalchemy.Column('id', sqlalchemy.Integer, primary_key = True),
   ...     sqlalchemy.Column('value', sqlalchemy.Integer),
+  ...     redefine=True,
   ...     )
   >>> class A(object):
   ...   pass



More information about the Checkins mailing list