[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