[Erp5-report] r16809 - in /erp5/trunk/products: ERP5Catalog/tests/ ZSQLCatalog/
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Oct 3 17:54:48 CEST 2007
Author: jerome
Date: Wed Oct 3 17:54:47 2007
New Revision: 16809
URL: http://svn.erp5.org?rev=16809&view=rev
Log:
Conceptually, __getitem__ must raise a KeyError when not found.
This is required for portal_catalog.getObject to work properly. Without this
patch, context.portal_catalog.getObject(uid) returns 'context' if 'uid' is not
in the catalog.
( This is the reason for functional tests failures on listbox validation )
Modified:
erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
Modified: erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py?rev=16809&r1=16808&r2=16809&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py (original)
+++ erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py Wed Oct 3 17:54:47 2007
@@ -501,7 +501,26 @@
# portal_catalog.getObject raises a ValueError if UID parameter is a string
portal_catalog = self.getCatalogTool()
self.assertRaises(ValueError, portal_catalog.getObject, "StringUID")
+
+ obj = self._makeOrganisation()
+ # otherwise it returns the object
+ self.assertEquals(obj, portal_catalog.getObject(obj.getUid()).getObject())
+ # but raises KeyError if object is not in catalog
+ self.assertRaises(KeyError, portal_catalog.getObject, sys.maxint)
+ def test_getitem(self):
+ portal_catalog = self.getCatalogTool()
+ obj = self._makeOrganisation()
+ self.assertEquals(obj,
+ portal_catalog.getSQLCatalog()[obj.getUid()].getObject())
+
+ def test_path(self):
+ portal_catalog = self.getCatalogTool()
+ obj = self._makeOrganisation()
+ self.assertEquals(obj.getPath(), portal_catalog.getpath(obj.getUid()))
+ self.assertRaises(KeyError, portal_catalog.getpath, sys.maxint)
+
+
def test_16_newUid(self, quiet=quiet, run=run_all_test):
if not run: return
if not quiet:
Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=16809&r1=16808&r2=16809&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py Wed Oct 3 17:54:47 2007
@@ -1073,8 +1073,7 @@
search_result = method(uid = uid)
if len(search_result) > 0:
return search_result[0]
- else:
- return None
+ raise KeyError, uid
def editSchema(self, names_list):
"""
More information about the Erp5-report
mailing list