[Erp5-report] r17105 - /erp5/trunk/products/ZSQLCatalog/tests/testZSQLCatalog.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Oct 22 19:44:36 CEST 2007
Author: jerome
Date: Mon Oct 22 19:44:35 2007
New Revision: 17105
URL: http://svn.erp5.org?rev=17105&view=rev
Log:
initial low level unit tests for ZSQLCatalog
Added:
erp5/trunk/products/ZSQLCatalog/tests/testZSQLCatalog.py
Added: erp5/trunk/products/ZSQLCatalog/tests/testZSQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/tests/testZSQLCatalog.py?rev=17105&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/tests/testZSQLCatalog.py (added)
+++ erp5/trunk/products/ZSQLCatalog/tests/testZSQLCatalog.py Mon Oct 22 19:44:35 2007
@@ -1,0 +1,104 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SA and Contributors. All Rights Reserved.
+# Jerome Perrin <jerome at nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+import unittest
+import sys
+
+from Products.ZSQLMethods.SQL import SQL as ZSQLMethod
+from Products.CMFCore.Expression import Expression
+
+from Products.ZSQLCatalog.SQLCatalog import Catalog as SQLCatalog
+from Products.ZSQLCatalog.ZSQLCatalog import ZCatalog as ZSQLCatalog
+#from Products.ZSQLCatalog.SQLCatalog import Query
+
+try:
+ from transaction import get as get_transaction
+except ImportError:
+ pass
+
+class TestZSQLCatalog(unittest.TestCase):
+ """Tests for ZSQL Catalog.
+ """
+ def setUp(self):
+ self._catalog = ZSQLCatalog()
+
+
+class TestSQLCatalog(unittest.TestCase):
+ """Tests for SQL Catalog.
+ """
+ def setUp(self):
+ self._catalog = SQLCatalog('dummy_catalog')
+ self._catalog._setObject('z_dummy_method',
+ ZSQLMethod('z_dummy_method', '', '', '', ''))
+ self._catalog.sql_catalog_object_list = ('z_dummy_method', )
+
+ def test_getFilterableMethodList(self):
+ self.failUnless(self._catalog.z_dummy_method in
+ self._catalog.getFilterableMethodList())
+
+ def test_manage_editFilter(self):
+ request = dict(z_dummy_method_box=1, z_dummy_method_expression='python: 1')
+ self._catalog.manage_editFilter(REQUEST=request)
+ self.assertTrue(self._catalog.filter_dict.has_key('z_dummy_method'))
+
+ def test_isMethodFiltered(self):
+ request = dict(z_dummy_method_box=1, z_dummy_method_expression='python: 1')
+ self._catalog.manage_editFilter(REQUEST=request)
+ self.assertTrue(self._catalog.isMethodFiltered('z_dummy_method'))
+ self.assertFalse(self._catalog.isMethodFiltered('not_exist'))
+
+ def test_getFilterExpression(self):
+ request = dict(z_dummy_method_box=1, z_dummy_method_expression='python: 1')
+ self._catalog.manage_editFilter(REQUEST=request)
+ self.assertEquals('python: 1', self._catalog.getExpression('z_dummy_method'))
+ self.assertEquals('', self._catalog.getExpression('not_exists'))
+
+ def test_getFilterExpressionInstance(self):
+ request = dict(z_dummy_method_box=1, z_dummy_method_expression='python: 1')
+ self._catalog.manage_editFilter(REQUEST=request)
+ self.assertTrue(isinstance(
+ self._catalog.getExpressionInstance('z_dummy_method'), Expression))
+ self.assertEquals(None, self._catalog.getExpressionInstance('not_exists'))
+
+ def test_isPortalTypeSelected(self):
+ request = dict(z_dummy_method_box=1, z_dummy_method_type=['Selected'])
+ self._catalog.manage_editFilter(REQUEST=request)
+ self.assertTrue(
+ self._catalog.isPortalTypeSelected('z_dummy_method', 'Selected'))
+ self.assertFalse(
+ self._catalog.isPortalTypeSelected('z_dummy_method', 'Not Selected'))
+ self.assertFalse(
+ self._catalog.isPortalTypeSelected('not_exists', 'Selected'))
+
+
+def test_suite():
+ suite = unittest.TestSuite()
+ suite.addTest(unittest.makeSuite(TestSQLCatalog))
+ suite.addTest(unittest.makeSuite(TestZSQLCatalog))
+ return suite
+
More information about the Erp5-report
mailing list