[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ unittest cleanup:
Yvo Schubbe
cvs-admin at zope.org
Sun Apr 22 11:04:14 UTC 2012
Log message for revision 125228:
unittest cleanup:
- replaced deprecated assert method aliases
- PEP 8
Changed:
U Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_actions.py
U Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_content.py
U Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_properties.py
U Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_skins.py
U Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_typeinfo.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionInformation.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionProviderBase.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionsTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFBTreeFolder.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFCatalogAware.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_CachingPolicyManager.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_CatalogTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_ContentTypeRegistry.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_CookieCrumbler.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_DynamicType.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_Expression.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSDTMLMethod.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSFile.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSImage.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPageTemplate.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPropertiesObject.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPythonScript.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSReSTMethod.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSTXMethod.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSZSQLMethod.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_MembershipTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_OpaqueItems.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_PortalFolder.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_RegistrationTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_WorkflowTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_utils.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_actions.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_actions.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_actions.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -444,16 +444,16 @@
site, atool = self._initSite(2, 0)
self.assertEqual(len(atool.listActionProviders()), 2)
- self.failUnless('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertTrue('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
context = DummyImportContext(site)
context._files['actions.xml'] = _EMPTY_EXPORT
importActionProviders(context)
self.assertEqual(len(atool.listActionProviders()), 1)
- self.failIf('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertFalse('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
self.assertEqual(len(atool.objectIds()), 0)
def test_empty_explicit_purge(self):
@@ -463,16 +463,16 @@
site, atool = self._initSite(2, 0)
self.assertEqual(len(atool.listActionProviders()), 2)
- self.failUnless('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertTrue('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
context = DummyImportContext(site, True)
context._files['actions.xml'] = _EMPTY_EXPORT
importActionProviders(context)
self.assertEqual(len(atool.listActionProviders()), 1)
- self.failIf('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertFalse('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
self.assertEqual(len(atool.objectIds()), 0)
def test_empty_skip_purge(self):
@@ -482,16 +482,16 @@
site, atool = self._initSite(2, 0)
self.assertEqual(len(atool.listActionProviders()), 2)
- self.failUnless('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertTrue('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
context = DummyImportContext(site, False)
context._files['actions.xml'] = _EMPTY_EXPORT
importActionProviders(context)
self.assertEqual(len(atool.listActionProviders()), 2)
- self.failUnless('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertTrue('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
def test_normal(self):
from Products.CMFCore.exportimport.actions \
@@ -504,30 +504,30 @@
bar = site.portal_bar
self.assertEqual(len(atool.listActionProviders()), 1)
- self.failIf('portal_foo' in atool.listActionProviders())
- self.failIf(foo.listActions())
- self.failIf('portal_bar' in atool.listActionProviders())
- self.failIf(bar.listActions())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertFalse('portal_foo' in atool.listActionProviders())
+ self.assertFalse(foo.listActions())
+ self.assertFalse('portal_bar' in atool.listActionProviders())
+ self.assertFalse(bar.listActions())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
context = DummyImportContext(site)
context._files['actions.xml'] = _OLD_EXPORT
importActionProviders(context)
self.assertEqual(len(atool.listActionProviders()), 3)
- self.failUnless('portal_bar' in atool.listActionProviders())
- self.failUnless('portal_foo' in atool.listActionProviders())
- self.failUnless('portal_actions' in atool.listActionProviders())
+ self.assertTrue('portal_bar' in atool.listActionProviders())
+ self.assertTrue('portal_foo' in atool.listActionProviders())
+ self.assertTrue('portal_actions' in atool.listActionProviders())
self.assertEqual(len(atool.objectIds()), 1)
- self.failUnless('dummy' in atool.objectIds())
+ self.assertTrue('dummy' in atool.objectIds())
# Only one action appears. The importer only deals with actions
# defined by the actions tool. Other tools are responsible for
# exporting/importing actions themselves.
- self.assertEqual(len(atool.dummy.objectIds()) , 1)
- self.failUnless('baz' in atool.dummy.objectIds())
- self.failIf(foo.listActions())
- self.failIf(bar.listActions())
+ self.assertEqual(len(atool.dummy.objectIds()), 1)
+ self.assertTrue('baz' in atool.dummy.objectIds())
+ self.assertFalse(foo.listActions())
+ self.assertFalse(bar.listActions())
# complete the roundtrip
context = DummyExportContext(site)
@@ -597,7 +597,7 @@
site, atool = self._initSite(2, 2)
self.assertEqual(atool.listActionProviders(),
- ['portal_actions', 'portal_foo', 'portal_bar'])
+ ['portal_actions', 'portal_foo', 'portal_bar'])
context = DummyImportContext(site, False)
context._files['actions.xml'] = _REMOVE_IMPORT
Modified: Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_content.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_content.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_content.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -212,7 +212,7 @@
self.assertEqual(objects[index][0], ITEM_IDS[index])
self.assertEqual(objects[index][1], TEST_INI_AWARE)
- filename, text, content_type = context._wrote[index+2]
+ filename, text, content_type = context._wrote[index + 2]
self.assertEqual(filename, 'structure/%s.ini' % ITEM_IDS[index])
object = site._getOb(ITEM_IDS[index])
self.assertEqual(text.strip(),
@@ -255,7 +255,7 @@
self.assertEqual(objects[index][0], ITEM_IDS[index])
self.assertEqual(objects[index][1], TEST_INI_AWARE)
- filename, text, content_type = context._wrote[index+2]
+ filename, text, content_type = context._wrote[index + 2]
self.assertEqual(filename, 'structure/%s.ini' % ITEM_IDS[index])
object = site._getOb(ITEM_IDS[index])
self.assertEqual(text.strip(),
@@ -301,7 +301,7 @@
self.assertEqual(objects[index][0], ITEM_IDS[index])
self.assertEqual(objects[index][1], TEST_INI_AWARE)
- filename, text, content_type = context._wrote[index+2]
+ filename, text, content_type = context._wrote[index + 2]
self.assertEqual(filename, 'structure/%s.ini' % ITEM_IDS[index])
object = site._getOb(ITEM_IDS[index])
self.assertEqual(text.strip(),
@@ -350,7 +350,7 @@
self.assertEqual(objects[index][0], ITEM_IDS[index])
self.assertEqual(objects[index][1], TEST_INI_AWARE)
- filename, text, content_type = context._wrote[index+2]
+ filename, text, content_type = context._wrote[index + 2]
self.assertEqual(filename, 'structure/%s.ini' % ITEM_IDS[index])
object = site._getOb(ITEM_IDS[index])
self.assertEqual(text.strip(),
@@ -385,7 +385,7 @@
exporter = self._getExporter()
exporter(context)
- self.assertEqual(len(context._wrote), 2 + (2 *len(FOLDER_IDS)))
+ self.assertEqual(len(context._wrote), 2 + (2 * len(FOLDER_IDS)))
filename, text, content_type = context._wrote[0]
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
@@ -506,7 +506,7 @@
for id in FOLDER_IDS:
context._files['structure/%s/.objects' % id] = ''
context._files['structure/%s/.properties' % id] = (
- _PROPERTIES_TEMPLATE % id )
+ _PROPERTIES_TEMPLATE % id)
_ROOT_OBJECTS = '\n'.join(['%s,%s' % (id, TEST_FOLDER)
for id in FOLDER_IDS])
@@ -595,7 +595,7 @@
self.assertEqual(len(context._notes), len(ITEM_IDS))
for _level, component, message in context._notes:
self.assertEqual(component, 'SFWA')
- self.failUnless(message.startswith("Couldn't make"))
+ self.assertTrue(message.startswith("Couldn't make"))
def test_reimport_no_structure_no_delete(self):
self._setUpAdapters()
@@ -639,7 +639,7 @@
self.assertEqual(len(site.objectIds()), len(ITEM_IDS))
for obj in site.objectValues():
- self.failIf(hasattr(obj, 'before'))
+ self.assertFalse(hasattr(obj, 'before'))
def test_reimport_with_structure_and_preserve(self):
self._setUpAdapters()
@@ -728,9 +728,9 @@
after = site.objectIds()
self.assertEqual(len(after), len(ITEM_IDS) - 1)
- self.failIf('baz' in after)
+ self.assertFalse('baz' in after)
self.assertEqual(getattr(site.foo, 'before', None), True)
- self.failIf(hasattr(site.bar, 'before'))
+ self.assertFalse(hasattr(site.bar, 'before'))
def test_import_site_with_subfolders_and_preserve(self):
self._setUpAdapters()
@@ -894,6 +894,7 @@
class _TypeInfo(DummyType):
def _getId(self):
return self._id
+
def constructInstance(self, container, id, *args, **kw):
portal_type = self._getId()
if portal_type == TEST_FOLDER:
@@ -906,7 +907,7 @@
elif portal_type == TEST_CSV_AWARE:
content = _makeCSVAware(id)
else:
- raise ValueError, 'Ugh'
+ raise ValueError('Ugh')
content.portal_type = portal_type
container._setObject(id, content)
return container._getOb(id)
Modified: Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_properties.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_properties.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_properties.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -71,7 +71,8 @@
obj._setPropValue('title', 'Foo')
obj._setProperty('default_charset', 'iso-8859-1', 'string')
obj._setProperty('foo_string', 'foo', 'string')
- obj._setProperty('bar_string', u'B\xe4r'.encode('iso-8859-1'), 'string')
+ obj._setProperty('bar_string', u'B\xe4r'.encode('iso-8859-1'),
+ 'string')
obj._setProperty('foo_boolean', False, 'boolean')
def _verifyImport(self, obj):
@@ -96,8 +97,8 @@
def _initSite(self, foo=2, bar=2):
from Products.CMFCore.PortalObject import PortalObjectBase
- self.root.site = PortalObjectBase('foo_site')
- site = self.root.site
+ self.app.site = PortalObjectBase('foo_site')
+ site = self.app.site
if foo > 0:
site._setProperty('foo', '', 'string')
@@ -105,10 +106,10 @@
site._updateProperty('foo', 'Foo')
if bar > 0:
- site._setProperty( 'bar', (), 'tokens' )
- site._setProperty( 'moo', (), 'tokens' )
+ site._setProperty('bar', (), 'tokens')
+ site._setProperty('moo', (), 'tokens')
if bar > 1:
- site._updateProperty( 'bar', ('Bar',) )
+ site._updateProperty('bar', ('Bar',))
site.moo = ['Moo']
return site
@@ -137,7 +138,7 @@
import exportSiteProperties
site = self._initSite()
- context = DummyExportContext( site )
+ context = DummyExportContext(site)
exportSiteProperties(context)
self.assertEqual(len(context._wrote), 1)
@@ -157,17 +158,17 @@
site = self._initSite()
- self.assertEqual( len( site.propertyIds() ), 4 )
- self.failUnless( 'foo' in site.propertyIds() )
- self.assertEqual( site.getProperty('foo'), 'Foo' )
- self.failUnless( 'bar' in site.propertyIds() )
- self.assertEqual( site.getProperty('bar'), ('Bar',) )
+ self.assertEqual(len(site.propertyIds()), 4)
+ self.assertTrue('foo' in site.propertyIds())
+ self.assertEqual(site.getProperty('foo'), 'Foo')
+ self.assertTrue('bar' in site.propertyIds())
+ self.assertEqual(site.getProperty('bar'), ('Bar',))
context = DummyImportContext(site)
context._files['properties.xml'] = _EMPTY_EXPORT
importSiteProperties(context)
- self.assertEqual( len( site.propertyIds() ), 1 )
+ self.assertEqual(len(site.propertyIds()), 1)
def test_empty_explicit_purge(self):
from Products.CMFCore.exportimport.properties \
@@ -175,17 +176,17 @@
site = self._initSite()
- self.assertEqual( len( site.propertyIds() ), 4 )
- self.failUnless( 'foo' in site.propertyIds() )
- self.assertEqual( site.getProperty('foo'), 'Foo' )
- self.failUnless( 'bar' in site.propertyIds() )
- self.assertEqual( site.getProperty('bar'), ('Bar',) )
+ self.assertEqual(len(site.propertyIds()), 4)
+ self.assertTrue('foo' in site.propertyIds())
+ self.assertEqual(site.getProperty('foo'), 'Foo')
+ self.assertTrue('bar' in site.propertyIds())
+ self.assertEqual(site.getProperty('bar'), ('Bar',))
context = DummyImportContext(site, True)
context._files['properties.xml'] = _EMPTY_EXPORT
importSiteProperties(context)
- self.assertEqual( len( site.propertyIds() ), 1 )
+ self.assertEqual(len(site.propertyIds()), 1)
def test_empty_skip_purge(self):
from Products.CMFCore.exportimport.properties \
@@ -193,39 +194,39 @@
site = self._initSite()
- self.assertEqual( len( site.propertyIds() ), 4 )
- self.failUnless( 'foo' in site.propertyIds() )
- self.assertEqual( site.getProperty('foo'), 'Foo' )
- self.failUnless( 'bar' in site.propertyIds() )
- self.assertEqual( site.getProperty('bar'), ('Bar',) )
+ self.assertEqual(len(site.propertyIds()), 4)
+ self.assertTrue('foo' in site.propertyIds())
+ self.assertEqual(site.getProperty('foo'), 'Foo')
+ self.assertTrue('bar' in site.propertyIds())
+ self.assertEqual(site.getProperty('bar'), ('Bar',))
context = DummyImportContext(site, False)
context._files['properties.xml'] = _EMPTY_EXPORT
importSiteProperties(context)
- self.assertEqual( len( site.propertyIds() ), 4 )
- self.failUnless( 'foo' in site.propertyIds() )
- self.assertEqual( site.getProperty('foo'), 'Foo' )
- self.failUnless( 'bar' in site.propertyIds() )
- self.assertEqual( site.getProperty('bar'), ('Bar',) )
+ self.assertEqual(len(site.propertyIds()), 4)
+ self.assertTrue('foo' in site.propertyIds())
+ self.assertEqual(site.getProperty('foo'), 'Foo')
+ self.assertTrue('bar' in site.propertyIds())
+ self.assertEqual(site.getProperty('bar'), ('Bar',))
def test_normal(self):
from Products.CMFCore.exportimport.properties \
import importSiteProperties
- site = self._initSite(0,0)
+ site = self._initSite(0, 0)
- self.assertEqual( len( site.propertyIds() ), 1 )
+ self.assertEqual(len(site.propertyIds()), 1)
context = DummyImportContext(site)
context._files['properties.xml'] = _NORMAL_EXPORT
importSiteProperties(context)
- self.assertEqual( len( site.propertyIds() ), 4 )
- self.failUnless( 'foo' in site.propertyIds() )
- self.assertEqual( site.getProperty('foo'), 'Foo' )
- self.failUnless( 'bar' in site.propertyIds() )
- self.assertEqual( site.getProperty('bar'), ('Bar',) )
+ self.assertEqual(len(site.propertyIds()), 4)
+ self.assertTrue('foo' in site.propertyIds())
+ self.assertEqual(site.getProperty('foo'), 'Foo')
+ self.assertTrue('bar' in site.propertyIds())
+ self.assertEqual(site.getProperty('bar'), ('Bar',))
class roundtripSitePropertiesTests(_SitePropertiesSetup):
@@ -242,23 +243,23 @@
site = self._initSite(foo=0, bar=0)
site._updateProperty('title', NONASCII)
- self.assertEquals(site.title, NONASCII)
+ self.assertEqual(site.title, NONASCII)
# export the site properties
- context = DummyExportContext( site )
+ context = DummyExportContext(site)
exportSiteProperties(context)
- filename, text, content_type = context._wrote[0]
+ _filename, text, _content_type = context._wrote[0]
# Clear the title property
site._updateProperty('title', '')
- self.assertEquals(site.title, '')
+ self.assertEqual(site.title, '')
# Import from the previous export
context = DummyImportContext(site)
context._files['properties.xml'] = text
importSiteProperties(context)
- self.assertEquals(site.title, NONASCII)
+ self.assertEqual(site.title, NONASCII)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_skins.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_skins.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_skins.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -373,7 +373,6 @@
_FRAGMENT7_IMPORT = _FRAGMENT7_IMPORT
_NORMAL_EXPORT = _NORMAL_EXPORT
-
def test_remove_skin_path(self):
from Products.CMFCore.exportimport.skins import importSkinsTool
@@ -382,15 +381,14 @@
site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS)
- self.failUnless(skins_tool._getSelections().has_key('fancy'))
+ self.assertTrue('fancy' in skins_tool._getSelections())
context = DummyImportContext(site)
context._files['skins.xml'] = self._FRAGMENT6_IMPORT
importSkinsTool(context)
- self.failIf(skins_tool._getSelections().has_key('fancy'))
+ self.assertFalse('fancy' in skins_tool._getSelections())
-
def test_empty_default_purge(self):
from Products.CMFCore.exportimport.skins import importSkinsTool
@@ -399,7 +397,7 @@
site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS)
- self.failIf(site._skin_setup_called)
+ self.assertFalse(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 2)
self.assertEqual(len(skins_tool.objectItems()), 3)
@@ -409,9 +407,9 @@
self.assertEqual(skins_tool.default_skin, "default_skin")
self.assertEqual(skins_tool.request_varname, "request_varname")
- self.failIf(skins_tool.allow_any)
- self.failIf(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertFalse(skins_tool.allow_any)
+ self.assertFalse(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 0)
self.assertEqual(len(skins_tool.objectItems()), 0)
@@ -423,7 +421,7 @@
site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS)
- self.failIf(site._skin_setup_called)
+ self.assertFalse(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 2)
self.assertEqual(len(skins_tool.objectItems()), 3)
@@ -433,9 +431,9 @@
self.assertEqual(skins_tool.default_skin, "default_skin")
self.assertEqual(skins_tool.request_varname, "request_varname")
- self.failIf(skins_tool.allow_any)
- self.failIf(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertFalse(skins_tool.allow_any)
+ self.assertFalse(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 0)
self.assertEqual(len(skins_tool.objectItems()), 0)
@@ -447,7 +445,7 @@
site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS)
- self.failIf(site._skin_setup_called)
+ self.assertFalse(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 2)
self.assertEqual(len(skins_tool.objectItems()), 3)
@@ -457,9 +455,9 @@
self.assertEqual(skins_tool.default_skin, "default_skin")
self.assertEqual(skins_tool.request_varname, "request_varname")
- self.failIf(skins_tool.allow_any)
- self.failIf(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertFalse(skins_tool.allow_any)
+ self.assertFalse(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 2)
self.assertEqual(len(skins_tool.objectItems()), 3)
@@ -468,7 +466,7 @@
site, skins_tool = self._initSite()
- self.failIf(site._skin_setup_called)
+ self.assertFalse(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 0)
self.assertEqual(len(skins_tool.objectItems()), 0)
@@ -478,9 +476,9 @@
self.assertEqual(skins_tool.default_skin, "basic")
self.assertEqual(skins_tool.request_varname, "skin_var")
- self.failUnless(skins_tool.allow_any)
- self.failUnless(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertTrue(skins_tool.allow_any)
+ self.assertTrue(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
self.assertEqual(len(skins_tool.getSkinPaths()), 2)
self.assertEqual(len(skins_tool.objectItems()), 3)
@@ -492,7 +490,7 @@
site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS)
- self.failIf(site._skin_setup_called)
+ self.assertFalse(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'one'))
@@ -505,9 +503,9 @@
self.assertEqual(skins_tool.default_skin, "default_skin")
self.assertEqual(skins_tool.request_varname, "request_varname")
- self.failIf(skins_tool.allow_any)
- self.failIf(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertFalse(skins_tool.allow_any)
+ self.assertFalse(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'one,three'))
@@ -519,9 +517,9 @@
self.assertEqual(skins_tool.default_skin, "default_skin")
self.assertEqual(skins_tool.request_varname, "request_varname")
- self.failIf(skins_tool.allow_any)
- self.failIf(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertFalse(skins_tool.allow_any)
+ self.assertFalse(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'one,three,four'))
@@ -536,7 +534,7 @@
site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS)
- self.failIf(site._skin_setup_called)
+ self.assertFalse(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'one'))
@@ -549,9 +547,9 @@
self.assertEqual(skins_tool.default_skin, "default_skin")
self.assertEqual(skins_tool.request_varname, "request_varname")
- self.failIf(skins_tool.allow_any)
- self.failIf(skins_tool.cookie_persistence)
- self.failUnless(site._skin_setup_called)
+ self.assertFalse(skins_tool.allow_any)
+ self.assertFalse(skins_tool.cookie_persistence)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'three,one,four'))
@@ -577,7 +575,7 @@
context._files['skins.xml'] = self._FRAGMENT3_IMPORT
importSkinsTool(context)
- self.failUnless(site._skin_setup_called)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'three,one,four'))
@@ -589,7 +587,7 @@
importSkinsTool(context)
- self.failUnless(site._skin_setup_called)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 2)
self.assertEqual(skin_paths[0], ('basic', 'one,four'))
@@ -615,7 +613,7 @@
importSkinsTool(context)
- self.failUnless(site._skin_setup_called)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 4)
self.assertEqual(skin_paths[0], ('basic', 'one,three,four'))
@@ -643,7 +641,7 @@
importSkinsTool(context)
- self.failUnless(site._skin_setup_called)
+ self.assertTrue(site._skin_setup_called)
skin_paths = skins_tool.getSkinPaths()
self.assertEqual(len(skin_paths), 1)
self.assertEqual(skin_paths[0], ('existing', 'one,two,three,four'))
Modified: Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_typeinfo.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_typeinfo.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/exportimport/tests/test_typeinfo.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -206,20 +206,20 @@
<alias from="(Default)" to="foo_view"/>
<alias from="view" to="foo_view"/>
<action title="View" action_id="view" category="object" condition_expr=""
- url_expr="string:${object_url}/foo_view"
- icon_expr="string:${portal_url}/preview_icon.png" link_target="_new"
+ url_expr="string:${object_url}/foo_view"
+ icon_expr="string:${portal_url}/preview_icon.png" link_target="_new"
visible="True">
<permission value="View"/>
</action>
<action title="Edit" action_id="edit" category="object" condition_expr=""
- url_expr="string:${object_url}/foo_edit_form"
- icon_expr="string:${portal_url}/edit_icon.png" link_target=""
+ url_expr="string:${object_url}/foo_edit_form"
+ icon_expr="string:${portal_url}/edit_icon.png" link_target=""
visible="True">
<permission value="Modify portal content"/>
</action>
<action title="Metadata" action_id="metadata" category="object"
condition_expr="" url_expr="string:${object_url}/metadata_edit_form"
- icon_expr="string:${portal_url}/metadata_icon.png" link_target=""
+ icon_expr="string:${portal_url}/metadata_icon.png" link_target=""
visible="True">
<permission value="Modify portal content"/>
</action>
@@ -248,7 +248,7 @@
<alias from="(Default)" to="bar_view"/>
<alias from="view" to="bar_view"/>
<action title="View" action_id="view" category="object" condition_expr=""
- url_expr="string:${object_url}/bar_view"
+ url_expr="string:${object_url}/bar_view"
icon_expr="" link_target="" visible="True">
<permission value="View"/>
</action>
@@ -292,7 +292,7 @@
<alias from="(Default)" to="bar_view"/>
<alias from="view" to="bar_view"/>
<action title="View" action_id="view" category="object" condition_expr=""
- url_expr="string:${object_url}/bar_view"
+ url_expr="string:${object_url}/bar_view"
icon_expr="" link_target="" visible="True">
<permission value="View"/>
</action>
@@ -335,7 +335,7 @@
def _populate(self, obj):
obj.setMethodAliases({'(Default)': 'foo', 'view': 'foo'})
obj.addAction('foo_action', 'Foo', 'string:${object_url}/foo',
- 'python:1', (), 'Bar',
+ 'python:1', (), 'Bar',
icon_expr="string:${portal_url}/icon.png")
def _verifyImport(self, obj):
@@ -355,8 +355,8 @@
self.assertEqual(type(obj._actions[0].condition.text), str)
self.assertEqual(obj._actions[0].condition.text, 'python:1')
self.assertEqual(type(obj._actions[0].icon_expr.text), str)
- self.assertEqual(obj._actions[0].icon_expr.text,
- "string:${portal_url}/icon.png")
+ self.assertEqual(obj._actions[0].icon_expr.text,
+ "string:${portal_url}/icon.png")
def setUp(self):
self._obj = FactoryTypeInformation('foo_fti')
@@ -541,8 +541,8 @@
importTypesTool(context)
self.assertEqual(len(tool.objectIds()), 2)
- self.failUnless('foo' in tool.objectIds())
- self.failUnless('bar' in tool.objectIds())
+ self.assertTrue('foo' in tool.objectIds())
+ self.assertTrue('bar' in tool.objectIds())
def test_with_filenames(self):
from Products.CMFCore.exportimport.typeinfo import importTypesTool
@@ -558,8 +558,8 @@
importTypesTool(context)
self.assertEqual(len(tool.objectIds()), 2)
- self.failUnless('foo object' in tool.objectIds())
- self.failUnless('bar object' in tool.objectIds())
+ self.assertTrue('foo object' in tool.objectIds())
+ self.assertTrue('bar object' in tool.objectIds())
def test_migration(self):
from Products.CMFCore.exportimport.typeinfo import importTypesTool
@@ -575,8 +575,8 @@
importTypesTool(context)
self.assertEqual(len(tool.objectIds()), 2)
- self.failUnless('foo' in tool.objectIds())
- self.failUnless('bar' in tool.objectIds())
+ self.assertTrue('foo' in tool.objectIds())
+ self.assertTrue('bar' in tool.objectIds())
self.assertEqual(tool.bar.icon_expr, 'string:${portal_url}/bar.png')
def test_normal_update(self):
@@ -632,7 +632,7 @@
<object name="%s" meta_type="Factory-based Type Information">
<property name="title">Baz</property>
<action title="View" action_id="view" category="object"
- condition_expr="" url_expr="string:${object_url}/baz_view"
+ condition_expr="" url_expr="string:${object_url}/baz_view"
icon_expr="" visible="True">
<permission value="View"/>
</action>
@@ -643,7 +643,7 @@
importTypesTool(context)
self.assertEqual(len(tool.objectIds()), 1)
- self.failUnless('baz' in tool.objectIds())
+ self.assertTrue('baz' in tool.objectIds())
baz = tool['baz']
actions = baz.listActions()
self.assertEqual(len(actions), 1)
@@ -661,7 +661,7 @@
importTypesTool(context)
self.assertEqual(len(tool.objectIds()), 1)
- self.failUnless('baz' in tool.objectIds())
+ self.assertTrue('baz' in tool.objectIds())
baz = tool['baz']
actions = baz.listActions()
self.assertEqual(len(actions), 0)
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionInformation.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionInformation.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionInformation.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -50,11 +50,11 @@
from Products.CMFCore.ActionInformation import Action
ac = self._makeOne('foo')
- self.assertEqual( ac.listActions(), () )
+ self.assertEqual(ac.listActions(), ())
baz = Action('baz')
ac._setObject('baz', baz)
- self.assertEqual( ac.listActions(), (baz,) )
+ self.assertEqual(ac.listActions(), (baz,))
class ActionTests(unittest.TestCase):
@@ -71,11 +71,11 @@
verifyClass(IAction, Action)
def test_getInfoData_empty(self):
- WANTED = ( {'available': True, 'category': '', 'description': '',
- 'id': 'foo', 'icon': '', 'permissions': (), 'title': '',
- 'url': '', 'visible': True, 'link_target': None}, [] )
+ WANTED = ({'available': True, 'category': '', 'description': '',
+ 'id': 'foo', 'icon': '', 'permissions': (), 'title': '',
+ 'url': '', 'visible': True, 'link_target': None}, [])
a = self._makeOne('foo')
- self.assertEqual( a.getInfoData(), WANTED )
+ self.assertEqual(a.getInfoData(), WANTED)
def test_getInfoData_normal(self):
a = self._makeOne('foo',
@@ -87,21 +87,24 @@
permissions=('View',),
visible=False,
link_target='_top')
- WANTED = ( {'available': True, 'category': '',
- 'description': 'Foo description.',
- 'id': 'foo', 'icon': a.icon_expr_object,
- 'permissions': ('View',), 'title': 'Foo Title',
- 'url': a.url_expr_object, 'visible': False,
- 'link_target': a.link_target },
- ['url', 'icon'] )
- self.assertEqual( a.getInfoData(), WANTED )
+ WANTED = ({'available': True, 'category': '',
+ 'description': 'Foo description.',
+ 'id': 'foo', 'icon': a.icon_expr_object,
+ 'permissions': ('View',), 'title': 'Foo Title',
+ 'url': a.url_expr_object, 'visible': False,
+ 'link_target': a.link_target},
+ ['url', 'icon'])
+ self.assertEqual(a.getInfoData(), WANTED)
def test_manage_propertiesForm_allows_adding(self):
from OFS.SimpleItem import SimpleItem
+
def _header(*args, **kw):
return 'HEADER'
+
def _footer(*args, **kw):
return 'HEADER'
+
container = SimpleItem()
container.REQUEST = request = DummyRequest()
@@ -117,7 +120,7 @@
a = self._makeOne('extensible').__of__(container)
form_html = a.manage_propertiesForm(request)
- self.failUnless('value=" Add "' in form_html)
+ self.assertTrue('value=" Add "' in form_html)
def test_clearExprObjects(self):
"""When a *_expr property is set, a *_expr_object attribute is
@@ -132,28 +135,34 @@
permissions=('View',),
visible=False,
link_target='_top')
- self.failUnless(hasattr(a, 'icon_expr_object'))
- self.failUnless(hasattr(a, 'url_expr_object'))
- self.failIf(hasattr(a, 'available_expr_object'))
+ self.assertTrue(hasattr(a, 'icon_expr_object'))
+ self.assertTrue(hasattr(a, 'url_expr_object'))
+ self.assertFalse(hasattr(a, 'available_expr_object'))
a.manage_changeProperties(
icon_expr='', url_expr='', available_expr='')
- self.failIf(hasattr(a, 'icon_expr_object'))
- self.failIf(hasattr(a, 'url_expr_object'))
- self.failIf(hasattr(a, 'available_expr_object'))
+ self.assertFalse(hasattr(a, 'icon_expr_object'))
+ self.assertFalse(hasattr(a, 'url_expr_object'))
+ self.assertFalse(hasattr(a, 'available_expr_object'))
class DummyRequest:
+
def __init__(self):
self._data = {}
+
def set(self, k, v):
self._data[k] = v
+
def get(self, k, default):
return self._data.get(k, default)
+
def __getitem__(self, k):
return self._data[k]
+
def __len__(self):
return len(self._data)
+
class ActionInfoTests(unittest.TestCase):
def _makeOne(self, *args, **kw):
@@ -178,15 +187,15 @@
ec = None
ai = self._makeOne(action, ec)
- self.assertEqual( ai['id'], WANTED['id'] )
- self.assertEqual( ai['title'], WANTED['title'] )
- self.assertEqual( ai['description'], WANTED['description'] )
- self.assertEqual( ai['url'], WANTED['url'] )
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['visible'], WANTED['visible'] )
- self.assertEqual( ai['available'], WANTED['available'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
- self.assertEqual( ai, WANTED )
+ self.assertEqual(ai['id'], WANTED['id'])
+ self.assertEqual(ai['title'], WANTED['title'])
+ self.assertEqual(ai['description'], WANTED['description'])
+ self.assertEqual(ai['url'], WANTED['url'])
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['visible'], WANTED['visible'])
+ self.assertEqual(ai['available'], WANTED['available'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
+ self.assertEqual(ai, WANTED)
def test_create_from_ActionInformation(self):
from Products.CMFCore.ActionInformation import ActionInformation
@@ -199,35 +208,35 @@
ec = None
ai = self._makeOne(action, ec)
- self.assertEqual( ai['id'], WANTED['id'] )
- self.assertEqual( ai['title'], WANTED['title'] )
- self.assertEqual( ai['description'], WANTED['description'] )
- self.assertEqual( ai['url'], WANTED['url'] )
- self.assertEqual( ai['icon'], WANTED['icon'] )
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['visible'], WANTED['visible'] )
- self.assertEqual( ai['available'], WANTED['available'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
- self.assertEqual( ai, WANTED )
+ self.assertEqual(ai['id'], WANTED['id'])
+ self.assertEqual(ai['title'], WANTED['title'])
+ self.assertEqual(ai['description'], WANTED['description'])
+ self.assertEqual(ai['url'], WANTED['url'])
+ self.assertEqual(ai['icon'], WANTED['icon'])
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['visible'], WANTED['visible'])
+ self.assertEqual(ai['available'], WANTED['available'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
+ self.assertEqual(ai, WANTED)
def test_create_from_dict(self):
WANTED = {'allowed': True, 'available': True, 'category': 'object',
'id': 'foo', 'title': 'foo', 'url': '', 'visible': True,
- 'icon': '' , 'link_target': None}
+ 'icon': '', 'link_target': None}
action = {'name': 'foo', 'url': ''}
ec = None
ai = self._makeOne(action, ec)
- self.assertEqual( ai['id'], WANTED['id'] )
- self.assertEqual( ai['title'], WANTED['title'] )
- self.assertEqual( ai['url'], WANTED['url'] )
- self.assertEqual( ai['icon'], WANTED['icon'] )
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['visible'], WANTED['visible'] )
- self.assertEqual( ai['available'], WANTED['available'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
- self.assertEqual( ai, WANTED )
+ self.assertEqual(ai['id'], WANTED['id'])
+ self.assertEqual(ai['title'], WANTED['title'])
+ self.assertEqual(ai['url'], WANTED['url'])
+ self.assertEqual(ai['icon'], WANTED['icon'])
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['visible'], WANTED['visible'])
+ self.assertEqual(ai['available'], WANTED['available'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
+ self.assertEqual(ai, WANTED)
class ActionInfoSecurityTests(SecurityTest):
@@ -256,15 +265,15 @@
ec = createExprContext(self.site, self.site, None)
ai = self._makeOne(action, ec)
- self.assertEqual( ai['id'], WANTED['id'] )
- self.assertEqual( ai['title'], WANTED['title'] )
- self.assertEqual( ai['url'], WANTED['url'] )
- self.assertEqual( ai['icon'], WANTED['icon'] )
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['visible'], WANTED['visible'] )
- self.assertEqual( ai['available'], WANTED['available'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
- self.assertEqual( ai, WANTED )
+ self.assertEqual(ai['id'], WANTED['id'])
+ self.assertEqual(ai['title'], WANTED['title'])
+ self.assertEqual(ai['url'], WANTED['url'])
+ self.assertEqual(ai['icon'], WANTED['icon'])
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['visible'], WANTED['visible'])
+ self.assertEqual(ai['available'], WANTED['available'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
+ self.assertEqual(ai, WANTED)
def test_category_object(self):
# Permissions for action category 'object*' should be
@@ -279,8 +288,8 @@
ec = createExprContext(self.site, self.site, self.object)
ai = self._makeOne(action, ec)
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
def test_category_folder(self):
# Permissions for action category 'folder*' should be
@@ -296,8 +305,8 @@
ai = self._makeOne(action, ec)
ai['category'] = 'folder' # pfff
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
def test_category_workflow(self):
# Permissions for action category 'workflow*' should be
@@ -313,8 +322,8 @@
ai = self._makeOne(action, ec)
ai['category'] = 'workflow' # pfff
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
def test_category_document(self):
# Permissions for action category 'document*' should be
@@ -330,8 +339,8 @@
ai = self._makeOne(action, ec)
ai['category'] = 'document' # pfff
- self.assertEqual( ai['category'], WANTED['category'] )
- self.assertEqual( ai['allowed'], WANTED['allowed'] )
+ self.assertEqual(ai['category'], WANTED['category'])
+ self.assertEqual(ai['allowed'], WANTED['allowed'])
def test_copy(self):
action = {'name': 'foo', 'url': '', 'permissions': ('View',)}
@@ -339,11 +348,11 @@
ai = self._makeOne(action, ec)
ai2 = ai.copy()
- self.assertEqual( ai._lazy_keys, ['allowed'] )
- self.assertEqual( ai2._lazy_keys, ['allowed'] )
- self.failIf( ai2._lazy_keys is ai._lazy_keys )
- self.assertEqual( ai['allowed'], True )
- self.assertEqual( ai2['allowed'], True )
+ self.assertEqual(ai._lazy_keys, ['allowed'])
+ self.assertEqual(ai2._lazy_keys, ['allowed'])
+ self.assertFalse(ai2._lazy_keys is ai._lazy_keys)
+ self.assertEqual(ai['allowed'], True)
+ self.assertEqual(ai2['allowed'], True)
class ActionInformationTests(TransactionalTest):
@@ -403,16 +412,16 @@
def test_setActionExpression_with_string_prefix(self):
ai = self._makeOne(id='view', category='folder')
ai.setActionExpression('string:blah')
- self.failUnless(isinstance(ai.action,Expression))
+ self.assertTrue(isinstance(ai.action, Expression))
self.assertEqual(ai.getActionExpression(), 'string:blah')
def test_construction_with_Expressions(self):
- ai = self._makeOne( id='view',
- title='View',
- action=Expression(text='view'),
- condition=Expression(text='member'),
- category='global',
- visible=False )
+ ai = self._makeOne(id='view',
+ title='View',
+ action=Expression(text='view'),
+ condition=Expression(text='member'),
+ category='global',
+ visible=False)
self.assertEqual(ai.getId(), 'view')
self.assertEqual(ai.Title(), 'View')
@@ -427,15 +436,15 @@
portal = self.portal
folder = self.folder
object = self.object
- ai = self._makeOne( id='view',
- title='View',
- action=Expression(text='view'),
- condition=Expression(text='member'),
- category='global',
- visible=True )
+ ai = self._makeOne(id='view',
+ title='View',
+ action=Expression(text='view'),
+ condition=Expression(text='member'),
+ category='global',
+ visible=True)
ec = createExprContext(folder, portal, object)
- self.failIf(ai.testCondition(ec))
+ self.assertFalse(ai.testCondition(ec))
def test_Condition_PathExpression(self):
portal = self.portal
@@ -444,23 +453,23 @@
manage_addPythonScript(self.app, 'test_script')
script = self.app.test_script
script.ZPythonScript_edit('', 'return context.getId()')
- ai = self._makeOne( id='view',
- title='View',
- action=Expression(text='view'),
- condition=Expression(text='portal/test_script'),
- category='global',
- visible=True )
+ ai = self._makeOne(id='view',
+ title='View',
+ action=Expression(text='view'),
+ condition=Expression(text='portal/test_script'),
+ category='global',
+ visible=True)
ec = createExprContext(folder, portal, object)
- self.failUnless(ai.testCondition(ec))
+ self.assertTrue(ai.testCondition(ec))
def test_getInfoData_empty(self):
- WANTED = ( {'available': True, 'category': 'object',
- 'description': '', 'id': 'foo', 'permissions': (),
- 'title': 'foo', 'url': '', 'visible': True, 'icon': '',
- 'link_target': None},[])
+ WANTED = ({'available': True, 'category': 'object',
+ 'description': '', 'id': 'foo', 'permissions': (),
+ 'title': 'foo', 'url': '', 'visible': True, 'icon': '',
+ 'link_target': None}, [])
a = self._makeOne('foo')
- self.assertEqual( a.getInfoData(), WANTED )
+ self.assertEqual(a.getInfoData(), WANTED)
def test_getInfoData_normal(self):
a = self._makeOne('foo',
@@ -472,14 +481,14 @@
permissions=('View',),
visible=False,
link_target='_top')
- WANTED = ( {'available': True, 'category': 'object',
- 'description': 'Foo description.', 'id': 'foo',
- 'permissions': ('View',), 'title': 'Foo Title',
- 'url': a._getActionObject(), 'visible': False,
- 'icon': a._getIconExpressionObject(),
- 'link_target': a.link_target },
- ['url', 'icon'] )
- self.assertEqual( a.getInfoData(), WANTED )
+ WANTED = ({'available': True, 'category': 'object',
+ 'description': 'Foo description.', 'id': 'foo',
+ 'permissions': ('View',), 'title': 'Foo Title',
+ 'url': a._getActionObject(), 'visible': False,
+ 'icon': a._getIconExpressionObject(),
+ 'link_target': a.link_target},
+ ['url', 'icon'])
+ self.assertEqual(a.getInfoData(), WANTED)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionProviderBase.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionProviderBase.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionProviderBase.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -36,30 +36,28 @@
class DummyProvider(ActionProviderBase, DummyTool):
- _actions = ( ActionInformation( id='an_id'
- , title='A Title'
- , action=''
- , condition=''
- , permissions=()
- , category=''
- , visible=False
- ), )
+ _actions = (ActionInformation(id='an_id',
+ title='A Title',
+ action='',
+ condition='',
+ permissions=(),
+ category='',
+ visible=False),)
class DummyAction:
- def __init__( self, value ):
+ def __init__(self, value):
self.value = value
- def clone( self ):
- return self.__class__( self.value )
+ def clone(self):
+ return self.__class__(self.value)
- def __cmp__( self, other ):
- return ( cmp( type( self ), type( other ) )
- or cmp( self.__class__, other.__class__ )
- or cmp( self.value, other.value )
- or 0
- )
+ def __cmp__(self, other):
+ return (cmp(type(self), type(other))
+ or cmp(self.__class__, other.__class__)
+ or cmp(self.value, other.value)
+ or 0)
class ActionProviderBaseTests(SecurityTest, WarningInterceptor):
@@ -67,7 +65,7 @@
def setUp(self):
self._trap_warning_output()
SecurityTest.setUp(self)
- self.site = DummySite('site').__of__(self.root)
+ self.site = DummySite('site').__of__(self.app)
sm = getSiteManager()
sm.registerUtility(DummyTool(), IMembershipTool)
sm.registerUtility(DummyTool().__of__(self.site), IURLTool)
@@ -77,7 +75,7 @@
SecurityTest.tearDown(self)
self._free_warning_output()
- def _makeProvider( self, dummy=0 ):
+ def _makeProvider(self, dummy=0):
klass = dummy and DummyProvider or ActionProviderBase
return klass()
@@ -87,20 +85,18 @@
verifyClass(IActionProvider, ActionProviderBase)
- def test_addAction( self ):
-
+ def test_addAction(self):
apb = self._makeProvider()
- self.failIf( apb._actions )
+ self.assertFalse(apb._actions)
old_actions = apb._actions
- apb.addAction( id='foo'
- , name='foo_action'
- , action=''
- , condition=''
- , permission=''
- , category=''
- )
- self.failUnless( apb._actions )
- self.failIf( apb._actions is old_actions )
+ apb.addAction(id='foo',
+ name='foo_action',
+ action='',
+ condition='',
+ permission='',
+ category='')
+ self.assertTrue(apb._actions)
+ self.assertFalse(apb._actions is old_actions)
def test_addActionBlankPermission(self):
# make sure a blank permission gets stored as an empty tuple
@@ -158,36 +154,33 @@
action = apb._extractAction(properties, index)
self.assertEqual(action.permissions, ())
-
- def test_changeActions( self ):
-
+ def test_changeActions(self):
apb = DummyTool()
- old_actions = list( apb._actions )
+ old_actions = list(apb._actions)
- keys = [ ( 'id_%d', None )
- , ( 'name_%d', None )
- , ( 'action_%d', '' )
- , ( 'condition_%d', '' )
- , ( 'permission_%d', None )
- , ( 'category_%d', None )
- , ( 'visible_%d', 0 )
- ]
+ keys = [('id_%d', None),
+ ('name_%d', None),
+ ('action_%d', ''),
+ ('condition_%d', ''),
+ ('permission_%d', None),
+ ('category_%d', None),
+ ('visible_%d', 0)]
properties = {}
- for i in range( len( old_actions ) ):
+ for i in range(len(old_actions)):
for key, value in keys:
token = key % i
if value is None:
value = token
- properties[ token ] = value
+ properties[token] = value
- apb.changeActions( properties=properties )
+ apb.changeActions(properties=properties)
marker = []
- for i in range( len( apb._actions ) ):
+ for i in range(len(apb._actions)):
for key, value in keys:
- attr = key[ : -3 ]
+ attr = key[:-3]
if value is None:
value = key % i
@@ -197,49 +190,46 @@
if attr == 'permission': # WAAAA
attr = 'permissions'
- value = ( value, )
+ value = (value,)
- attr_value = getattr( apb._actions[i], attr, marker )
- self.assertEqual( attr_value
- , value
- , '%s, %s != %s, %s'
- % ( attr, attr_value, key, value ) )
- self.failIf( apb._actions is old_actions )
+ attr_value = getattr(apb._actions[i], attr, marker)
+ self.assertEqual(attr_value, value, '%s, %s != %s, %s'
+ % (attr, attr_value, key, value))
+ self.assertFalse(apb._actions is old_actions)
- def test_deleteActions( self ):
+ def test_deleteActions(self):
apb = self._makeProvider()
- apb._actions = tuple( map( DummyAction, [ '0', '1', '2' ] ) )
- apb.deleteActions( selections=(0,2) )
- self.assertEqual( len( apb._actions ), 1 )
- self.failUnless( DummyAction('1') in apb._actions )
+ apb._actions = tuple(map(DummyAction, ['0', '1', '2']))
+ apb.deleteActions(selections=(0, 2))
+ self.assertEqual(len(apb._actions), 1)
+ self.assertTrue(DummyAction('1') in apb._actions)
- def test_DietersNastySharingBug( self ):
+ def test_DietersNastySharingBug(self):
- one = self._makeProvider( dummy=1 )
- another = self._makeProvider( dummy=1 )
+ one = self._makeProvider(dummy=1)
+ another = self._makeProvider(dummy=1)
- def idify( x ):
- return id( x )
+ def idify(x):
+ return id(x)
- old_ids = one_ids = map( idify, one.listActions() )
- another_ids = map( idify, another.listActions() )
+ old_ids = one_ids = map(idify, one.listActions())
+ another_ids = map(idify, another.listActions())
- self.assertEqual( one_ids, another_ids )
+ self.assertEqual(one_ids, another_ids)
- one.changeActions( { 'id_0' : 'different_id'
- , 'name_0' : 'A Different Title'
- , 'action_0' : 'arise_shine'
- , 'condition_0' : 'always'
- , 'permissions_0' : 'granted'
- , 'category_0' : 'quality'
- , 'visible_0' : 1
- } )
+ one.changeActions({'id_0': 'different_id',
+ 'name_0': 'A Different Title',
+ 'action_0': 'arise_shine',
+ 'condition_0': 'always',
+ 'permissions_0': 'granted',
+ 'category_0': 'quality',
+ 'visible_0': 1})
- one_ids = map( idify, one.listActions() )
- another_ids = map( idify, another.listActions() )
- self.failIf( one_ids == another_ids )
- self.assertEqual( old_ids, another_ids )
+ one_ids = map(idify, one.listActions())
+ another_ids = map(idify, another.listActions())
+ self.assertFalse(one_ids == another_ids)
+ self.assertEqual(old_ids, another_ids)
def test_listActionInfos(self):
wanted = [{'id': 'an_id', 'title': 'A Title', 'description': '',
@@ -247,16 +237,16 @@
'available': True, 'allowed': True, 'link_target': None,
'icon': ''}]
- apb = self.site._setObject( 'portal_apb', self._makeProvider(1) )
+ apb = self.site._setObject('portal_apb', self._makeProvider(1))
rval = apb.listActionInfos()
- self.assertEqual( rval, [] )
+ self.assertEqual(rval, [])
rval = apb.listActionInfos(check_visibility=0)
- self.assertEqual( rval, wanted )
+ self.assertEqual(rval, wanted)
rval = apb.listActionInfos('foo/another_id', check_visibility=0)
- self.assertEqual( rval, [] )
+ self.assertEqual(rval, [])
def test_getActionObject(self):
- apb = self.site._setObject( 'portal_apb', self._makeProvider(1) )
+ apb = self.site._setObject('portal_apb', self._makeProvider(1))
rval = apb.getActionObject('object/an_id')
self.assertEqual(rval, apb._actions[0])
rval = apb.getActionObject('object/not_existing_id')
@@ -269,14 +259,13 @@
'available': True, 'allowed': True, 'link_target': None,
'icon': ''}
- apb = self.site._setObject( 'portal_apb', self._makeProvider(1) )
- rval = apb.getActionInfo( ('object/an_id',) )
- self.assertEqual( rval, wanted )
+ apb = self.site._setObject('portal_apb', self._makeProvider(1))
+ rval = apb.getActionInfo(('object/an_id',))
+ self.assertEqual(rval, wanted)
rval = apb.getActionInfo('object/an_id')
- self.assertEqual( rval, wanted )
- self.assertRaises( ValueError,
- apb.getActionInfo,
- 'object/an_id', check_visibility=1 )
+ self.assertEqual(rval, wanted)
+ self.assertRaises(ValueError, apb.getActionInfo, 'object/an_id',
+ check_visibility=1)
# The following is nasty, but I want to make sure the ValueError
# carries some useful information
@@ -286,7 +275,7 @@
except ValueError, e:
message = e.args[0]
detail = '"%s" does not offer action "%s"' % (message, INVALID_ID)
- self.failUnless(message.find(INVALID_ID) != -1, detail)
+ self.assertTrue(message.find(INVALID_ID) != -1, detail)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionsTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionsTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_ActionsTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -93,7 +93,7 @@
rval = tool.getActionObject('object/an_id')
self.assertEqual(rval, tool._actions[0])
warning = self._our_stderr_stream.getvalue()
- self.failUnless(
+ self.assertTrue(
'DeprecationWarning: '
'Old-style actions are deprecated and will be removed in CMF '
'2.4. Use Action and Action Category objects instead.' in warning)
@@ -159,9 +159,7 @@
permissions=('List folder contents',),
category='folder',
link_target='_top',
- visible=1)
- ,
- )
+ visible=1),)
newSecurityManager(None, OmnipotentUser().__of__(self.app.acl_users))
self.assertEqual(tool.listFilteredActionsFor(self.app.foo),
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFBTreeFolder.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFBTreeFolder.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFBTreeFolder.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -29,16 +29,16 @@
def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)
- def test_empty( self ):
+ def test_empty(self):
empty = self._makeOne('test')
- self.assertEqual( len( empty.objectIds() ), 0 )
+ self.assertEqual(len(empty.objectIds()), 0)
# this test doesn't work with ZopeTestCase.ZopeLite.installProduct
## def test___module_aliases__( self ):
## from Products.BTreeFolder2.CMFBTreeFolder \
## import CMFBTreeFolder as BBB
##
-## self.failUnless( BBB is self._getTargetClass() )
+## self.assertTrue( BBB is self._getTargetClass() )
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFCatalogAware.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFCatalogAware.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_CMFCatalogAware.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -45,17 +45,22 @@
def __init__(self, id):
self._setId(id)
+
class DummyRoot(SimpleFolder):
def getPhysicalRoot(self):
return self
+
class DummyOldBrain:
+
def __init__(self, ob, path):
self.ob = ob
self.id = ob.getId()
self.path = path
+
def getPath(self):
return self.path
+
def getObject(self):
if self.id == 'missing':
if self.ob.GETOBJECT_RAISES:
@@ -66,29 +71,39 @@
raise ValueError("security problem for this object")
return self.ob
+
class DummyBrain(DummyOldBrain):
+
def _unrestrictedGetObject(self):
if self.id == 'missing':
return self.getObject()
return self.ob
+
class DummyCatalog(SimpleItem):
+
brain_class = DummyBrain
+
def __init__(self):
self.log = []
self.obs = []
+
def indexObject(self, ob):
self.log.append('index %s' % physicalpath(ob))
+
def reindexObject(self, ob, idxs=[], update_metadata=0, uid=None):
self.log.append('reindex %s %s' % (physicalpath(ob), idxs))
+
def unindexObject(self, ob):
self.log.append('unindex %s' % physicalpath(ob))
+
def setObs(self, obs):
self.obs = [(ob, physicalpath(ob)) for ob in obs]
+
def unrestrictedSearchResults(self, path):
res = []
for ob, obpath in self.obs:
- if not (obpath+'/').startswith(path+'/'):
+ if not (obpath + '/').startswith(path + '/'):
continue
res.append(self.brain_class(ob, obpath))
return res
@@ -138,27 +153,27 @@
foo = self.site.foo
cat = self.ctool
foo.indexObject()
- self.assertEquals(cat.log, ["index /site/foo"])
+ self.assertEqual(cat.log, ["index /site/foo"])
def test_unindexObject(self):
foo = self.site.foo
cat = self.ctool
foo.unindexObject()
- self.assertEquals(cat.log, ["unindex /site/foo"])
+ self.assertEqual(cat.log, ["unindex /site/foo"])
def test_reindexObject(self):
foo = self.site.foo
cat = self.ctool
foo.reindexObject()
- self.assertEquals(cat.log, ["reindex /site/foo []"])
- self.assert_(foo.notified)
+ self.assertEqual(cat.log, ["reindex /site/foo []"])
+ self.assertTrue(foo.notified)
def test_reindexObject_idxs(self):
foo = self.site.foo
cat = self.ctool
foo.reindexObject(idxs=['bar'])
- self.assertEquals(cat.log, ["reindex /site/foo ['bar']"])
- self.failIf(foo.notified)
+ self.assertEqual(cat.log, ["reindex /site/foo ['bar']"])
+ self.assertFalse(foo.notified)
def test_reindexObjectSecurity(self):
foo = self.site.foo
@@ -171,14 +186,14 @@
foo.reindexObjectSecurity()
l = list(cat.log)
l.sort()
- self.assertEquals(l, [
- "reindex /site/foo %s"%str(CMF_SECURITY_INDEXES),
- "reindex /site/foo/bar %s"%str(CMF_SECURITY_INDEXES),
- "reindex /site/foo/hop %s"%str(CMF_SECURITY_INDEXES),
+ self.assertEqual(l, [
+ "reindex /site/foo %s" % str(CMF_SECURITY_INDEXES),
+ "reindex /site/foo/bar %s" % str(CMF_SECURITY_INDEXES),
+ "reindex /site/foo/hop %s" % str(CMF_SECURITY_INDEXES),
])
- self.failIf(foo.notified)
- self.failIf(bar.notified)
- self.failIf(hop.notified)
+ self.assertFalse(foo.notified)
+ self.assertFalse(bar.notified)
+ self.assertFalse(hop.notified)
def test_reindexObjectSecurity_missing_raise(self):
# Exception raised for missing object (Zope 2.8 brains)
@@ -192,7 +207,7 @@
finally:
self._ignore_log_errors()
self.assertRaises(NotFound, foo.reindexObjectSecurity)
- self.failIf( self.logged ) # no logging due to raise
+ self.assertFalse(self.logged) # no logging due to raise
def test_reindexObjectSecurity_missing_noraise(self):
# Raising disabled
@@ -203,11 +218,11 @@
cat = self.ctool
cat.setObs([foo, missing])
foo.reindexObjectSecurity()
- self.assertEquals(cat.log,
- ["reindex /site/foo %s"%str(CMF_SECURITY_INDEXES)])
- self.failIf(foo.notified)
- self.failIf(missing.notified)
- self.assertEqual( len(self.logged), 1 ) # logging because no raise
+ self.assertEqual(cat.log,
+ ["reindex /site/foo %s" % str(CMF_SECURITY_INDEXES)])
+ self.assertFalse(foo.notified)
+ self.assertFalse(missing.notified)
+ self.assertEqual(len(self.logged), 1) # logging because no raise
def test_catalog_tool(self):
foo = self.site.foo
@@ -237,14 +252,10 @@
transaction.savepoint(optimistic=True)
return site
- def _initPolicyAndUser( self
- , a_lambda=None
- , v_lambda=None
- , c_lambda=None
- ):
+ def _initPolicyAndUser(self, a_lambda=None, v_lambda=None, c_lambda=None):
from AccessControl import SecurityManager
- def _promiscuous( *args, **kw ):
+ def _promiscuous(*args, **kw):
return 1
if a_lambda is None:
@@ -256,10 +267,10 @@
if c_lambda is None:
c_lambda = _promiscuous
- scp = _SensitiveSecurityPolicy( v_lambda, c_lambda )
- SecurityManager.setSecurityPolicy( scp )
- newSecurityManager( None
- , _AllowedUser(a_lambda).__of__(self.app.acl_users))
+ scp = _SensitiveSecurityPolicy(v_lambda, c_lambda)
+ SecurityManager.setSecurityPolicy(scp)
+ newSecurityManager(None,
+ _AllowedUser(a_lambda).__of__(self.app.acl_users))
def test_object_indexed_after_adding(self):
@@ -267,7 +278,7 @@
bar = TheClass('bar')
site._setObject('bar', bar)
cat = self.ctool
- self.assertEquals(cat.log, ["index /site/bar"])
+ self.assertEqual(cat.log, ["index /site/bar"])
def test_object_unindexed_after_removing(self):
@@ -277,7 +288,7 @@
cat = self.ctool
cat.log = []
site._delObject('bar')
- self.assertEquals(cat.log, ["unindex /site/bar"])
+ self.assertEqual(cat.log, ["unindex /site/bar"])
def test_object_indexed_after_copy_and_pasting(self):
@@ -298,7 +309,7 @@
cookie = folder1.manage_copyObjects(ids=['bar'])
folder2.manage_pasteObjects(cookie)
- self.assertEquals(cat.log, ["index /site/folder2/bar"])
+ self.assertEqual(cat.log, ["index /site/folder2/bar"])
def test_object_reindexed_after_cut_and_paste(self):
@@ -319,8 +330,8 @@
cookie = folder1.manage_cutObjects(ids=['bar'])
folder2.manage_pasteObjects(cookie)
- self.assertEquals(cat.log, ["unindex /site/folder1/bar",
- "index /site/folder2/bar"])
+ self.assertEqual(cat.log, ["unindex /site/folder1/bar",
+ "index /site/folder2/bar"])
def test_object_reindexed_after_moving(self):
@@ -335,8 +346,7 @@
transaction.savepoint(optimistic=True)
site.manage_renameObject(id='bar', new_id='baz')
- self.assertEquals(cat.log, ["unindex /site/bar",
- "index /site/baz"])
+ self.assertEqual(cat.log, ["unindex /site/bar", "index /site/baz"])
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_CachingPolicyManager.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_CachingPolicyManager.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_CachingPolicyManager.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -41,7 +41,7 @@
from Products.CMFCore.tests.base.testcase import SecurityTest
from Products.CMFCore.tests.base.testcase import TransactionalTest
-ACCLARK = DateTime( '2001/01/01' )
+ACCLARK = DateTime('2001/01/01')
portal_owner = 'portal_owner'
@@ -49,15 +49,16 @@
__allow_access_to_unprotected_subobjects__ = 1
- def __init__(self, modified ):
+ def __init__(self, modified):
self.modified = modified
- def Type( self ):
+ def Type(self):
return 'Dummy'
- def modified( self ):
+ def modified(self):
return self.modified
+
class CacheableDummyContent(Implicit, Cacheable):
__allow_access_to_unprotected_subobjects__ = 1
@@ -70,7 +71,7 @@
""" """
return self.id
- def modified( self ):
+ def modified(self):
return self.modified
def __call__(self):
@@ -86,6 +87,7 @@
self.ZCacheable_set(None)
+
class DummyView(CacheableDummyContent):
meta_type = 'DTML Method'
@@ -95,16 +97,16 @@
layer = TraversingZCMLLayer
- def _makePolicy( self, policy_id, **kw ):
+ def _makePolicy(self, policy_id, **kw):
from Products.CMFCore.CachingPolicyManager import CachingPolicy
- return CachingPolicy( policy_id, **kw )
+ return CachingPolicy(policy_id, **kw)
- def _makeContext( self, **kw ):
+ def _makeContext(self, **kw):
from Products.CMFCore.CachingPolicyManager import createCPContext
- return createCPContext( DummyContent2(self._epoch)
- , 'foo_view', kw, self._epoch )
+ return createCPContext(DummyContent2(self._epoch),
+ 'foo_view', kw, self._epoch)
def setUp(self):
self._epoch = DateTime(0)
@@ -116,292 +118,272 @@
verifyClass(ICachingPolicy, CachingPolicy)
- def test_empty( self ):
- policy = self._makePolicy( 'empty' )
+ def test_empty(self):
+ policy = self._makePolicy('empty')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 1 )
- self.assertEqual( headers[0][0], 'Last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0], 'Last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
- def test_noPassPredicate( self ):
- policy = self._makePolicy( 'noPassPredicate', predicate='nothing' )
+ def test_noPassPredicate(self):
+ policy = self._makePolicy('noPassPredicate', predicate='nothing')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
- def test_typePredicate( self ):
- policy = self._makePolicy( 'typePredicate'
- , predicate='python:object.Type() == "Dummy"' )
+ def test_typePredicate(self):
+ policy = self._makePolicy('typePredicate',
+ predicate='python:object.Type() == "Dummy"')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 1 )
- self.assertEqual( headers[0][0] , 'Last-modified' )
- self.assertEqual( headers[0][1] , rfc1123_date(self._epoch.timeTime()) )
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0], 'Last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
- def test_typePredicateMiss( self ):
- policy = self._makePolicy( 'typePredicate'
- , predicate='python:object.Type() == "Foolish"' )
+ def test_typePredicateMiss(self):
+ policy = self._makePolicy('typePredicate',
+ predicate='python:object.Type() == "Foolish"')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
- def test_viewPredicate( self ):
- policy = self._makePolicy( 'viewPredicate'
- , predicate='python:view == "foo_view"' )
+ def test_viewPredicate(self):
+ policy = self._makePolicy('viewPredicate',
+ predicate='python:view == "foo_view"')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 1 )
- self.assertEqual( headers[0][0], 'Last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0], 'Last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
- def test_viewPredicateMiss( self ):
- policy = self._makePolicy( 'viewPredicateMiss'
- , predicate='python:view == "bar_view"' )
+ def test_viewPredicateMiss(self):
+ policy = self._makePolicy('viewPredicateMiss',
+ predicate='python:view == "bar_view"')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
- def test_kwPredicate( self ):
- policy = self._makePolicy( 'kwPredicate'
- , predicate='python:"foo" in keywords.keys()' )
- context = self._makeContext( foo=1 )
- headers = policy.getHeaders( context )
+ def test_kwPredicate(self):
+ policy = self._makePolicy('kwPredicate',
+ predicate='python:"foo" in keywords.keys()')
+ context = self._makeContext(foo=1)
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 1 )
- self.assertEqual( headers[0][0], 'Last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0], 'Last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
- def test_kwPredicateMiss( self ):
- policy = self._makePolicy( 'kwPredicateMiss'
- , predicate='python:"foo" in keywords.keys()' )
- context = self._makeContext( bar=1 )
- headers = policy.getHeaders( context )
+ def test_kwPredicateMiss(self):
+ policy = self._makePolicy('kwPredicateMiss',
+ predicate='python:"foo" in keywords.keys()')
+ context = self._makeContext(bar=1)
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
- def test_mtimeFunc( self ):
- policy = self._makePolicy( 'mtimeFunc'
- , mtime_func='string:2001/01/01' )
+ def test_mtimeFunc(self):
+ policy = self._makePolicy('mtimeFunc', mtime_func='string:2001/01/01')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 1 )
- self.assertEqual( headers[0][0], 'Last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(ACCLARK.timeTime()) )
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0], 'Last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(ACCLARK.timeTime()))
- def test_mtimeFuncNone( self ):
- policy = self._makePolicy( 'mtimeFuncNone'
- , mtime_func='nothing' )
+ def test_mtimeFuncNone(self):
+ policy = self._makePolicy('mtimeFuncNone', mtime_func='nothing')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
- def test_maxAge( self ):
- policy = self._makePolicy( 'aged', max_age_secs=86400 )
+ def test_maxAge(self):
+ policy = self._makePolicy('aged', max_age_secs=86400)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 3 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'expires' )
- self.assertEqual( headers[1][1]
- , rfc1123_date((self._epoch+1).timeTime()) )
- self.assertEqual( headers[2][0].lower() , 'cache-control' )
- self.assertEqual( headers[2][1] , 'max-age=86400' )
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'expires')
+ self.assertEqual(headers[1][1],
+ rfc1123_date((self._epoch + 1).timeTime()))
+ self.assertEqual(headers[2][0].lower(), 'cache-control')
+ self.assertEqual(headers[2][1], 'max-age=86400')
- def test_sMaxAge( self ):
- policy = self._makePolicy( 's_aged', s_max_age_secs=86400 )
+ def test_sMaxAge(self):
+ policy = self._makePolicy('s_aged', s_max_age_secs=86400)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 's-maxage=86400' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 's-maxage=86400')
self.assertEqual(policy.getSMaxAgeSecs(), 86400)
- def test_noCache( self ):
- policy = self._makePolicy( 'noCache', no_cache=1 )
+ def test_noCache(self):
+ policy = self._makePolicy('noCache', no_cache=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 3 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'pragma' )
- self.assertEqual( headers[1][1] , 'no-cache' )
- self.assertEqual( headers[2][0].lower() , 'cache-control' )
- self.assertEqual( headers[2][1] , 'no-cache' )
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'pragma')
+ self.assertEqual(headers[1][1], 'no-cache')
+ self.assertEqual(headers[2][0].lower(), 'cache-control')
+ self.assertEqual(headers[2][1], 'no-cache')
- def test_noStore( self ):
- policy = self._makePolicy( 'noStore', no_store=1 )
+ def test_noStore(self):
+ policy = self._makePolicy('noStore', no_store=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'no-store' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'no-store')
- def test_mustRevalidate( self ):
- policy = self._makePolicy( 'mustRevalidate', must_revalidate=1 )
+ def test_mustRevalidate(self):
+ policy = self._makePolicy('mustRevalidate', must_revalidate=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'must-revalidate' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'must-revalidate')
- def test_proxyRevalidate( self ):
- policy = self._makePolicy( 'proxyRevalidate', proxy_revalidate=1 )
+ def test_proxyRevalidate(self):
+ policy = self._makePolicy('proxyRevalidate', proxy_revalidate=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'proxy-revalidate' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'proxy-revalidate')
self.assertEqual(policy.getProxyRevalidate(), 1)
- def test_public( self ):
- policy = self._makePolicy( 'public', public=1 )
+ def test_public(self):
+ policy = self._makePolicy('public', public=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'public' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'public')
self.assertEqual(policy.getPublic(), 1)
- def test_private( self ):
- policy = self._makePolicy( 'private', private=1 )
+ def test_private(self):
+ policy = self._makePolicy('private', private=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'private' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'private')
self.assertEqual(policy.getPrivate(), 1)
- def test_noTransform( self ):
- policy = self._makePolicy( 'noTransform', no_transform=1 )
+ def test_noTransform(self):
+ policy = self._makePolicy('noTransform', no_transform=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'no-transform' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'no-transform')
self.assertEqual(policy.getNoTransform(), 1)
- def test_lastModified( self ):
- policy = self._makePolicy( 'lastModified', last_modified=0 )
+ def test_lastModified(self):
+ policy = self._makePolicy('lastModified', last_modified=0)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(headers), 0)
self.assertEqual(policy.getLastModified(), 0)
- def test_preCheck( self ):
- policy = self._makePolicy( 'preCheck', pre_check=1 )
+ def test_preCheck(self):
+ policy = self._makePolicy('preCheck', pre_check=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'pre-check=1' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'pre-check=1')
self.assertEqual(policy.getPreCheck(), 1)
self.assertEqual(policy.getPostCheck(), None)
- def test_postCheck( self ):
- policy = self._makePolicy( 'postCheck', post_check=1 )
+ def test_postCheck(self):
+ policy = self._makePolicy('postCheck', post_check=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'cache-control' )
- self.assertEqual( headers[1][1] , 'post-check=1' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'cache-control')
+ self.assertEqual(headers[1][1], 'post-check=1')
self.assertEqual(policy.getPostCheck(), 1)
self.assertEqual(policy.getPreCheck(), None)
- def test_ETag( self ):
+ def test_ETag(self):
# With an empty etag_func, no ETag should be produced
- policy = self._makePolicy( 'ETag', etag_func='' )
+ policy = self._makePolicy('ETag', etag_func='')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 1)
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
- policy = self._makePolicy( 'ETag', etag_func='string:foo' )
+ policy = self._makePolicy('ETag', etag_func='string:foo')
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 2)
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower(), 'etag' )
- self.assertEqual( headers[1][1], 'foo' )
+ self.assertEqual(len(headers), 2)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'etag')
+ self.assertEqual(headers[1][1], 'foo')
- def test_combined( self ):
- policy = self._makePolicy( 'noStore', no_cache=1, no_store=1 )
+ def test_combined(self):
+ policy = self._makePolicy('noStore', no_cache=1, no_store=1)
context = self._makeContext()
- headers = policy.getHeaders( context )
+ headers = policy.getHeaders(context)
- self.assertEqual( len( headers ), 3 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'pragma' )
- self.assertEqual( headers[1][1] , 'no-cache' )
- self.assertEqual( headers[2][0].lower() , 'cache-control' )
- self.assertEqual( headers[2][1] , 'no-cache, no-store' )
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'pragma')
+ self.assertEqual(headers[1][1], 'no-cache')
+ self.assertEqual(headers[2][0].lower(), 'cache-control')
+ self.assertEqual(headers[2][1], 'no-cache, no-store')
class CachingPolicyManagerTests(unittest.TestCase):
@@ -420,8 +402,8 @@
self._epoch = DateTime()
getSiteManager().registerUtility(DummyTool(), IMembershipTool)
- def assertEqualDelta( self, lhs, rhs, delta ):
- self.failUnless( abs( lhs - rhs ) <= delta )
+ def assertEqualDelta(self, lhs, rhs, delta):
+ self.assertTrue(abs(lhs - rhs) <= delta)
def test_interfaces(self):
from Products.CMFCore.CachingPolicyManager import CachingPolicyManager
@@ -429,24 +411,23 @@
verifyClass(ICachingPolicyManager, CachingPolicyManager)
- def test_empty( self ):
+ def test_empty(self):
mgr = self._makeOne()
- self.assertEqual( len( mgr.listPolicies() ), 0 )
- headers = mgr.getHTTPCachingHeaders( content=DummyContent2(self._epoch)
- , view_method='foo_view'
- , keywords={}
- , time=self._epoch
- )
- self.assertEqual( len( headers ), 0 )
+ self.assertEqual(len(mgr.listPolicies()), 0)
+ headers = mgr.getHTTPCachingHeaders(content=DummyContent2(self._epoch),
+ view_method='foo_view',
+ keywords={},
+ time=self._epoch)
+ self.assertEqual(len(headers), 0)
- self.assertRaises( KeyError, mgr._updatePolicy,
+ self.assertRaises(KeyError, mgr._updatePolicy,
'xyzzy', None, None, None, None, None, None, '',
- '', None, None, None, None, None )
- self.assertRaises( KeyError, mgr._removePolicy, 'xyzzy' )
- self.assertRaises( KeyError, mgr._reorderPolicy, 'xyzzy', -1 )
+ '', None, None, None, None, None)
+ self.assertRaises(KeyError, mgr._removePolicy, 'xyzzy')
+ self.assertRaises(KeyError, mgr._reorderPolicy, 'xyzzy', -1)
- def test_addAndUpdatePolicy( self ):
+ def test_addAndUpdatePolicy(self):
mgr = self._makeOne()
mgr.addPolicy('first', 'python:1', 'mtime', 1, 0, 1, 0, 'vary',
'etag', None, 2, 1, 0, 1, 0, 1, 0, 2, 3)
@@ -492,117 +473,106 @@
self.assertEqual(p.getPreCheck(), 3)
self.assertEqual(p.getPostCheck(), 2)
- def test_reorder( self ):
+ def test_reorder(self):
mgr = self._makeOne()
- policy_ids = ( 'foo', 'bar', 'baz', 'qux' )
+ policy_ids = ('foo', 'bar', 'baz', 'qux')
for policy_id in policy_ids:
- mgr._addPolicy( policy_id
- , 'python:"%s" in keywords.keys()' % policy_id
- , None, 0, 0, 0, 0, '', '' )
+ mgr._addPolicy(policy_id,
+ 'python:"%s" in keywords.keys()' % policy_id,
+ None, 0, 0, 0, 0, '', '')
- ids = tuple( map( lambda x: x[0], mgr.listPolicies() ) )
- self.assertEqual( ids, policy_ids )
+ ids = tuple(map(lambda x: x[0], mgr.listPolicies()))
+ self.assertEqual(ids, policy_ids)
- mgr._reorderPolicy( 'bar', 3 )
+ mgr._reorderPolicy('bar', 3)
- ids = tuple( map( lambda x: x[0], mgr.listPolicies() ) )
- self.assertEqual( ids, ( 'foo', 'baz', 'qux', 'bar' ) )
+ ids = tuple(map(lambda x: x[0], mgr.listPolicies()))
+ self.assertEqual(ids, ('foo', 'baz', 'qux', 'bar'))
- def _makeOneWithPolicies( self ):
+ def _makeOneWithPolicies(self):
mgr = self._makeOne()
- policy_tuples = ( ( 'foo', None )
- , ( 'bar', 0 )
- , ( 'baz', 3600 )
- , ( 'qux', 86400 )
- )
+ policy_tuples = (('foo', None),
+ ('bar', 0),
+ ('baz', 3600),
+ ('qux', 86400))
for policy_id, max_age_secs in policy_tuples:
- mgr._addPolicy( policy_id
- , 'python:"%s" in keywords.keys()' % policy_id
- , None, max_age_secs, 0, 0, 0, '', '' )
+ mgr._addPolicy(policy_id,
+ 'python:"%s" in keywords.keys()' % policy_id,
+ None, max_age_secs, 0, 0, 0, '', '')
return mgr
- def test_lookupNoMatch( self ):
+ def test_lookupNoMatch(self):
mgr = self._makeOneWithPolicies()
- headers = mgr.getHTTPCachingHeaders( content=DummyContent2(self._epoch)
- , view_method='foo_view'
- , keywords={}
- , time=self._epoch
- )
- self.assertEqual( len( headers ), 0 )
+ headers = mgr.getHTTPCachingHeaders(content=DummyContent2(self._epoch),
+ view_method='foo_view',
+ keywords={},
+ time=self._epoch)
+ self.assertEqual(len(headers), 0)
- def test_lookupMatchFoo( self ):
+ def test_lookupMatchFoo(self):
mgr = self._makeOneWithPolicies()
- headers = mgr.getHTTPCachingHeaders( content=DummyContent2(self._epoch)
- , view_method='foo_view'
- , keywords={ 'foo' : 1 }
- , time=self._epoch
- )
- self.assertEqual( len( headers ), 1 )
- self.assertEqual( headers[0][0].lower(), 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
+ headers = mgr.getHTTPCachingHeaders(content=DummyContent2(self._epoch),
+ view_method='foo_view',
+ keywords={'foo': 1},
+ time=self._epoch)
+ self.assertEqual(len(headers), 1)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
- def test_lookupMatchBar( self ):
+ def test_lookupMatchBar(self):
mgr = self._makeOneWithPolicies()
- headers = mgr.getHTTPCachingHeaders( content=DummyContent2(self._epoch)
- , view_method='foo_view'
- , keywords={ 'bar' : 1 }
- , time=self._epoch
- )
- self.assertEqual( len( headers ), 3 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'expires' )
- self.assertEqual( headers[1][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[2][0].lower() , 'cache-control' )
- self.assertEqual( headers[2][1], 'max-age=0' )
+ headers = mgr.getHTTPCachingHeaders(content=DummyContent2(self._epoch),
+ view_method='foo_view',
+ keywords={'bar': 1},
+ time=self._epoch)
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'expires')
+ self.assertEqual(headers[1][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[2][0].lower(), 'cache-control')
+ self.assertEqual(headers[2][1], 'max-age=0')
- def test_lookupMatchBaz( self ):
+ def test_lookupMatchBaz(self):
mgr = self._makeOneWithPolicies()
- headers = mgr.getHTTPCachingHeaders( content=DummyContent2(self._epoch)
- , view_method='foo_view'
- , keywords={ 'baz' : 1 }
- , time=self._epoch
- )
- self.assertEqual( len( headers ), 3 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'expires' )
+ headers = mgr.getHTTPCachingHeaders(content=DummyContent2(self._epoch),
+ view_method='foo_view',
+ keywords={'baz': 1},
+ time=self._epoch)
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'expires')
- exp_time = DateTime( headers[1][1] )
- target = self._epoch + ( 1.0 / 24.0 )
- self.assertEqualDelta( exp_time, target, 0.01 )
+ exp_time = DateTime(headers[1][1])
+ target = self._epoch + (1.0 / 24.0)
+ self.assertEqualDelta(exp_time, target, 0.01)
- self.assertEqual( headers[2][0].lower() , 'cache-control' )
- self.assertEqual( headers[2][1] , 'max-age=3600' )
+ self.assertEqual(headers[2][0].lower(), 'cache-control')
+ self.assertEqual(headers[2][1], 'max-age=3600')
- def test_lookupMatchQux( self ):
+ def test_lookupMatchQux(self):
mgr = self._makeOneWithPolicies()
- headers = mgr.getHTTPCachingHeaders( content=DummyContent2(self._epoch)
- , view_method='foo_view'
- , keywords={ 'qux' : 1 }
- , time=self._epoch
- )
- self.assertEqual( len( headers ), 3 )
- self.assertEqual( headers[0][0].lower() , 'last-modified' )
- self.assertEqual( headers[0][1]
- , rfc1123_date(self._epoch.timeTime()) )
- self.assertEqual( headers[1][0].lower() , 'expires' )
+ headers = mgr.getHTTPCachingHeaders(content=DummyContent2(self._epoch),
+ view_method='foo_view',
+ keywords={'qux': 1},
+ time=self._epoch)
+ self.assertEqual(len(headers), 3)
+ self.assertEqual(headers[0][0].lower(), 'last-modified')
+ self.assertEqual(headers[0][1], rfc1123_date(self._epoch.timeTime()))
+ self.assertEqual(headers[1][0].lower(), 'expires')
- exp_time = DateTime( headers[1][1] )
+ exp_time = DateTime(headers[1][1])
target = self._epoch + 1.0
- self.assertEqualDelta( exp_time, target, 0.01 )
+ self.assertEqualDelta(exp_time, target, 0.01)
- self.assertEqual( headers[2][0].lower() , 'cache-control' )
- self.assertEqual( headers[2][1] , 'max-age=86400' )
+ self.assertEqual(headers[2][0].lower(), 'cache-control')
+ self.assertEqual(headers[2][1], 'max-age=86400')
class CachingPolicyManager304Tests(SecurityTest, FSDVTest):
@@ -636,7 +606,8 @@
# This is a FSPageTemplate that will be used as the View for
# our content objects. It doesn't matter what it returns.
path = os.path.join(self.skin_path_name, 'testPT2.pt')
- self.portal._setObject('dummy_view', FSPageTemplate('dummy_view', path))
+ self.portal._setObject('dummy_view',
+ FSPageTemplate('dummy_view', path))
uf = self.app.acl_users
password = 'secret'
@@ -657,42 +628,42 @@
# This policy only applies to doc1. It will not emit any ETag header
# but it enables If-modified-since handling.
- cpm.addPolicy(policy_id = 'policy_no_etag',
- predicate = 'python:object.getId()=="doc1"',
- mtime_func = '',
- max_age_secs = 0,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = '',
- etag_func = '',
- enable_304s = 1)
+ cpm.addPolicy(policy_id='policy_no_etag',
+ predicate='python:object.getId()=="doc1"',
+ mtime_func='',
+ max_age_secs=0,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='',
+ etag_func='',
+ enable_304s=1)
# This policy only applies to doc2. It will emit an ETag with
# the constant value "abc" and also enable if-modified-since handling.
- cpm.addPolicy(policy_id = 'policy_etag',
- predicate = 'python:object.getId()=="doc2"',
- mtime_func = '',
- max_age_secs = 0,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = '',
- etag_func = 'string:abc',
- enable_304s = 1)
+ cpm.addPolicy(policy_id='policy_etag',
+ predicate='python:object.getId()=="doc2"',
+ mtime_func='',
+ max_age_secs=0,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='',
+ etag_func='string:abc',
+ enable_304s=1)
# This policy only applies to doc3. Etags with constant values of
# "abc" are emitted, but if-modified-since handling is turned off.
- cpm.addPolicy(policy_id = 'policy_disabled',
- predicate = 'python:object.getId()=="doc3"',
- mtime_func = '',
- max_age_secs = 0,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = '',
- etag_func = 'string:abc',
- enable_304s = 0)
+ cpm.addPolicy(policy_id='policy_disabled',
+ predicate='python:object.getId()=="doc3"',
+ mtime_func='',
+ max_age_secs=0,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='',
+ etag_func='string:abc',
+ enable_304s=0)
def tearDown(self):
FSDVTest.tearDown(self)
@@ -702,10 +673,8 @@
# Clean up request and response
req = self.portal.REQUEST
- for header in ( 'IF_MODIFIED_SINCE'
- , 'HTTP_AUTHORIZATION'
- , 'IF_NONE_MATCH'
- ):
+ for header in ('IF_MODIFIED_SINCE', 'HTTP_AUTHORIZATION',
+ 'IF_NONE_MATCH'):
if req.environ.get(header, None) is not None:
del req.environ[header]
@@ -852,15 +821,16 @@
self.assertEqual(response.getStatus(), 200)
self._cleanup()
+
class FSObjMaker(FSDVTest):
- def _makeFSPageTemplate( self, id, filename ):
+ def _makeFSPageTemplate(self, id, filename):
path = path_join(self.skin_path_name, filename)
- return FSPageTemplate( id, path )
+ return FSPageTemplate(id, path)
- def _makeFSDTMLMethod( self, id, filename ):
+ def _makeFSDTMLMethod(self, id, filename):
path = path_join(self.skin_path_name, filename)
- return FSDTMLMethod( id, path )
+ return FSDTMLMethod(id, path)
class NestedTemplateTests(TransactionalTest, FSObjMaker):
@@ -893,21 +863,21 @@
TransactionalTest.tearDown(self)
FSObjMaker.tearDown(self)
- def test_subtemplate_cpm_1( self ):
+ def test_subtemplate_cpm_1(self):
# test that subtemplates dont call the cpm
# set up site
portal = self.portal
now = DateTime()
cpm = self.cpm
- cpm.addPolicy(policy_id = 'policy_op2',
- predicate = 'python:view=="output_page_2"',
- mtime_func = '',
- max_age_secs = 100,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc1',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_op2',
+ predicate='python:view=="output_page_2"',
+ mtime_func='',
+ max_age_secs=100,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc1',
+ etag_func='',
s_max_age_secs=100
)
@@ -915,8 +885,10 @@
content.modified_date = now
portal._setObject('content', content)
- output_page_1 = self._makeFSPageTemplate('output_page_1', 'output_page_1.zpt')
- output_page_2 = self._makeFSPageTemplate('output_page_2', 'output_page_2.zpt')
+ output_page_1 = self._makeFSPageTemplate('output_page_1',
+ 'output_page_1.zpt')
+ output_page_2 = self._makeFSPageTemplate('output_page_2',
+ 'output_page_2.zpt')
portal._setObject('output_page_1', output_page_1)
portal._setObject('output_page_2', output_page_2)
@@ -924,25 +896,25 @@
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
- def test_subtemplate_cpm_2( self ):
+ def test_subtemplate_cpm_2(self):
# test that calling content from a template doesnt call the cpm
# just calling an FSDTMLMethod directly from another template does
# not activate the bug because RESPONSE is not passed in
portal = self.portal
now = DateTime()
cpm = self.cpm
- cpm.addPolicy(policy_id = 'policy_op4',
- predicate = 'python:view=="output_page_4"',
- mtime_func = '',
- max_age_secs = 100,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc1',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_op4',
+ predicate='python:view=="output_page_4"',
+ mtime_func='',
+ max_age_secs=100,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc1',
+ etag_func='',
s_max_age_secs=100
)
@@ -953,50 +925,55 @@
content2.modified_date = now
portal._setObject('content2', content2)
- output_page_3 = self._makeFSDTMLMethod('output_page_3', 'output_page_3.dtml')
- output_page_4 = self._makeFSDTMLMethod('output_page_4', 'output_page_4.dtml')
- portal._setObject('output_page_4',output_page_4)
- portal._setObject('output_page_3',output_page_3)
+ output_page_3 = self._makeFSDTMLMethod('output_page_3',
+ 'output_page_3.dtml')
+ output_page_4 = self._makeFSDTMLMethod('output_page_4',
+ 'output_page_4.dtml')
+ portal._setObject('output_page_4', output_page_4)
+ portal._setObject('output_page_3', output_page_3)
# call the content
portal.content()
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
- def test_subtemplate_cpm_3( self ):
+ def test_subtemplate_cpm_3(self):
# test a bigger mix of zpt templates
# set up site
portal = self.portal
now = DateTime()
cpm = self.cpm
- cpm.addPolicy(policy_id = 'policy_nv1',
- predicate = 'python:view=="nested_view_1"',
- mtime_func = '',
- max_age_secs = 100,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc1',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_nv1',
+ predicate='python:view=="nested_view_1"',
+ mtime_func='',
+ max_age_secs=100,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc1',
+ etag_func='',
s_max_age_secs=100
)
doc1 = DummyContent(id='doc1', view_id='nested_view')
doc1.modified_date = now
- portal._setObject('doc1',doc1)
+ portal._setObject('doc1', doc1)
doc2 = DummyContent(id='doc2', view_id='nested_view_1')
doc2.modified_date = now
- portal._setObject('doc2',doc2)
+ portal._setObject('doc2', doc2)
doc3 = DummyContent(id='doc3', view_id='nested_view_2')
doc3.modified_date = now
- portal._setObject('doc3',doc3)
+ portal._setObject('doc3', doc3)
- nested_view = self._makeFSPageTemplate('nested_view', 'nested_view.zpt')
- nested_view_1 = self._makeFSPageTemplate('nested_view_1', 'nested_view_1.zpt')
- nested_view_2 = self._makeFSPageTemplate('nested_view_2', 'nested_view_2.zpt')
+ nested_view = self._makeFSPageTemplate('nested_view',
+ 'nested_view.zpt')
+ nested_view_1 = self._makeFSPageTemplate('nested_view_1',
+ 'nested_view_1.zpt')
+ nested_view_2 = self._makeFSPageTemplate('nested_view_2',
+ 'nested_view_2.zpt')
portal._setObject('nested_view', nested_view)
portal._setObject('nested_view_1', nested_view_1)
portal._setObject('nested_view_2', nested_view_2)
@@ -1005,37 +982,43 @@
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
- def test_mixed_subtemplate_cpm( self ):
+ def test_mixed_subtemplate_cpm(self):
# test a mix of zpt and dtml templates
# set up site
now = DateTime()
portal = self.portal
cpm = self.cpm
- cpm.addPolicy(policy_id = 'policy_nv1',
- predicate = 'python:view=="nested_view_1"',
- mtime_func = '',
- max_age_secs = 100,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc1',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_nv1',
+ predicate='python:view=="nested_view_1"',
+ mtime_func='',
+ max_age_secs=100,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc1',
+ etag_func='',
s_max_age_secs=100
)
- doc1 = DummyContent(id='doc1', view_id='nested_view', modified_date=now)
+ doc1 = DummyContent(id='doc1', view_id='nested_view',
+ modified_date=now)
portal._setObject('doc1', doc1)
- doc2 = DummyContent(id='doc2', view_id='nested_view_1', modified_date=now)
+ doc2 = DummyContent(id='doc2', view_id='nested_view_1',
+ modified_date=now)
portal._setObject('doc2', doc2)
- doc3 = DummyContent(id='doc3', view_id='nested_view_2', modified_date=now)
+ doc3 = DummyContent(id='doc3', view_id='nested_view_2',
+ modified_date=now)
portal._setObject('doc3', doc3)
- nested_view = self._makeFSPageTemplate('nested_view', 'nested_view.zpt')
- nested_view_1 = self._makeFSPageTemplate('nested_view_1', 'nested_view_1.zpt')
- nested_view_2 = self._makeFSDTMLMethod('nested_view_2', 'nested_view_2.dtml')
+ nested_view = self._makeFSPageTemplate('nested_view',
+ 'nested_view.zpt')
+ nested_view_1 = self._makeFSPageTemplate('nested_view_1',
+ 'nested_view_1.zpt')
+ nested_view_2 = self._makeFSDTMLMethod('nested_view_2',
+ 'nested_view_2.dtml')
portal._setObject('nested_view', nested_view)
portal._setObject('nested_view_1', nested_view_1)
portal._setObject('nested_view_2', nested_view_2)
@@ -1044,11 +1027,11 @@
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
def test_fireForSubtemplates(self):
- # This is a FSPageTemplate that will be used as the View for
+ # This is a FSPageTemplate that will be used as the View for
# our content objects. It doesn't matter what it returns.
dv = self._makeFSPageTemplate('dummy_view', 'testPT_CPM1.zpt')
self.portal._setObject('dummy_view', dv)
@@ -1057,9 +1040,9 @@
sv1 = self._makeFSPageTemplate('subview_1', 'testPT_CPM2.zpt')
sv2 = self._makeFSDTMLMethod('subview_2', 'testDTML_CPM3.dtml')
self.portal._setObject('subview_1', sv1)
- self.portal._setObject( 'subview_2', sv2)
+ self.portal._setObject('subview_2', sv2)
- for i in (1,2,3):
+ for i in (1, 2, 3):
id = 'doc%i' % i
title = 'Document %i' % i
description = 'This is document %i' % i
@@ -1073,28 +1056,28 @@
cpm = self.cpm
# This policy only applies to doc2.
- cpm.addPolicy(policy_id = 'policy_doc2',
- predicate = 'python:object.getId()=="doc2"',
- mtime_func = '',
- max_age_secs = 200,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc2',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_doc2',
+ predicate='python:object.getId()=="doc2"',
+ mtime_func='',
+ max_age_secs=200,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc2',
+ etag_func='',
pre_check=1
)
- # This policy only applies to doc3.
- cpm.addPolicy(policy_id = 'policy_doc3',
- predicate = 'python:object.getId()=="doc3"',
- mtime_func = '',
- max_age_secs = 300,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc3',
- etag_func = '',
+ # This policy only applies to doc3.
+ cpm.addPolicy(policy_id='policy_doc3',
+ predicate='python:object.getId()=="doc3"',
+ mtime_func='',
+ max_age_secs=300,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc3',
+ etag_func='',
post_check=1
)
@@ -1106,11 +1089,11 @@
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
def test_fireForSubtemplates2(self):
- # This is a FSPageTemplate that will be used as the View for
+ # This is a FSPageTemplate that will be used as the View for
# our content objects. It doesn't matter what it returns.
dv = self._makeFSPageTemplate('dummy_view', 'testPT_CPM1.zpt')
self.portal._setObject('dummy_view', dv)
@@ -1119,9 +1102,9 @@
sv1 = self._makeFSPageTemplate('subview_1', 'testPT_CPM2.zpt')
sv2 = self._makeFSDTMLMethod('subview_2', 'testDTML_CPM3.dtml')
self.portal._setObject('subview_1', sv1)
- self.portal._setObject( 'subview_2', sv2)
+ self.portal._setObject('subview_2', sv2)
- for i in (1,2,3):
+ for i in (1, 2, 3):
id = 'doc%i' % i
title = 'Document %i' % i
description = 'This is document %i' % i
@@ -1135,41 +1118,41 @@
cpm = self.cpm
# This policy only applies to doc1.
- cpm.addPolicy(policy_id = 'policy_doc1',
- predicate = 'python:object.getId()=="doc1"',
- mtime_func = '',
- max_age_secs = 100,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc1',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_doc1',
+ predicate='python:object.getId()=="doc1"',
+ mtime_func='',
+ max_age_secs=100,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc1',
+ etag_func='',
s_max_age_secs=100
)
# This policy only applies to doc2.
- cpm.addPolicy(policy_id = 'policy_doc2',
- predicate = 'python:object.getId()=="doc2"',
- mtime_func = '',
- max_age_secs = 200,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc2',
- etag_func = '',
+ cpm.addPolicy(policy_id='policy_doc2',
+ predicate='python:object.getId()=="doc2"',
+ mtime_func='',
+ max_age_secs=200,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc2',
+ etag_func='',
pre_check=1
)
- # This policy only applies to doc3.
- cpm.addPolicy(policy_id = 'policy_doc3',
- predicate = 'python:object.getId()=="doc3"',
- mtime_func = '',
- max_age_secs = 300,
- no_cache = 0,
- no_store = 0,
- must_revalidate = 0,
- vary = 'doc3',
- etag_func = '',
+ # This policy only applies to doc3.
+ cpm.addPolicy(policy_id='policy_doc3',
+ predicate='python:object.getId()=="doc3"',
+ mtime_func='',
+ max_age_secs=300,
+ no_cache=0,
+ no_store=0,
+ must_revalidate=0,
+ vary='doc3',
+ etag_func='',
post_check=1
)
@@ -1180,17 +1163,16 @@
self.portal.doc1.dummy_view()
# We want to make sure the correct policy (policy_doc1) has fired
- # Just to be sure, change headers so they are definitely all
+ # Just to be sure, change headers so they are definitely all
# lower-cased
headers = {}
header_info = self.RESPONSE.headers.items()
[headers.__setitem__(x[0].lower(), x[1]) for x in header_info]
- self.failUnless(headers.get('x-cache-headers-set-by'))
- self.assertEquals(headers.get('vary'), 'doc1')
- self.assertEquals( headers.get('cache-control')
- , 'max-age=100, s-maxage=100'
- )
+ self.assertTrue(headers.get('x-cache-headers-set-by'))
+ self.assertEqual(headers.get('vary'), 'doc1')
+ self.assertEqual(headers.get('cache-control'),
+ 'max-age=100, s-maxage=100')
class OFSCacheTests(TransactionalTest):
@@ -1246,21 +1228,20 @@
cpm = self.portal.caching_policy_manager
doc1 = self.portal.doc1
- self.failUnless(cpm._isCacheManager)
- self.failUnless(isinstance(cpm.ZCacheManager_getCache(), CPMCache))
- self.assertEquals( doc1.ZCacheable_getManagerIds()
- , ({'id':cpm.getId(), 'title':''},)
- )
+ self.assertTrue(cpm._isCacheManager)
+ self.assertTrue(isinstance(cpm.ZCacheManager_getCache(), CPMCache))
+ self.assertEqual(doc1.ZCacheable_getManagerIds(),
+ ({'id': cpm.getId(), 'title': ''},))
def test_no_association(self):
- # Render an item that would match the CPM policy, but don't
+ # Render an item that would match the CPM policy, but don't
# associate it with the CPM.
self.portal.doc1()
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
def test_unsuitable_association(self):
# Render an item that is associated with the CPM, but that does not
@@ -1273,8 +1254,8 @@
# no headers should be added by the CPM if all is well
headers = [x.lower() for x in self.RESPONSE.headers.keys()]
- self.failIf('x-cache-headers-set-by' in headers)
- self.failIf('vary' in headers)
+ self.assertFalse('x-cache-headers-set-by' in headers)
+ self.assertFalse('vary' in headers)
def test_suitable_association(self):
# Render a content item that will trigger the CPM
@@ -1285,17 +1266,15 @@
doc1()
# Policy "policy_1" should have triggered
- # Just to be sure, change headers so they are definitely all
+ # Just to be sure, change headers so they are definitely all
# lower-cased
headers = {}
header_info = self.RESPONSE.headers.items()
[headers.__setitem__(x[0].lower(), x[1]) for x in header_info]
- self.failUnless(headers.get('x-cache-headers-set-by'))
- self.assertEquals(headers.get('vary'), 'doc1')
- self.assertEquals( headers.get('cache-control')
- , 'max-age=100'
- )
+ self.assertTrue(headers.get('x-cache-headers-set-by'))
+ self.assertEqual(headers.get('vary'), 'doc1')
+ self.assertEqual(headers.get('cache-control'), 'max-age=100')
def test_with_view(self):
# Render a view for a content item that will trigger the CPM
@@ -1307,17 +1286,15 @@
doc1.a_view()
# Policy "policy_1" should have triggered
- # Just to be sure, change headers so they are definitely all
+ # Just to be sure, change headers so they are definitely all
# lower-cased
headers = {}
header_info = self.RESPONSE.headers.items()
[headers.__setitem__(x[0].lower(), x[1]) for x in header_info]
- self.failUnless(headers.get('x-cache-headers-set-by'))
- self.assertEquals(headers.get('vary'), 'doc1')
- self.assertEquals( headers.get('cache-control')
- , 'max-age=100'
- )
+ self.assertTrue(headers.get('x-cache-headers-set-by'))
+ self.assertEqual(headers.get('vary'), 'doc1')
+ self.assertEqual(headers.get('cache-control'), 'max-age=100')
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_CatalogTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_CatalogTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_CatalogTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -22,9 +22,7 @@
from zope.interface import implements
from zope.testing.cleanup import cleanUp
-from Products.CMFCore.interfaces import ICatalogTool
from Products.CMFCore.interfaces import IContentish
-from Products.CMFCore.interfaces import IIndexableObject
from Products.CMFCore.interfaces import IWorkflowTool
from Products.CMFCore.tests.base.dummy import DummyContent
from Products.CMFCore.tests.base.dummy import DummySite
@@ -35,11 +33,6 @@
id = 'portal'
-class FakeCatalog(Implicit):
- implements(ICatalogTool)
- id = 'portal_catalog'
-
-
class FakeWorkflowTool(Implicit):
id = 'portal_workflow'
@@ -50,16 +43,6 @@
return self._vars
-class CatalogDummyContent(DummyContent):
-
- """ Dummy content that already provides IIndexableObject
- and therefore does not need a wrapper to be registered
- """
-
- implements(IIndexableObject)
- allowedRolesAndUsers = ['Manager'] # default value
-
-
class IndexableObjectWrapperTests(unittest.TestCase):
def _getTargetClass(self):
@@ -68,13 +51,17 @@
return IndexableObjectWrapper
def _makeOne(self, vars, obj):
+ from Products.CMFCore.interfaces import ICatalogTool
+
+ class FakeCatalog(Implicit):
+ implements(ICatalogTool)
+ id = 'portal_catalog'
+
getSiteManager().registerUtility(FakeWorkflowTool(vars), IWorkflowTool)
catalog = FakeCatalog().__of__(FakeFolder())
return self._getTargetClass()(obj, catalog)
def _makeContent(self, *args, **kw):
- from Products.CMFCore.tests.base.dummy import DummyContent
-
return DummyContent(*args, **kw)
def tearDown(self):
@@ -118,9 +105,9 @@
obj = self._makeContent()
w = self._makeOne({}, obj)
- self.failUnless(IContentish.providedBy(w))
- self.failUnless(IIndexableObjectWrapper.providedBy(w))
- self.failUnless(IIndexableObject.providedBy(w))
+ self.assertTrue(IContentish.providedBy(w))
+ self.assertTrue(IIndexableObjectWrapper.providedBy(w))
+ self.assertTrue(IIndexableObject.providedBy(w))
def test_adapts(self):
from zope.component import adaptedBy
@@ -142,6 +129,17 @@
return self._getTargetClass()(*args, **kw)
def _makeContent(self, *args, **kw):
+ from Products.CMFCore.interfaces import IIndexableObject
+
+ class CatalogDummyContent(DummyContent):
+
+ """ Dummy content that already provides IIndexableObject
+ and therefore does not need a wrapper to be registered
+ """
+
+ implements(IIndexableObject)
+ allowedRolesAndUsers = ['Manager'] # default value
+
return CatalogDummyContent(*args, **kw)
def test_interfaces(self):
@@ -168,8 +166,10 @@
def setupProxyRoles(self, *proxy_roles):
from AccessControl import getSecurityManager
+
class FauxExecutable:
_proxy_roles = proxy_roles
+
sm = getSecurityManager()
sm.addContext(FauxExecutable())
@@ -201,7 +201,7 @@
catalog.addIndex('allowedRolesAndUsers', 'KeywordIndex')
catalog.addIndex('meta_type', 'FieldIndex')
dummy = self._makeContent(catalog=1)
- dummy.allowedRolesAndUsers = ('Blob', )
+ dummy.allowedRolesAndUsers = ('Blob',)
catalog.catalog_object(dummy, '/dummy')
self.loginWithRoles('Blob')
@@ -215,7 +215,7 @@
catalog.addIndex('allowedRolesAndUsers', 'KeywordIndex')
catalog.addIndex('meta_type', 'FieldIndex')
dummy = self._makeContent(catalog=1)
- dummy.allowedRolesAndUsers = ('Blob', )
+ dummy.allowedRolesAndUsers = ('Blob',)
catalog.catalog_object(dummy, '/dummy')
self.loginWithRoles('Blob')
@@ -230,7 +230,7 @@
catalog.addIndex('allowedRolesAndUsers', 'KeywordIndex')
catalog.addIndex('meta_type', 'FieldIndex')
dummy = self._makeContent(catalog=1)
- dummy.allowedRoleAndUsers = ('Blob', )
+ dummy.allowedRoleAndUsers = ('Blob',)
catalog.catalog_object(dummy, '/dummy')
self.loginWithRoles('Waggle')
@@ -244,7 +244,7 @@
catalog.addIndex('allowedRolesAndUsers', 'KeywordIndex')
catalog.addIndex('meta_type', 'FieldIndex')
dummy = self._makeContent(catalog=1)
- dummy.allowedRolesAndUsers = ('Blob', )
+ dummy.allowedRolesAndUsers = ('Blob',)
catalog.catalog_object(dummy, '/dummy')
self.loginWithRoles('Waggle')
@@ -263,21 +263,21 @@
catalog.addIndex('meta_type', 'FieldIndex')
now = DateTime()
dummy = self._makeContent(catalog=1)
- dummy.allowedRolesAndUsers = ('Blob', )
+ dummy.allowedRolesAndUsers = ('Blob',)
self.loginWithRoles('Blob')
# not yet effective
- dummy.effective = now+1
- dummy.expires = now+2
+ dummy.effective = now + 1
+ dummy.expires = now + 2
catalog.catalog_object(dummy, '/dummy')
query = {'meta_type': 'Dummy'}
self.assertEqual(1, len(catalog._catalog.searchResults(query)))
self.assertEqual(0, len(catalog.searchResults(query)))
# already expired
- dummy.effective = now-2
- dummy.expires = now-1
+ dummy.effective = now - 2
+ dummy.expires = now - 1
catalog.catalog_object(dummy, '/dummy')
self.assertEqual(1, len(catalog._catalog.searchResults(query)))
self.assertEqual(0, len(catalog.searchResults(query)))
@@ -295,29 +295,29 @@
self.loginManager()
# already expired
- dummy.effective = now-4
- dummy.expires = now-2
+ dummy.effective = now - 4
+ dummy.expires = now - 2
catalog.catalog_object(dummy, '/dummy')
query = {'meta_type': 'Dummy'}
self.assertEqual(1, len(catalog._catalog.searchResults(query)))
self.assertEqual(1, len(catalog.searchResults(query)))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-3, 'range': 'min'})))
+ expires={'query': now - 3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-1, 'range': 'min'})))
+ expires={'query': now - 1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-3, 'range': 'max'})))
+ expires={'query': now - 3, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-1, 'range': 'max'})))
+ expires={'query': now - 1, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': (now-3, now-1), 'range': 'min:max'})))
+ expires={'query': (now - 3, now - 1), 'range': 'min:max'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': (now-3, now-1), 'range': 'minmax'})))
+ expires={'query': (now - 3, now - 1), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-2})))
+ expires={'query': now - 2})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-2, 'range': None})))
+ expires={'query': now - 2, 'range': None})))
def test_search_restrict_inactive(self):
from DateTime.DateTime import DateTime
@@ -328,31 +328,31 @@
catalog.addIndex('meta_type', 'FieldIndex')
now = DateTime()
dummy = self._makeContent(catalog=1)
- dummy.allowedRolesAndUsers = ('Blob', )
+ dummy.allowedRolesAndUsers = ('Blob',)
self.loginWithRoles('Blob')
# already expired
- dummy.effective = now-4
- dummy.expires = now-2
+ dummy.effective = now - 4
+ dummy.expires = now - 2
catalog.catalog_object(dummy, '/dummy')
query = {'meta_type': 'Dummy'}
self.assertEqual(1, len(catalog._catalog.searchResults(query)))
self.assertEqual(0, len(catalog.searchResults(query)))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-3, 'range': 'min'})))
+ expires={'query': now - 3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-3, 'range': 'max'})))
+ expires={'query': now - 3, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now+3, 'range': 'min'})))
+ expires={'query': now + 3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now+3, 'range': 'max'})))
+ expires={'query': now + 3, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': (now-3, now-1), 'range': 'min:max'})))
+ expires={'query': (now - 3, now - 1), 'range': 'min:max'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': (now-3, now-1), 'range': 'minmax'})))
+ expires={'query': (now - 3, now - 1), 'range': 'minmax'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-2, 'range': None})))
+ expires={'query': now - 2, 'range': None})))
def test_search_restrict_visible(self):
from DateTime.DateTime import DateTime
@@ -364,79 +364,79 @@
now = DateTime()
dummy = self._makeContent(catalog=1)
- dummy.allowedRolesAndUsers = ('Blob', )
+ dummy.allowedRolesAndUsers = ('Blob',)
self.loginWithRoles('Blob')
# visible
- dummy.effective = now-2
- dummy.expires = now+2
+ dummy.effective = now - 2
+ dummy.expires = now + 2
catalog.catalog_object(dummy, '/dummy')
query = {'meta_type': 'Dummy'}
self.assertEqual(1, len(catalog._catalog.searchResults(query)))
self.assertEqual(1, len(catalog.searchResults(query)))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': now-1, 'range': 'min'})))
+ effective={'query': now - 1, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': now-1, 'range': 'max'})))
+ effective={'query': now - 1, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': now+1, 'range': 'min'})))
+ effective={'query': now + 1, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': now+1, 'range': 'max'})))
+ effective={'query': now + 1, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': (now-1, now+1), 'range': 'min:max'})))
+ effective={'query': (now - 1, now + 1), 'range': 'min:max'})))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': (now-1, now+1), 'range': 'minmax'})))
+ effective={'query': (now - 1, now + 1), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-2, 'range': None})))
+ expires={'query': now - 2, 'range': None})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': now-3, 'range': 'min'})))
+ effective={'query': now - 3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': now-3, 'range': 'max'})))
+ effective={'query': now - 3, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': now+3, 'range': 'min'})))
+ effective={'query': now + 3, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': now+3, 'range': 'max'})))
+ effective={'query': now + 3, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': (now-3, now+3), 'range': 'min:max'})))
+ effective={'query': (now - 3, now + 3), 'range': 'min:max'})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': (now-3, now+3), 'range': 'minmax'})))
+ effective={'query': (now - 3, now + 3), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-1, 'range': 'min'})))
+ expires={'query': now - 1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-1, 'range': 'max'})))
+ expires={'query': now - 1, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now+1, 'range': 'min'})))
+ expires={'query': now + 1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now+1, 'range': 'max'})))
+ expires={'query': now + 1, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': (now-1, now+1), 'range': 'min:max'})))
+ expires={'query': (now - 1, now + 1), 'range': 'min:max'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': (now-1, now+1), 'range': 'minmax'})))
+ expires={'query': (now - 1, now + 1), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now-3, 'range': 'min'})))
+ expires={'query': now - 3, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now-3, 'range': 'max'})))
+ expires={'query': now - 3, 'range': 'max'})))
self.assertEqual(0, len(catalog.searchResults(
- expires={'query': now+3, 'range': 'min'})))
+ expires={'query': now + 3, 'range': 'min'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': now+3, 'range': 'max'})))
+ expires={'query': now + 3, 'range': 'max'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': (now-3, now+3), 'range': 'min:max'})))
+ expires={'query': (now - 3, now + 3), 'range': 'min:max'})))
self.assertEqual(1, len(catalog.searchResults(
- expires={'query': (now-3, now+3), 'range': 'minmax'})))
+ expires={'query': (now - 3, now + 3), 'range': 'minmax'})))
self.assertEqual(1, len(catalog.searchResults(
- effective={'query': now-1, 'range': 'max'},
- expires={'query': now+1, 'range': 'min'})))
+ effective={'query': now - 1, 'range': 'max'},
+ expires={'query': now + 1, 'range': 'min'})))
self.assertEqual(0, len(catalog.searchResults(
- effective={'query': now+1, 'range': 'max'},
- expires={'query': now+3, 'range': 'min'})))
+ effective={'query': now + 1, 'range': 'max'},
+ expires={'query': now + 3, 'range': 'min'})))
def test_convertQuery(self):
convert = self._makeOne()._convertQuery
@@ -507,28 +507,28 @@
# First case, no proxy roles set at all
arus = catalog._listAllowedRolesAndUsers(user)
- self.assertEquals(len(arus), 3)
- self.failUnless('Anonymous' in arus)
- self.failUnless('Blob' in arus)
- self.failUnless('user:%s' % user.getId() in arus)
+ self.assertEqual(len(arus), 3)
+ self.assertTrue('Anonymous' in arus)
+ self.assertTrue('Blob' in arus)
+ self.assertTrue('user:%s' % user.getId() in arus)
# Second case, a proxy role is set
self.setupProxyRoles('Waggle')
arus = catalog._listAllowedRolesAndUsers(user)
- self.assertEquals(len(arus), 3)
- self.failUnless('Anonymous' in arus)
- self.failUnless('Waggle' in arus)
- self.failUnless('user:%s' % user.getId() in arus)
+ self.assertEqual(len(arus), 3)
+ self.assertTrue('Anonymous' in arus)
+ self.assertTrue('Waggle' in arus)
+ self.assertTrue('user:%s' % user.getId() in arus)
# Third case, proxy roles are an empty tuple. This happens if
# proxy roles are unset using the ZMI. The behavior should
# mirror the first case with no proxy role setting at all.
self.setupProxyRoles()
arus = catalog._listAllowedRolesAndUsers(user)
- self.assertEquals(len(arus), 3)
- self.failUnless('Anonymous' in arus)
- self.failUnless('Blob' in arus)
- self.failUnless('user:%s' % user.getId() in arus)
+ self.assertEqual(len(arus), 3)
+ self.assertTrue('Anonymous' in arus)
+ self.assertTrue('Blob' in arus)
+ self.assertTrue('user:%s' % user.getId() in arus)
def test_wrapping1(self):
# DummyContent implements IIndexableObject
@@ -554,6 +554,8 @@
def test_wrapping3(self):
# DummyContent does not implement IIndexableObject
# wrapper registered - should look this up
+ from Products.CMFCore.interfaces import ICatalogTool
+ from Products.CMFCore.interfaces import IIndexableObject
def FakeWrapper(object, catalog):
return object
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_ContentTypeRegistry.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_ContentTypeRegistry.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_ContentTypeRegistry.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -32,37 +32,37 @@
verifyClass(IContentTypeRegistryPredicate, MajorMinorPredicate)
- def test_empty( self ):
+ def test_empty(self):
pred = self._makeOne('empty')
- assert pred.getMajorType() == 'None'
- assert pred.getMinorType() == 'None'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
+ self.assertEqual(pred.getMajorType(), 'None')
+ self.assertEqual(pred.getMinorType(), 'None')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
- def test_simple( self ):
+ def test_simple(self):
pred = self._makeOne('plaintext')
- pred.edit( 'text', 'plain' )
- assert pred.getMajorType() == 'text'
- assert pred.getMinorType() == 'plain'
- assert pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert not pred( 'foo', 'text/html', 'asdfljksadf' )
- assert not pred( '', '', '' )
- assert not pred( '', 'asdf', '' )
+ pred.edit('text', 'plain')
+ self.assertEqual(pred.getMajorType(), 'text')
+ self.assertEqual(pred.getMinorType(), 'plain')
+ self.assertTrue(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('foo', 'text/html', 'asdfljksadf'))
+ self.assertFalse(pred('', '', ''))
+ self.assertFalse(pred('', 'asdf', ''))
- def test_wildcard( self ):
+ def test_wildcard(self):
pred = self._makeOne('alltext')
- pred.edit( 'text', '' )
- assert pred.getMajorType() == 'text'
- assert pred.getMinorType() == ''
- assert pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo', 'text/html', 'asdfljksadf' )
- assert not pred( 'foo', 'image/png', 'asdfljksadf' )
+ pred.edit('text', '')
+ self.assertEqual(pred.getMajorType(), 'text')
+ self.assertEqual(pred.getMinorType(), '')
+ self.assertTrue(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo', 'text/html', 'asdfljksadf'))
+ self.assertFalse(pred('foo', 'image/png', 'asdfljksadf'))
- pred.edit( '', 'html' )
- assert pred.getMajorType() == ''
- assert pred.getMinorType() == 'html'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo', 'text/html', 'asdfljksadf' )
- assert not pred( 'foo', 'image/png', 'asdfljksadf' )
+ pred.edit('', 'html')
+ self.assertEqual(pred.getMajorType(), '')
+ self.assertEqual(pred.getMinorType(), 'html')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo', 'text/html', 'asdfljksadf'))
+ self.assertFalse(pred('foo', 'image/png', 'asdfljksadf'))
class ExtensionPredicateTests(unittest.TestCase):
@@ -78,31 +78,31 @@
verifyClass(IContentTypeRegistryPredicate, ExtensionPredicate)
- def test_empty( self ):
+ def test_empty(self):
pred = self._makeOne('empty')
- assert pred.getExtensions() == 'None'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert not pred( 'foo.txt', 'text/plain', 'asdfljksadf' )
- assert not pred( 'foo.bar', 'text/html', 'asdfljksadf' )
+ self.assertEqual(pred.getExtensions(), 'None')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('foo.txt', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('foo.bar', 'text/html', 'asdfljksadf'))
- def test_simple( self ):
+ def test_simple(self):
pred = self._makeOne('stardottext')
- pred.edit( 'txt' )
- assert pred.getExtensions() == 'txt'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo.txt', 'text/plain', 'asdfljksadf' )
- assert not pred( 'foo.bar', 'text/html', 'asdfljksadf' )
+ pred.edit('txt')
+ self.assertEqual(pred.getExtensions(), 'txt')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo.txt', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('foo.bar', 'text/html', 'asdfljksadf'))
- def test_multi( self ):
+ def test_multi(self):
pred = self._makeOne('stardottext')
- pred.edit( 'txt text html htm' )
- assert pred.getExtensions() == 'txt text html htm'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo.txt', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo.text', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo.html', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo.htm', 'text/plain', 'asdfljksadf' )
- assert not pred( 'foo.bar', 'text/html', 'asdfljksadf' )
+ pred.edit('txt text html htm')
+ self.assertEqual(pred.getExtensions(), 'txt text html htm')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo.txt', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo.text', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo.html', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo.htm', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('foo.bar', 'text/html', 'asdfljksadf'))
class MimeTypeRegexPredicateTests(unittest.TestCase):
@@ -120,25 +120,25 @@
verifyClass(IContentTypeRegistryPredicate, MimeTypeRegexPredicate)
- def test_empty( self ):
+ def test_empty(self):
pred = self._makeOne('empty')
- assert pred.getPatternStr() == 'None'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
+ self.assertEqual(pred.getPatternStr(), 'None')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
- def test_simple( self ):
+ def test_simple(self):
pred = self._makeOne('plaintext')
- pred.edit( 'text/plain' )
- assert pred.getPatternStr() == 'text/plain'
- assert pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert not pred( 'foo', 'text/html', 'asdfljksadf' )
+ pred.edit('text/plain')
+ self.assertEqual(pred.getPatternStr(), 'text/plain')
+ self.assertTrue(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('foo', 'text/html', 'asdfljksadf'))
- def test_pattern( self ):
+ def test_pattern(self):
pred = self._makeOne('alltext')
- pred.edit( 'text/*' )
- assert pred.getPatternStr() == 'text/*'
- assert pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert pred( 'foo', 'text/html', 'asdfljksadf' )
- assert not pred( 'foo', 'image/png', 'asdfljksadf' )
+ pred.edit('text/*')
+ self.assertEqual(pred.getPatternStr(), 'text/*')
+ self.assertTrue(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('foo', 'text/html', 'asdfljksadf'))
+ self.assertFalse(pred('foo', 'image/png', 'asdfljksadf'))
class NameRegexPredicateTests(unittest.TestCase):
@@ -154,26 +154,26 @@
verifyClass(IContentTypeRegistryPredicate, NameRegexPredicate)
- def test_empty( self ):
+ def test_empty(self):
pred = self._makeOne('empty')
- assert pred.getPatternStr() == 'None'
- assert not pred( 'foo', 'text/plain', 'asdfljksadf' )
+ self.assertEqual(pred.getPatternStr(), 'None')
+ self.assertFalse(pred('foo', 'text/plain', 'asdfljksadf'))
- def test_simple( self ):
+ def test_simple(self):
pred = self._makeOne('onlyfoo')
- pred.edit( 'foo' )
- assert pred.getPatternStr() == 'foo'
- assert pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert not pred( 'fargo', 'text/plain', 'asdfljksadf' )
- assert not pred( 'bar', 'text/plain', 'asdfljksadf' )
+ pred.edit('foo')
+ self.assertEqual(pred.getPatternStr(), 'foo')
+ self.assertTrue(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('fargo', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('bar', 'text/plain', 'asdfljksadf'))
- def test_pattern( self ):
+ def test_pattern(self):
pred = self._makeOne('allfwords')
- pred.edit( 'f.*' )
- assert pred.getPatternStr() == 'f.*'
- assert pred( 'foo', 'text/plain', 'asdfljksadf' )
- assert pred( 'fargo', 'text/plain', 'asdfljksadf' )
- assert not pred( 'bar', 'text/plain', 'asdfljksadf' )
+ pred.edit('f.*')
+ self.assertEqual(pred.getPatternStr(), 'f.*')
+ self.assertTrue(pred('foo', 'text/plain', 'asdfljksadf'))
+ self.assertTrue(pred('fargo', 'text/plain', 'asdfljksadf'))
+ self.assertFalse(pred('bar', 'text/plain', 'asdfljksadf'))
class ContentTypeRegistryTests(unittest.TestCase):
@@ -183,7 +183,7 @@
return ContentTypeRegistry(*args, **kw)
- def setUp( self ):
+ def setUp(self):
self.reg = self._makeOne()
def test_interfaces(self):
@@ -192,37 +192,42 @@
verifyClass(IContentTypeRegistry, ContentTypeRegistry)
- def test_empty( self ):
- reg=self.reg
- assert reg.findTypeName( 'foo', 'text/plain', 'asdfljksadf' ) is None
- assert reg.findTypeName( 'fargo', 'text/plain', 'asdfljksadf' ) is None
- assert reg.findTypeName( 'bar', 'text/plain', 'asdfljksadf' ) is None
- assert not reg.listPredicates()
- self.assertRaises( KeyError, reg.removePredicate, 'xyzzy' )
+ def test_empty(self):
+ reg = self.reg
+ self.assertTrue(reg.findTypeName('foo', 'text/plain', 'asdfljksadf')
+ is None)
+ self.assertTrue(reg.findTypeName('fargo', 'text/plain', 'asdfljksadf')
+ is None)
+ self.assertTrue(reg.findTypeName('bar', 'text/plain', 'asdfljksadf')
+ is None)
+ self.assertFalse(reg.listPredicates())
+ self.assertRaises(KeyError, reg.removePredicate, 'xyzzy')
- def test_reorder( self ):
- reg=self.reg
- predIDs = ( 'foo', 'bar', 'baz', 'qux' )
+ def test_reorder(self):
+ reg = self.reg
+ predIDs = ('foo', 'bar', 'baz', 'qux')
for predID in predIDs:
- reg.addPredicate( predID, 'name_regex' )
- ids = tuple( map( lambda x: x[0], reg.listPredicates() ) )
- assert ids == predIDs
- reg.reorderPredicate( 'bar', 3 )
- ids = tuple( map( lambda x: x[0], reg.listPredicates() ) )
- assert ids == ( 'foo', 'baz', 'qux', 'bar' )
+ reg.addPredicate(predID, 'name_regex')
+ ids = tuple(map(lambda x: x[0], reg.listPredicates()))
+ self.assertEqual(ids, predIDs)
+ reg.reorderPredicate('bar', 3)
+ ids = tuple(map(lambda x: x[0], reg.listPredicates()))
+ self.assertEqual(ids, ('foo', 'baz', 'qux', 'bar'))
- def test_lookup( self ):
- reg=self.reg
- reg.addPredicate( 'image', 'major_minor' )
- reg.getPredicate( 'image' ).edit( 'image', '' )
- reg.addPredicate( 'onlyfoo', 'name_regex' )
- reg.getPredicate( 'onlyfoo' ).edit( 'foo' )
- reg.assignTypeName( 'onlyfoo', 'Foo' )
- assert reg.findTypeName( 'foo', 'text/plain', 'asdfljksadf' ) == 'Foo'
- assert not reg.findTypeName( 'fargo', 'text/plain', 'asdfljksadf' )
- assert not reg.findTypeName( 'bar', 'text/plain', 'asdfljksadf' )
- assert reg.findTypeName( 'foo', '', '' ) == 'Foo'
- assert reg.findTypeName( 'foo', None, None ) == 'Foo'
+ def test_lookup(self):
+ reg = self.reg
+ reg.addPredicate('image', 'major_minor')
+ reg.getPredicate('image').edit('image', '')
+ reg.addPredicate('onlyfoo', 'name_regex')
+ reg.getPredicate('onlyfoo').edit('foo')
+ reg.assignTypeName('onlyfoo', 'Foo')
+ self.assertEqual(reg.findTypeName('foo', 'text/plain', 'asdfljksadf'),
+ 'Foo')
+ self.assertFalse(reg.findTypeName('fargo', 'text/plain',
+ 'asdfljksadf'))
+ self.assertFalse(reg.findTypeName('bar', 'text/plain', 'asdfljksadf'))
+ self.assertEqual(reg.findTypeName('foo', '', ''), 'Foo')
+ self.assertEqual(reg.findTypeName('foo', None, None), 'Foo')
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_CookieCrumbler.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_CookieCrumbler.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_CookieCrumbler.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -122,117 +122,112 @@
def testNoCookies(self):
# verify the cookie crumbler doesn't break when no cookies are given
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, _credentials = self._makeSite()
req.traverse('/')
self.assertEqual(req['AUTHENTICATED_USER'].getUserName(),
'Anonymous User')
def testCookieLogin(self):
# verify the user and auth cookie get set
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, credentials = self._makeSite()
req.cookies['__ac_name'] = 'abraham'
req.cookies['__ac_password'] = 'pass-w'
req.traverse('/')
- self.failUnless(req.has_key('AUTHENTICATED_USER'))
- self.assertEqual(req['AUTHENTICATED_USER'].getUserName(),
- 'abraham')
+ self.assertTrue('AUTHENTICATED_USER' in req)
+ self.assertEqual(req['AUTHENTICATED_USER'].getUserName(), 'abraham')
resp = req.response
- self.failUnless(resp.cookies.has_key('__ac'))
- self.assertEqual(resp.cookies['__ac']['value'],
- credentials)
+ self.assertTrue('__ac' in resp.cookies)
+ self.assertEqual(resp.cookies['__ac']['value'], credentials)
self.assertEqual(resp.cookies['__ac']['path'], '/')
def testCookieResume(self):
# verify the cookie crumbler continues the session
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, credentials = self._makeSite()
req.cookies['__ac'] = credentials
req.traverse('/')
- self.failUnless(req.has_key('AUTHENTICATED_USER'))
- self.assertEqual(req['AUTHENTICATED_USER'].getUserName(),
- 'abraham')
+ self.assertTrue('AUTHENTICATED_USER' in req)
+ self.assertEqual(req['AUTHENTICATED_USER'].getUserName(), 'abraham')
def testPasswordShredding(self):
# verify the password is shredded before the app gets the request
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, _credentials = self._makeSite()
req.cookies['__ac_name'] = 'abraham'
req.cookies['__ac_password'] = 'pass-w'
- self.failUnless(req.has_key('__ac_password'))
+ self.assertTrue('__ac_password' in req)
req.traverse('/')
- self.failIf( req.has_key('__ac_password'))
- self.failIf( req.has_key('__ac'))
+ self.assertFalse('__ac_password' in req)
+ self.assertFalse('__ac' in req)
def testCredentialsNotRevealed(self):
# verify the credentials are shredded before the app gets the request
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, credentials = self._makeSite()
req.cookies['__ac'] = credentials
- self.failUnless(req.has_key('__ac'))
+ self.assertTrue('__ac' in req)
req.traverse('/')
- self.failIf( req.has_key('__ac'))
+ self.assertFalse('__ac' in req)
def testCacheHeaderAnonymous(self):
# Should not set cache-control
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, _credentials = self._makeSite()
req.traverse('/')
- self.assertEqual(
- req.response.headers.get('cache-control', ''), '')
+ self.assertEqual(req.response.headers.get('cache-control', ''), '')
def testCacheHeaderLoggingIn(self):
# Should set cache-control
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, _credentials = self._makeSite()
req.cookies['__ac_name'] = 'abraham'
req.cookies['__ac_password'] = 'pass-w'
req.traverse('/')
- self.assertEqual(
- req.response.headers.get('cache-control', ''), 'private')
+ self.assertEqual(req.response.headers.get('cache-control', ''),
+ 'private')
def testCacheHeaderAuthenticated(self):
# Should set cache-control
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, credentials = self._makeSite()
req.cookies['__ac'] = credentials
req.traverse('/')
- self.assertEqual(
- req.response.headers.get('cache-control', ''), 'private')
+ self.assertEqual(req.response.headers.get('cache-control', ''),
+ 'private')
def testCacheHeaderDisabled(self):
# Should not set cache-control
- root, cc, req, credentials = self._makeSite()
+ _root, cc, req, credentials = self._makeSite()
cc.cache_header_value = ''
req.cookies['__ac'] = credentials
req.traverse('/')
- self.assertEqual(
- req.response.headers.get('cache-control', ''), '')
+ self.assertEqual(req.response.headers.get('cache-control', ''), '')
def testLoginRatherThanResume(self):
# When the user presents both a session resume and new
# credentials, choose the new credentials (so that it's
# possible to log in without logging out)
- root, cc, req, credentials = self._makeSite()
+ _root, _cc, req, credentials = self._makeSite()
req.cookies['__ac_name'] = 'isaac'
req.cookies['__ac_password'] = 'pass-w'
req.cookies['__ac'] = credentials
req.traverse('/')
- self.failUnless(req.has_key('AUTHENTICATED_USER'))
- self.assertEqual(req['AUTHENTICATED_USER'].getUserName(),
- 'isaac')
+ self.assertTrue('AUTHENTICATED_USER' in req)
+ self.assertEqual(req['AUTHENTICATED_USER'].getUserName(), 'isaac')
def test_before_traverse_hooks(self):
from OFS.Folder import Folder
+
container = Folder()
cc = self._makeOne()
marker = []
bt_before = getattr(container, '__before_traverse__', marker)
- self.failUnless(bt_before is marker)
+ self.assertTrue(bt_before is marker)
container._setObject(cc.id, cc)
bt_added = getattr(container, '__before_traverse__')
self.assertEqual(len(bt_added.items()), 1)
k, v = bt_added.items()[0]
- self.failUnless(k[1].startswith(self._getTargetClass().meta_type))
+ self.assertTrue(k[1].startswith(self._getTargetClass().meta_type))
self.assertEqual(v.name, cc.id)
container._delObject(cc.id)
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -24,7 +24,6 @@
from App.config import getConfiguration
-from Products.CMFCore.DirectoryView import DirectoryView
from Products.CMFCore.tests import _globals
from Products.CMFCore.tests.base.dummy import DummyFolder
from Products.CMFCore.tests.base.testcase import FSDVTest
@@ -32,14 +31,6 @@
from Products.CMFCore.tests.base.testcase import WritableFSDVTest
-class DummyDirectoryView(DirectoryView):
- def __of__(self, parent):
- return DummyDirectoryViewSurrogate()
-
-class DummyDirectoryViewSurrogate:
- pass
-
-
class DirectoryViewPathTests(unittest.TestCase, WarningInterceptor):
"""
These test that, no matter what is stored in their dirpath,
@@ -65,7 +56,7 @@
self.assertEqual(key.split(':')[0], 'Products.CMFCore')
subkey = _generateKey('Products.CMFCore', 'tests\foo')
- self.failUnless(subkey.startswith(key))
+ self.assertTrue(subkey.startswith(key))
def test__findProductForPath(self):
from Products.CMFCore.DirectoryView import _findProductForPath
@@ -76,58 +67,60 @@
cmfpath = join(cmfpath, 'tests')
self.assertEqual(_findProductForPath(cmfpath),
- ('Products.CMFCore', 'tests'))
+ ('Products.CMFCore', 'tests'))
def test_getDirectoryInfo(self):
skin = self.ob.fake_skin
skin.manage_properties('Products.CMFCore.tests:fake_skins/fake_skin')
- self.failUnless( hasattr(self.ob.fake_skin, 'test1'),
- self.ob.fake_skin.getDirPath() )
+ self.assertTrue(hasattr(self.ob.fake_skin, 'test1'),
+ self.ob.fake_skin.getDirPath())
# Test we do nothing if given a really wacky path
- def test_UnhandleableExpandPath( self ):
+ def test_UnhandleableExpandPath(self):
+ from Products.CMFCore import DirectoryView
+
self._trap_warning_output()
file = mktemp()
self.ob.fake_skin.manage_properties(file)
- self.assertEqual(self.ob.fake_skin.objectIds(),[])
+ self.assertEqual(self.ob.fake_skin.objectIds(), [])
# Check that a warning was raised.
- from Products.CMFCore import DirectoryView
warnings = [t[0] for t in DirectoryView.__warningregistry__]
- text = 'DirectoryView fake_skin refers to a non-existing path %r' % file
- self.assert_(text in warnings)
- self.failUnless(text in self._our_stderr_stream.getvalue())
+ text = ('DirectoryView fake_skin refers to a non-existing path %r'
+ % file)
+ self.assertTrue(text in warnings)
+ self.assertTrue(text in self._our_stderr_stream.getvalue())
# this test tests that registerDirectory creates keys in the right format.
def test_registerDirectoryKeys(self):
from Products.CMFCore.DirectoryView import _dirreg
dirs = _dirreg._directories
- self.failUnless( dirs.has_key('Products.CMFCore.tests:fake_skins/fake_skin'),
- dirs.keys() )
- self.assertEqual( self.ob.fake_skin.getDirPath(),
- 'Products.CMFCore.tests:fake_skins/fake_skin' )
+ self.assertTrue('Products.CMFCore.tests:fake_skins/fake_skin' in dirs,
+ dirs.keys())
+ self.assertEqual(self.ob.fake_skin.getDirPath(),
+ 'Products.CMFCore.tests:fake_skins/fake_skin')
-class DirectoryViewTests( FSDVTest ):
+class DirectoryViewTests(FSDVTest):
- def setUp( self ):
+ def setUp(self):
FSDVTest.setUp(self)
self._registerDirectory(self)
- def test_addDirectoryViews( self ):
+ def test_addDirectoryViews(self):
# Test addDirectoryViews
# also test registration of directory views doesn't barf
pass
- def test_DirectoryViewExists( self ):
+ def test_DirectoryViewExists(self):
# Check DirectoryView added by addDirectoryViews
# appears as a DirectoryViewSurrogate due
# to Acquisition hackery.
from Products.CMFCore.DirectoryView import DirectoryViewSurrogate
- self.failUnless(isinstance(self.ob.fake_skin,DirectoryViewSurrogate))
+ self.assertTrue(isinstance(self.ob.fake_skin, DirectoryViewSurrogate))
- def test_DirectoryViewMethod( self ):
+ def test_DirectoryViewMethod(self):
# Check if DirectoryView method works
- self.assertEqual(self.ob.fake_skin.test1(),'test1')
+ self.assertEqual(self.ob.fake_skin.test1(), 'test1')
def test_properties(self):
# Make sure the directory view is reading properties
@@ -136,8 +129,8 @@
def test_ignored(self):
# Test that "artifact" files and dirs are ignored
for name in '#test1', 'CVS', '.test1', 'test1~':
- assert name not in self.ob.fake_skin.objectIds(), \
- '%s not ignored' % name
+ self.assertTrue(name not in self.ob.fake_skin.objectIds(),
+ '%s not ignored' % name)
def test_surrogate_writethrough(self):
# CMF Collector 316: It is possible to cause ZODB writes because
@@ -157,19 +150,15 @@
del fs.foo
self.assertRaises(AttributeError, getattr, fs, 'foo')
- self.assertRaises( AttributeError
- , getattr
- , fs.__dict__['_real']
- , 'foo'
- )
+ self.assertRaises(AttributeError, getattr, fs.__dict__['_real'], 'foo')
class DirectoryViewIgnoreTests(FSDVTest):
- def setUp( self ):
+ def setUp(self):
FSDVTest.setUp(self)
self.manual_ign = ('CVS', 'SVN', 'test_manual_ignore.py')
- self._registerDirectory(self , ignore=self.manual_ign)
+ self._registerDirectory(self, ignore=self.manual_ign)
def test_ignored(self):
# Test that "artifact" files and dirs are ignored,
@@ -180,7 +169,7 @@
visible = self.ob.fake_skin.objectIds()
for name in must_ignore:
- self.failIf(name in visible)
+ self.assertFalse(name in visible)
class DirectoryViewFolderTests(FSDVTest):
@@ -208,19 +197,29 @@
# Test to determine if metadata shows up correctly on a
# FSDV that has a corresponding .metadata file
testfolder = self.ob.fake_skin.test_directory
- self.assertEqual(testfolder.getProperty('title'), 'test_directory Title')
+ self.assertEqual(testfolder.getProperty('title'),
+ 'test_directory Title')
def test_DirectoryViewFolderDefault(self):
# Test that a folder inside the fake skin really is of type
# DirectoryViewSurrogate
from Products.CMFCore.DirectoryView import DirectoryViewSurrogate
testfolder = self.ob.fake_skin.test_directory
- self.failUnless(isinstance(testfolder, DirectoryViewSurrogate))
+ self.assertTrue(isinstance(testfolder, DirectoryViewSurrogate))
def test_DirectoryViewFolderCustom(self):
# Now we register a different class under the fake meta_type
# "FOLDER" and test again...
+ from Products.CMFCore.DirectoryView import DirectoryView
from Products.CMFCore.DirectoryView import registerMetaType
+
+ class DummyDirectoryViewSurrogate:
+ pass
+
+ class DummyDirectoryView(DirectoryView):
+ def __of__(self, parent):
+ return DummyDirectoryViewSurrogate()
+
registerMetaType('FOLDER', DummyDirectoryView)
# In order to regenerate the FSDV data we need to remove and
@@ -228,12 +227,12 @@
self.ob._delObject('fake_skin')
self._registerDirectory(self)
testfolder = self.ob.fake_skin.test_directory
- self.failUnless(isinstance(testfolder, DummyDirectoryViewSurrogate))
+ self.assertTrue(isinstance(testfolder, DummyDirectoryViewSurrogate))
class DebugModeTests(WritableFSDVTest):
- def setUp( self ):
+ def setUp(self):
from Products.CMFCore.DirectoryView import _dirreg
WritableFSDVTest.setUp(self)
@@ -250,7 +249,7 @@
self._writeFile('test1.py', "return 'new test1'")
# add a new folder
- mkdir(join(self.skin_path_name,'test3'))
+ mkdir(join(self.skin_path_name, 'test3'))
info = _dirreg.getDirectoryInfo(self.ob.fake_skin._dirpath)
info.reload()
@@ -260,49 +259,49 @@
getConfiguration().debug_mode = self.saved_cfg_debug_mode
WritableFSDVTest.tearDown(self)
- def test_AddNewMethod( self ):
+ def test_AddNewMethod(self):
# See if a method added to the skin folder can be found
- self.assertEqual(self.ob.fake_skin.test2(),'test2')
+ self.assertEqual(self.ob.fake_skin.test2(), 'test2')
- def test_EditMethod( self ):
+ def test_EditMethod(self):
# See if an edited method exhibits its new behaviour
- self.assertEqual(self.ob.fake_skin.test1(),'new test1')
+ self.assertEqual(self.ob.fake_skin.test1(), 'new test1')
- def test_DeleteMethod( self ):
+ def test_DeleteMethod(self):
# Make sure a deleted method goes away
remove(join(self.skin_path_name, 'test2.py'))
- self.failIf(hasattr(self.ob.fake_skin,'test2'))
+ self.assertFalse(hasattr(self.ob.fake_skin, 'test2'))
- def test_DeleteAddEditMethod( self ):
+ def test_DeleteAddEditMethod(self):
# Check that if we delete a method, then add it back,
# then edit it, the DirectoryView notices.
# This exercises yet another Win32 mtime weirdity.
remove(join(self.skin_path_name, 'test2.py'))
- self.failIf(hasattr(self.ob.fake_skin,'test2'))
+ self.assertFalse(hasattr(self.ob.fake_skin, 'test2'))
# add method back to the fake skin folder
self._writeFile('test2.py', "return 'test2.2'",
self.use_dir_mtime)
# check
- self.assertEqual(self.ob.fake_skin.test2(),'test2.2')
+ self.assertEqual(self.ob.fake_skin.test2(), 'test2.2')
# edit method
self._writeFile('test2.py', "return 'test2.3'",
self.use_dir_mtime)
# check
- self.assertEqual(self.ob.fake_skin.test2(),'test2.3')
+ self.assertEqual(self.ob.fake_skin.test2(), 'test2.3')
def test_NewFolder(self):
# See if a new folder shows up
- self.failIf(hasattr(self.ob.fake_skin, 'test3'))
+ self.assertFalse(hasattr(self.ob.fake_skin, 'test3'))
def test_DeleteFolder(self):
# Make sure a deleted folder goes away
- self.failUnless(hasattr(self.ob.fake_skin, 'test_directory'))
+ self.assertTrue(hasattr(self.ob.fake_skin, 'test_directory'))
self._deleteDirectory('test_directory', self.use_dir_mtime)
- self.failIf(hasattr(self.ob.fake_skin, 'test_directory'))
+ self.assertFalse(hasattr(self.ob.fake_skin, 'test_directory'))
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_DynamicType.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_DynamicType.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_DynamicType.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -77,43 +77,43 @@
ttool = TypesTool()
getSiteManager().registerUtility(ttool, ITypesTool)
fti = FTIDATA_CMF[0].copy()
- ttool._setObject( 'Dummy Content 15', FTI(**fti) )
- self.site._setObject( 'foo', DummyContent() )
- dummy_view = self.site._setObject( 'dummy_view', DummyObject() )
+ ttool._setObject('Dummy Content 15', FTI(**fti))
+ self.site._setObject('foo', DummyContent())
+ dummy_view = self.site._setObject('dummy_view', DummyObject())
def tearDown(self):
cleanUp()
def test_default_view_from_fti(self):
response = HTTPResponse()
- environment = { 'URL': '',
- 'PARENTS': [self.site],
- 'REQUEST_METHOD': 'GET',
- 'SERVER_PORT': '80',
- 'REQUEST_METHOD': 'GET',
- 'steps': [],
- 'SERVER_NAME': 'localhost',
- '_hacked_path': 0 }
+ environment = {'URL': '',
+ 'PARENTS': [self.site],
+ 'REQUEST_METHOD': 'GET',
+ 'SERVER_PORT': '80',
+ 'REQUEST_METHOD': 'GET',
+ 'steps': [],
+ 'SERVER_NAME': 'localhost',
+ '_hacked_path': 0}
r = HTTPRequest(StringIO(), environment, response)
r.other.update(environment)
alsoProvides(r, IBrowserRequest)
r.traverse('foo')
- self.assertEqual( r.URL, '/foo/dummy_view' )
- self.assertEqual( r.response.base, '/foo/',
+ self.assertEqual(r.URL, '/foo/dummy_view')
+ self.assertEqual(r.response.base, '/foo/',
'CMF Collector issue #192 (wrong base): %s'
- % (r.response.base or 'empty',) )
+ % (r.response.base or 'empty',))
def test_default_viewname_but_no_view_doesnt_override_fti(self):
response = HTTPResponse()
- environment = { 'URL': '',
- 'PARENTS': [self.site],
- 'REQUEST_METHOD': 'GET',
- 'SERVER_PORT': '80',
- 'REQUEST_METHOD': 'GET',
- 'steps': [],
- 'SERVER_NAME': 'localhost',
- '_hacked_path': 0 }
+ environment = {'URL': '',
+ 'PARENTS': [self.site],
+ 'REQUEST_METHOD': 'GET',
+ 'SERVER_PORT': '80',
+ 'REQUEST_METHOD': 'GET',
+ 'steps': [],
+ 'SERVER_NAME': 'localhost',
+ '_hacked_path': 0}
r = HTTPRequest(StringIO(), environment, response)
r.other.update(environment)
alsoProvides(r, IBrowserRequest)
@@ -122,19 +122,19 @@
# corresponding view, no change in behaviour expected
defineDefaultViewName('index.html', DummyContent)
r.traverse('foo')
- self.assertEqual( r.URL, '/foo/dummy_view' )
- self.assertEqual( r.response.base, '/foo/' )
+ self.assertEqual(r.URL, '/foo/dummy_view')
+ self.assertEqual(r.response.base, '/foo/')
def test_default_viewname_overrides_fti(self):
response = HTTPResponse()
- environment = { 'URL': '',
- 'PARENTS': [self.site],
- 'REQUEST_METHOD': 'GET',
- 'SERVER_PORT': '80',
- 'REQUEST_METHOD': 'GET',
- 'steps': [],
- 'SERVER_NAME': 'localhost',
- '_hacked_path': 0 }
+ environment = {'URL': '',
+ 'PARENTS': [self.site],
+ 'REQUEST_METHOD': 'GET',
+ 'SERVER_PORT': '80',
+ 'REQUEST_METHOD': 'GET',
+ 'steps': [],
+ 'SERVER_NAME': 'localhost',
+ '_hacked_path': 0}
r = HTTPRequest(StringIO(), environment, response)
r.other.update(environment)
alsoProvides(r, IBrowserRequest)
@@ -147,8 +147,8 @@
'index.html')
r.traverse('foo')
- self.assertEqual( r.URL, '/foo/index.html' )
- self.assertEqual( r.response.base, '/foo/' )
+ self.assertEqual(r.URL, '/foo/index.html')
+ self.assertEqual(r.response.base, '/foo/')
class DynamicTypeSecurityTests(SecurityTest):
@@ -158,8 +158,8 @@
self.site = DummySite('site').__of__(self.app)
ttool = TypesTool()
fti = FTIDATA_CMF[0].copy()
- ttool._setObject( 'Dummy Content 15', FTI(**fti) )
- self.site._setObject( 'foo', DummyContent() )
+ ttool._setObject('Dummy Content 15', FTI(**fti))
+ self.site._setObject('foo', DummyContent())
sm = getSiteManager()
sm.registerUtility(DummyTool(), IMembershipTool)
sm.registerUtility(DummyTool().__of__(self.site), IURLTool)
@@ -171,11 +171,11 @@
def test_getTypeInfo(self):
foo = self.site.foo
- self.assertEqual( foo.getTypeInfo().getId(), 'Dummy Content 15' )
+ self.assertEqual(foo.getTypeInfo().getId(), 'Dummy Content 15')
def test_getActionInfo(self):
foo = self.site.foo
- self.assertEqual( foo.getActionInfo('object/view')['id'], 'view' )
+ self.assertEqual(foo.getActionInfo('object/view')['id'], 'view')
# The following is nasty, but I want to make sure the ValueError
# carries some useful information
@@ -185,7 +185,7 @@
except ValueError, e:
message = e.args[0]
detail = '"%s" does not offer action "%s"' % (message, INVALID_ID)
- self.failUnless(message.find(INVALID_ID) != -1, detail)
+ self.assertTrue(message.find(INVALID_ID) != -1, detail)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_Expression.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_Expression.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_Expression.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -28,24 +28,21 @@
from Products.CMFCore.tests.base.testcase import SecurityTest
-class ExpressionTests( SecurityTest ):
+class ExpressionTests(SecurityTest):
- def setUp( self ):
-
+ def setUp(self):
SecurityTest.setUp(self)
- root = self.root
- root._setObject('portal', DummyContent('portal', url='url_portal'))
- portal = self.portal = root.portal
+ app = self.app
+ app._setObject('portal', DummyContent('portal', url='url_portal'))
+ self.portal = app.portal
self.folder = DummyContent('foo', url='url_foo')
self.object = DummyContent('bar', url='url_bar')
- self.ai = ActionInformation(id='view'
- , title='View'
- , action=Expression(
- text='view')
- , condition=Expression(
- text='member')
- , category='global'
- , visible=1)
+ self.ai = ActionInformation(id='view',
+ title='View',
+ action=Expression(text='view'),
+ condition=Expression(text='member'),
+ category='global',
+ visible=1)
def tearDown(self):
cleanUp()
@@ -56,7 +53,7 @@
sm.registerUtility(DummyMembershipTool(), IMembershipTool)
ec = createExprContext(self.folder, self.portal, self.object)
member = ec.contexts['member']
- self.failIf(member)
+ self.assertFalse(member)
def test_authenticatedUser_ec(self):
sm = getSiteManager()
@@ -72,13 +69,13 @@
object = ec.contexts['object']
portal = ec.contexts['portal']
folder = ec.contexts['folder']
- self.failUnless(object)
+ self.assertTrue(object)
self.assertEqual(object.id, 'bar')
self.assertEqual(object.absolute_url(), 'url_bar')
- self.failUnless(portal)
+ self.assertTrue(portal)
self.assertEqual(portal.id, 'portal')
self.assertEqual(portal.absolute_url(), 'url_portal')
- self.failUnless(folder)
+ self.assertTrue(folder)
self.assertEqual(folder.id, 'foo')
self.assertEqual(folder.absolute_url(), 'url_foo')
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSDTMLMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSDTMLMethod.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSDTMLMethod.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -39,13 +39,13 @@
class FSDTMLMaker(FSDVTest):
- def _makeOne( self, id, filename ):
+ def _makeOne(self, id, filename):
from Products.CMFCore.FSDTMLMethod import FSDTMLMethod
path = path_join(self.skin_path_name, filename)
metadata = FSMetadata(path)
metadata.read()
- return FSDTMLMethod( id, path, properties=metadata.getProperties() )
+ return FSDTMLMethod(id, path, properties=metadata.getProperties())
class FSDTMLMethodTests(TransactionalTest, FSDTMLMaker):
@@ -73,9 +73,9 @@
obj = self._makeOne('testDTML', 'testDTML.dtml')
obj = obj.__of__(self.app)
obj(self.app, self.REQUEST, self.RESPONSE)
- self.failUnless(len(self.RESPONSE.headers) >= original_len + 2)
- self.failUnless('foo' in self.RESPONSE.headers.keys())
- self.failUnless('bar' in self.RESPONSE.headers.keys())
+ self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2)
+ self.assertTrue('foo' in self.RESPONSE.headers.keys())
+ self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_ownership(self):
script = self._makeOne('testDTML', 'testDTML.dtml')
@@ -120,43 +120,41 @@
SecurityTest.tearDown(self)
FSDTMLMaker.tearDown(self)
- def test_customize( self ):
+ def test_customize(self):
- self.fsDTML.manage_doCustomize( folder_path='custom' )
+ self.fsDTML.manage_doCustomize(folder_path='custom')
- self.assertEqual( len( self.custom.objectIds() ), 1 )
- self.failUnless( 'testDTML' in self.custom.objectIds() )
+ self.assertEqual(len(self.custom.objectIds()), 1)
+ self.assertTrue('testDTML' in self.custom.objectIds())
- def test_customize_alternate_root( self ):
+ def test_customize_alternate_root(self):
self.app.other = Folder('other')
self.fsDTML.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf( 'testDTML' in self.custom.objectIds() )
- self.failUnless( 'testDTML' in self.app.other.objectIds() )
+ self.assertFalse('testDTML' in self.custom.objectIds())
+ self.assertTrue('testDTML' in self.app.other.objectIds())
- def test_customize_fspath_as_dot( self ):
+ def test_customize_fspath_as_dot(self):
- self.fsDTML.manage_doCustomize( folder_path='.' )
+ self.fsDTML.manage_doCustomize(folder_path='.')
- self.failIf( 'testDTML' in self.custom.objectIds() )
- self.failUnless( 'testDTML' in self.skins.objectIds() )
+ self.assertFalse('testDTML' in self.custom.objectIds())
+ self.assertTrue('testDTML' in self.skins.objectIds())
- def test_customize_manual_clone( self ):
+ def test_customize_manual_clone(self):
clone = Folder('testDTML')
- self.fsDTML.manage_doCustomize( folder_path='custom', obj=clone )
+ self.fsDTML.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless( 'testDTML' in self.custom.objectIds() )
- self.failUnless( aq_base(self.custom._getOb('testDTML')) is clone)
+ self.assertTrue('testDTML' in self.custom.objectIds())
+ self.assertTrue(aq_base(self.custom._getOb('testDTML')) is clone)
def test_customize_caching(self):
# Test to ensure that cache manager associations survive customizing
cache_id = 'gofast'
- RAMCacheManager.manage_addRAMCacheManager( self.app
- , cache_id
- , REQUEST=None
- )
+ RAMCacheManager.manage_addRAMCacheManager(self.app, cache_id,
+ REQUEST=None)
self.fsDTML.ZCacheable_setManagerId(cache_id, REQUEST=None)
self.assertEqual(self.fsDTML.ZCacheable_getManagerId(), cache_id)
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSFile.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSFile.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSFile.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -50,9 +50,9 @@
metadata.read()
return FSFile(id, full_path, properties=metadata.getProperties())
- def _extractFile( self, filename ):
+ def _extractFile(self, filename):
path = os.path.join(self.skin_path_name, filename)
- f = open( path, 'rb' )
+ f = open(path, 'rb')
try:
data = f.read()
finally:
@@ -60,72 +60,72 @@
return path, data
- def test_ctor( self ):
+ def test_ctor(self):
_path, ref = self._extractFile('test_file.swf')
- file = self._makeOne( 'test_file', 'test_file.swf' )
+ file = self._makeOne('test_file', 'test_file.swf')
file = file.__of__(self.app)
- self.assertEqual( file.get_size(), len( ref ) )
- self.assertEqual( file._readFile(0), ref )
+ self.assertEqual(file.get_size(), len(ref))
+ self.assertEqual(file._readFile(0), ref)
- def test_str( self ):
+ def test_str(self):
_path, ref = self._extractFile('test_file.swf')
- file = self._makeOne( 'test_file', 'test_file.swf' )
+ file = self._makeOne('test_file', 'test_file.swf')
file = file.__of__(self.app)
- self.assertEqual( len(str(file)), len( ref ) )
+ self.assertEqual(len(str(file)), len(ref))
- def test_index_html( self ):
+ def test_index_html(self):
path, ref = self._extractFile('test_file.swf')
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- file = self._makeOne( 'test_file', 'test_file.swf' )
+ file = self._makeOne('test_file', 'test_file.swf')
file = file.__of__(self.app)
- data = file.index_html( self.REQUEST, self.RESPONSE )
+ data = file.index_html(self.REQUEST, self.RESPONSE)
- self.assertEqual( len( data ), len( ref ) )
- self.assertEqual( data, ref )
+ self.assertEqual(len(data), len(ref))
+ self.assertEqual(data, ref)
# ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key!
- self.assertEqual( self.RESPONSE.getHeader( 'Content-Length'.lower() )
- , str(len(ref)) )
- self.assertEqual( self.RESPONSE.getHeader( 'Content-Type'.lower() )
- , 'application/octet-stream' )
- self.assertEqual( self.RESPONSE.getHeader( 'Last-Modified'.lower() )
- , rfc1123_date( mod_time ) )
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ str(len(ref)))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower()),
+ 'application/octet-stream')
+ self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower()),
+ rfc1123_date(mod_time))
- def test_index_html_with_304( self ):
+ def test_index_html_with_304(self):
path, _ref = self._extractFile('test_file.swf')
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- file = self._makeOne( 'test_file', 'test_file.swf' )
+ file = self._makeOne('test_file', 'test_file.swf')
file = file.__of__(self.app)
- self.REQUEST.environ[ 'IF_MODIFIED_SINCE'
- ] = '%s;' % rfc1123_date( mod_time+3600 )
+ self.REQUEST.environ['IF_MODIFIED_SINCE'
+ ] = '%s;' % rfc1123_date(mod_time + 3600)
- data = file.index_html( self.REQUEST, self.RESPONSE )
+ data = file.index_html(self.REQUEST, self.RESPONSE)
- self.assertEqual( data, '' )
+ self.assertEqual(data, '')
# test that we don't supply a content-length
- self.assertEqual( self.RESPONSE.getHeader('Content-Length'.lower()),
- None )
- self.assertEqual( self.RESPONSE.getStatus(), 304 )
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ None)
+ self.assertEqual(self.RESPONSE.getStatus(), 304)
- def test_index_html_without_304( self ):
+ def test_index_html_without_304(self):
path, _ref = self._extractFile('test_file.swf')
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- file = self._makeOne( 'test_file', 'test_file.swf' )
+ file = self._makeOne('test_file', 'test_file.swf')
file = file.__of__(self.app)
- self.REQUEST.environ[ 'IF_MODIFIED_SINCE'
- ] = '%s;' % rfc1123_date( mod_time-3600 )
+ self.REQUEST.environ['IF_MODIFIED_SINCE'
+ ] = '%s;' % rfc1123_date(mod_time - 3600)
- data = file.index_html( self.REQUEST, self.RESPONSE )
+ data = file.index_html(self.REQUEST, self.RESPONSE)
- self.failUnless( data, '' )
- self.assertEqual( self.RESPONSE.getStatus(), 200 )
+ self.assertTrue(data, '')
+ self.assertEqual(self.RESPONSE.getStatus(), 200)
def test_index_html_with_304_from_cpm(self):
cpm = DummyCachingManagerWithPolicy()
@@ -161,12 +161,12 @@
self.assertEqual(len(data), len(ref))
self.assertEqual(data, ref)
# ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key!
- self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower())
- , str(len(ref)))
- self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower())
- , 'application/octet-stream')
- self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower())
- , rfc1123_date(mod_time))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ str(len(ref)))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower()),
+ 'application/octet-stream')
+ self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower()),
+ rfc1123_date(mod_time))
def test_caching(self):
cpm = DummyCachingManager()
@@ -176,31 +176,31 @@
obj = obj.__of__(self.app)
obj.index_html(self.REQUEST, self.RESPONSE)
headers = self.RESPONSE.headers
- self.failUnless(len(headers) >= original_len + 3)
- self.failUnless('foo' in headers.keys())
- self.failUnless('bar' in headers.keys())
+ self.assertTrue(len(headers) >= original_len + 3)
+ self.assertTrue('foo' in headers.keys())
+ self.assertTrue('bar' in headers.keys())
self.assertEqual(headers['test_path'], '/test_file')
- def test_forced_content_type( self ):
+ def test_forced_content_type(self):
path, ref = self._extractFile('test_file_two.swf')
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- file = self._makeOne( 'test_file', 'test_file_two.swf' )
+ file = self._makeOne('test_file', 'test_file_two.swf')
file = file.__of__(self.app)
- data = file.index_html( self.REQUEST, self.RESPONSE )
+ data = file.index_html(self.REQUEST, self.RESPONSE)
- self.assertEqual( len( data ), len( ref ) )
- self.assertEqual( data, ref )
+ self.assertEqual(len(data), len(ref))
+ self.assertEqual(data, ref)
# ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key!
- self.assertEqual( self.RESPONSE.getHeader( 'Content-Length'.lower() )
- , str(len(ref)) )
- self.assertEqual( self.RESPONSE.getHeader( 'Content-Type'.lower() )
- , 'application/x-shockwave-flash' )
- self.assertEqual( self.RESPONSE.getHeader( 'Last-Modified'.lower() )
- , rfc1123_date( mod_time ) )
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ str(len(ref)))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower()),
+ 'application/x-shockwave-flash')
+ self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower()),
+ rfc1123_date(mod_time))
- def test_utf8charset_detection( self ):
+ def test_utf8charset_detection(self):
import mimetypes
file_name = 'testUtf8.js'
@@ -214,34 +214,36 @@
def test_unnecessary_invalidation_avoidance(self):
# See https://bugs.launchpad.net/zope-cmf/+bug/325246
invalidated = []
+
def fake_invalidate(*args, **kw):
invalidated.append(True)
- file = self._makeOne( 'test_file', 'test_file.swf' )
+
+ file = self._makeOne('test_file', 'test_file.swf')
file.ZCacheable_invalidate = fake_invalidate
# First pass: The internal file modification representation
# equals the filesystem modification time.
del invalidated[:]
file._readFile(True)
- self.failIf(invalidated)
+ self.assertFalse(invalidated)
del invalidated[:]
file._parsed = False
file._updateFromFS()
- self.failIf(invalidated)
+ self.assertFalse(invalidated)
# Second pass: Forcing a different internal file modification
# time onto the instance. Now the file will be invalidated.
del invalidated[:]
file._file_mod_time = 0
file._readFile(True)
- self.failUnless(invalidated)
+ self.assertTrue(invalidated)
del invalidated[:]
file._file_mod_time = 0
file._parsed = False
file._updateFromFS()
- self.failUnless(invalidated)
+ self.assertTrue(invalidated)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSImage.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSImage.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSImage.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -47,9 +47,9 @@
return FSImage(id, path_join(self.skin_path_name, filename))
- def _extractFile( self ):
+ def _extractFile(self):
path = path_join(self.skin_path_name, 'test_image.gif')
- f = open( path, 'rb' )
+ f = open(path, 'rb')
try:
data = f.read()
finally:
@@ -57,66 +57,66 @@
return path, data
- def test_ctor( self ):
+ def test_ctor(self):
_path, ref = self._extractFile()
- image = self._makeOne( 'test_image', 'test_image.gif' )
+ image = self._makeOne('test_image', 'test_image.gif')
image = image.__of__(self.app)
- self.assertEqual( image.get_size(), len( ref ) )
- self.assertEqual( image._data, ref )
+ self.assertEqual(image.get_size(), len(ref))
+ self.assertEqual(image._data, ref)
- def test_index_html( self ):
+ def test_index_html(self):
path, ref = self._extractFile()
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- image = self._makeOne( 'test_image', 'test_image.gif' )
+ image = self._makeOne('test_image', 'test_image.gif')
image = image.__of__(self.app)
- data = image.index_html( self.REQUEST, self.RESPONSE )
+ data = image.index_html(self.REQUEST, self.RESPONSE)
- self.assertEqual( len( data ), len( ref ) )
- self.assertEqual( data, ref )
+ self.assertEqual(len(data), len(ref))
+ self.assertEqual(data, ref)
# ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key!
- self.assertEqual( self.RESPONSE.getHeader( 'Content-Length'.lower() )
- , str(len(ref)) )
- self.assertEqual( self.RESPONSE.getHeader( 'Content-Type'.lower() )
- , 'image/gif' )
- self.assertEqual( self.RESPONSE.getHeader( 'Last-Modified'.lower() )
- , rfc1123_date( mod_time ) )
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ str(len(ref)))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower()),
+ 'image/gif')
+ self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower()),
+ rfc1123_date(mod_time))
- def test_index_html_with_304( self ):
+ def test_index_html_with_304(self):
path, _ref = self._extractFile()
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- image = self._makeOne( 'test_image', 'test_image.gif' )
+ image = self._makeOne('test_image', 'test_image.gif')
image = image.__of__(self.app)
- self.REQUEST.environ[ 'IF_MODIFIED_SINCE'
- ] = '%s;' % rfc1123_date( mod_time+3600 )
+ self.REQUEST.environ['IF_MODIFIED_SINCE'
+ ] = '%s;' % rfc1123_date(mod_time + 3600)
- data = image.index_html( self.REQUEST, self.RESPONSE )
+ data = image.index_html(self.REQUEST, self.RESPONSE)
- self.assertEqual( data, '' )
+ self.assertEqual(data, '')
# test that we don't supply a content-length
- self.assertEqual( self.RESPONSE.getHeader('Content-Length'.lower()),
- None )
- self.assertEqual( self.RESPONSE.getStatus(), 304 )
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ None)
+ self.assertEqual(self.RESPONSE.getStatus(), 304)
- def test_index_html_without_304( self ):
+ def test_index_html_without_304(self):
path, _ref = self._extractFile()
- mod_time = os.stat( path )[ 8 ]
+ mod_time = os.stat(path)[8]
- image = self._makeOne( 'test_image', 'test_image.gif' )
+ image = self._makeOne('test_image', 'test_image.gif')
image = image.__of__(self.app)
- self.REQUEST.environ[ 'IF_MODIFIED_SINCE'
- ] = '%s;' % rfc1123_date( mod_time-3600 )
+ self.REQUEST.environ['IF_MODIFIED_SINCE'
+ ] = '%s;' % rfc1123_date(mod_time - 3600)
- data = image.index_html( self.REQUEST, self.RESPONSE )
+ data = image.index_html(self.REQUEST, self.RESPONSE)
- self.failUnless( data, '' )
- self.assertEqual( self.RESPONSE.getStatus(), 200 )
+ self.assertTrue(data, '')
+ self.assertEqual(self.RESPONSE.getStatus(), 200)
def test_index_html_with_304_from_cpm(self):
cpm = DummyCachingManagerWithPolicy()
@@ -151,12 +151,12 @@
self.assertEqual(len(data), len(ref))
self.assertEqual(data, ref)
# ICK! 'HTTPResponse.getHeader' doesn't case-flatten the key!
- self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower())
- , str(len(ref)))
- self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower())
- , 'image/gif')
- self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower())
- , rfc1123_date(mod_time))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Length'.lower()),
+ str(len(ref)))
+ self.assertEqual(self.RESPONSE.getHeader('Content-Type'.lower()),
+ 'image/gif')
+ self.assertEqual(self.RESPONSE.getHeader('Last-Modified'.lower()),
+ rfc1123_date(mod_time))
def test_caching(self):
cpm = DummyCachingManager()
@@ -166,9 +166,9 @@
obj = obj.__of__(self.app)
obj.index_html(self.REQUEST, self.RESPONSE)
headers = self.RESPONSE.headers
- self.failUnless(len(headers) >= original_len + 3)
- self.failUnless('foo' in headers.keys())
- self.failUnless('bar' in headers.keys())
+ self.assertTrue(len(headers) >= original_len + 3)
+ self.assertTrue('foo' in headers.keys())
+ self.assertTrue('bar' in headers.keys())
self.assertEqual(headers['test_path'], '/test_image')
def test_index_html_with_304_and_caching(self):
@@ -191,9 +191,9 @@
self.assertEqual(self.RESPONSE.getStatus(), 304)
headers = self.RESPONSE.headers
- self.failUnless(len(headers) >= original_len + 3)
- self.failUnless('foo' in headers.keys())
- self.failUnless('bar' in headers.keys())
+ self.assertTrue(len(headers) >= original_len + 3)
+ self.assertTrue('foo' in headers.keys())
+ self.assertTrue('bar' in headers.keys())
self.assertEqual(headers['test_path'], '/test_image')
def test_tag_with_acquired_clashing_attrs(self):
@@ -206,43 +206,45 @@
self.app.height = Clash()
self.app.width = Clash()
- image = self._makeOne( 'test_image', 'test_image.gif' )
+ image = self._makeOne('test_image', 'test_image.gif')
image = image.__of__(self.app)
tag = image.tag()
- self.failUnless('alt=""' in tag)
+ self.assertTrue('alt=""' in tag)
def test_unnecessary_invalidation_avoidance(self):
# See https://bugs.launchpad.net/zope-cmf/+bug/325246
invalidated = []
+
def fake_invalidate(*args, **kw):
invalidated.append(True)
- image = self._makeOne( 'test_image', 'test_image.gif' )
+
+ image = self._makeOne('test_image', 'test_image.gif')
image.ZCacheable_invalidate = fake_invalidate
# First pass: The images internal file modification representation
# equals the filesystem modification time.
del invalidated[:]
image._readFile(True)
- self.failIf(invalidated)
+ self.assertFalse(invalidated)
del invalidated[:]
image._parsed = False
image._updateFromFS()
- self.failIf(invalidated)
+ self.assertFalse(invalidated)
# Second pass: Forcing a different internal file modification
# time onto the image instance. Now the image will be invalidated.
del invalidated[:]
image._file_mod_time = 0
image._readFile(True)
- self.failUnless(invalidated)
+ self.assertTrue(invalidated)
del invalidated[:]
image._file_mod_time = 0
image._parsed = False
image._updateFromFS()
- self.failUnless(invalidated)
+ self.assertTrue(invalidated)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPageTemplate.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPageTemplate.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPageTemplate.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -44,7 +44,7 @@
path = path_join(self.skin_path_name, filename)
metadata = FSMetadata(path)
metadata.read()
- return FSPageTemplate( id, path, properties=metadata.getProperties() )
+ return FSPageTemplate(id, path, properties=metadata.getProperties())
class FSPageTemplateTests(TransactionalTest, FSPTMaker):
@@ -65,25 +65,26 @@
self.assertEqual(script(), 'nohost')
def test_ContentType(self):
- script = self._makeOne( 'testXMLPT', 'testXMLPT.pt' )
+ script = self._makeOne('testXMLPT', 'testXMLPT.pt')
script = script.__of__(self.app)
script()
self.assertEqual(script.content_type, 'text/xml; charset=utf-8')
- self.assertEqual(self.RESPONSE.getHeader('content-type'), 'text/xml; charset=utf-8')
+ self.assertEqual(self.RESPONSE.getHeader('content-type'),
+ 'text/xml; charset=utf-8')
# purge RESPONSE Content-Type header for new test
del self.RESPONSE.headers['content-type']
- script = self._makeOne( 'testPT', 'testPT.pt' )
+ script = self._makeOne('testPT', 'testPT.pt')
script = script.__of__(self.app)
script()
self.assertEqual(script.content_type, 'text/html')
self.assertEqual(self.RESPONSE.getHeader('content-type'), 'text/html')
def test_ContentTypeOverride(self):
- script = self._makeOne( 'testPT_utf8', 'testPT_utf8.pt' )
+ script = self._makeOne('testPT_utf8', 'testPT_utf8.pt')
script = script.__of__(self.app)
script()
- self.assertEqual( self.RESPONSE.getHeader('content-type')
- , 'text/html; charset=utf-8')
+ self.assertEqual(self.RESPONSE.getHeader('content-type'),
+ 'text/html; charset=utf-8')
def test_ContentTypeFromFSMetadata(self):
# Test to see if a content_type specified in a .metadata file
@@ -91,9 +92,8 @@
script = self._makeOne('testPT2', 'testPT2.pt')
script = script.__of__(self.app)
script()
- self.assertEqual( self.RESPONSE.getHeader('content-type')
- , 'text/xml'
- )
+ self.assertEqual(self.RESPONSE.getHeader('content-type'),
+ 'text/xml')
def test_CharsetFromFSMetadata(self):
# testPT3 is an UTF-16 encoded file (see its .metadatafile)
@@ -101,7 +101,7 @@
script = self._makeOne('testPT3', 'testPT3.pt')
script = script.__of__(self.app)
data = script.read()
- self.failUnless(u'123üöäß' in data)
+ self.assertTrue(u'123üöäß' in data)
self.assertEqual(script.content_type, 'text/html')
def test_CharsetFrom2FSMetadata(self):
@@ -110,18 +110,18 @@
script = self._makeOne('testPT4', 'testPT4.pt')
script = script.__of__(self.app)
data = script.read()
- self.failUnless(u'123üöäß' in data)
+ self.assertTrue(u'123üöäß' in data)
self.assertEqual(script.content_type, 'text/html')
def test_CharsetFromContentTypeMetadata(self):
script = self._makeOne('testPT5', 'testPT5.pt')
script = script.__of__(self.app)
data = script.read()
- self.failUnless(u'123üöäß' in data)
+ self.assertTrue(u'123üöäß' in data)
self.assertEqual(script.content_type, 'text/html; charset=utf-16')
- def test_BadCall( self ):
- script = self._makeOne( 'testPTbad', 'testPTbad.pt' )
+ def test_BadCall(self):
+ script = self._makeOne('testPTbad', 'testPTbad.pt')
script = script.__of__(self.app)
try: # can't use assertRaises, because different types raised.
@@ -139,16 +139,16 @@
obj = self._makeOne('testPT', 'testPT.pt')
obj = obj.__of__(self.app)
obj()
- self.failUnless(len(self.RESPONSE.headers) >= original_len + 2)
- self.failUnless('foo' in self.RESPONSE.headers.keys())
- self.failUnless('bar' in self.RESPONSE.headers.keys())
+ self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2)
+ self.assertTrue('foo' in self.RESPONSE.headers.keys())
+ self.assertTrue('bar' in self.RESPONSE.headers.keys())
- def test_pt_properties( self ):
- script = self._makeOne( 'testPT', 'testPT.pt' )
- self.assertEqual( script.pt_source_file(), 'file:%s'
- % path_join(self.skin_path_name, 'testPT.pt') )
+ def test_pt_properties(self):
+ script = self._makeOne('testPT', 'testPT.pt')
+ self.assertEqual(script.pt_source_file(), 'file:%s'
+ % path_join(self.skin_path_name, 'testPT.pt'))
- def test_foreign_line_endings( self ):
+ def test_foreign_line_endings(self):
# Lead the various line ending files and get their output
for fformat in ('unix', 'dos', 'mac'):
script = self._makeOne(fformat,
@@ -170,41 +170,39 @@
SecurityTest.tearDown(self)
FSPTMaker.tearDown(self)
- def test_customize( self ):
- self.fsPT.manage_doCustomize( folder_path='custom' )
+ def test_customize(self):
+ self.fsPT.manage_doCustomize(folder_path='custom')
- self.assertEqual( len( self.custom.objectIds() ), 1 )
- self.failUnless( 'testPT' in self.custom.objectIds() )
+ self.assertEqual(len(self.custom.objectIds()), 1)
+ self.assertTrue('testPT' in self.custom.objectIds())
- def test_customize_alternate_root( self ):
+ def test_customize_alternate_root(self):
self.app.other = Folder('other')
self.fsPT.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf( 'testPT' in self.custom.objectIds() )
- self.failUnless( 'testPT' in self.app.other.objectIds() )
+ self.assertFalse('testPT' in self.custom.objectIds())
+ self.assertTrue('testPT' in self.app.other.objectIds())
- def test_customize_fspath_as_dot( self ):
- self.fsPT.manage_doCustomize( folder_path='.' )
+ def test_customize_fspath_as_dot(self):
+ self.fsPT.manage_doCustomize(folder_path='.')
- self.failIf( 'testPT' in self.custom.objectIds() )
- self.failUnless( 'testPT' in self.skins.objectIds() )
+ self.assertFalse('testPT' in self.custom.objectIds())
+ self.assertTrue('testPT' in self.skins.objectIds())
- def test_customize_manual_clone( self ):
+ def test_customize_manual_clone(self):
clone = Folder('testPT')
- self.fsPT.manage_doCustomize( folder_path='custom', obj=clone )
+ self.fsPT.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless( 'testPT' in self.custom.objectIds() )
- self.failUnless( aq_base(self.custom._getOb('testPT')) is clone )
+ self.assertTrue('testPT' in self.custom.objectIds())
+ self.assertTrue(aq_base(self.custom._getOb('testPT')) is clone)
def test_customize_caching(self):
# Test to ensure that cache manager associations survive customizing
cache_id = 'gofast'
- RAMCacheManager.manage_addRAMCacheManager( self.app
- , cache_id
- , REQUEST=None
- )
+ RAMCacheManager.manage_addRAMCacheManager(self.app, cache_id,
+ REQUEST=None)
self.fsPT.ZCacheable_setManagerId(cache_id, REQUEST=None)
self.assertEqual(self.fsPT.ZCacheable_getManagerId(), cache_id)
@@ -214,12 +212,11 @@
self.assertEqual(custom_pt.ZCacheable_getManagerId(), cache_id)
+ def test_dontExpandOnCreation(self):
+ self.fsPT.manage_doCustomize(folder_path='custom')
- def test_dontExpandOnCreation( self ):
- self.fsPT.manage_doCustomize( folder_path='custom' )
-
customized = self.custom.testPT
- self.failIf( customized.expand )
+ self.assertFalse(customized.expand)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPropertiesObject.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPropertiesObject.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPropertiesObject.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -43,23 +43,22 @@
path = join(self.skin_path_name, filename)
return self._getTargetClass()(id, path)
- def test__readFile( self ):
+ def test__readFile(self):
from DateTime.DateTime import DateTime
_stool, _custom, _fsdir, fspo = self._makeContext('test_props',
'test_props.props')
- self.assertEqual( fspo.getProperty( 'title' ), 'Test properties' )
- self.assertEqual( fspo.getProperty( 'value1' ), 'one' )
- self.assertEqual( fspo.getProperty( 'value2' ), 'two' )
- self.assertEqual( fspo.getProperty( 'an_int' ), 42 )
- self.assertEqual( fspo.getProperty( 'a_float' ), 3.1415926 )
- self.assertEqual( fspo.getProperty( 'a_boolean' ), False )
- self.assertEqual( fspo.getProperty( 'a_long' ), 40000000000 )
- self.assertEqual( fspo.getProperty( 'a_date' )
- , DateTime( '01/01/2001' ) )
- self.assertEqual( fspo.getProperty( 'a_tokens' )
- , [ 'peter', 'paul', 'mary' ] )
+ self.assertEqual(fspo.getProperty('title'), 'Test properties')
+ self.assertEqual(fspo.getProperty('value1'), 'one')
+ self.assertEqual(fspo.getProperty('value2'), 'two')
+ self.assertEqual(fspo.getProperty('an_int'), 42)
+ self.assertEqual(fspo.getProperty('a_float'), 3.1415926)
+ self.assertEqual(fspo.getProperty('a_boolean'), False)
+ self.assertEqual(fspo.getProperty('a_long'), 40000000000)
+ self.assertEqual(fspo.getProperty('a_date'), DateTime('01/01/2001'))
+ self.assertEqual(fspo.getProperty('a_tokens'),
+ ['peter', 'paul', 'mary'])
def test__createZODBClone(self):
from OFS.Folder import Folder
@@ -68,19 +67,19 @@
'test_props.props')
target = fspo._createZODBClone()
- self.failUnless( isinstance( target, Folder ) )
+ self.assertTrue(isinstance(target, Folder))
for prop_id in fspo.propertyIds():
- self.assertEqual( target.getProperty( prop_id )
- , fspo.getProperty( prop_id ) )
+ self.assertEqual(target.getProperty(prop_id),
+ fspo.getProperty(prop_id))
def test_manage_doCustomize(self):
_stool, custom, _fsdir, fspo = self._makeContext('test_props',
'test_props.props')
- fspo.manage_doCustomize( folder_path='custom' )
+ fspo.manage_doCustomize(folder_path='custom')
- self.assertEqual( len( custom.objectIds() ), 1 )
- self.failUnless( 'test_props' in custom.objectIds() )
+ self.assertEqual(len(custom.objectIds()), 1)
+ self.assertTrue('test_props' in custom.objectIds())
def test_manage_doCustomize_alternate_root(self):
from OFS.Folder import Folder
@@ -91,16 +90,16 @@
fspo.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf('test_props' in custom.objectIds())
- self.failUnless('test_props' in self.app.other.objectIds())
+ self.assertFalse('test_props' in custom.objectIds())
+ self.assertTrue('test_props' in self.app.other.objectIds())
def test_manage_doCustomize_fspath_as_dot(self):
stool, custom, _fsdir, fspo = self._makeContext('test_props',
'test_props.props')
- fspo.manage_doCustomize( folder_path='.' )
+ fspo.manage_doCustomize(folder_path='.')
- self.failIf( 'test_props' in custom.objectIds() )
- self.failUnless( 'test_props' in stool.objectIds() )
+ self.assertFalse('test_props' in custom.objectIds())
+ self.assertTrue('test_props' in stool.objectIds())
def test_manage_doCustomize_manual_clone(self):
from OFS.Folder import Folder
@@ -108,13 +107,13 @@
_stool, custom, _fsdir, fspo = self._makeContext('test_props',
'test_props.props')
clone = Folder('test_props')
- fspo.manage_doCustomize( folder_path='custom', obj=clone )
+ fspo.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless( 'test_props' in custom.objectIds() )
- self.failUnless( aq_base(custom._getOb('test_props')) is clone )
+ self.assertTrue('test_props' in custom.objectIds())
+ self.assertTrue(aq_base(custom._getOb('test_props')) is clone)
def test_suite():
return unittest.TestSuite((
- unittest.makeSuite( FSPOTests ),
+ unittest.makeSuite(FSPOTests),
))
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPythonScript.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPythonScript.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSPythonScript.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -39,11 +39,11 @@
class FSPSMaker(FSDVTest):
- def _makeOne( self, id, filename ):
+ def _makeOne(self, id, filename):
path = join(self.skin_path_name, filename)
metadata = FSMetadata(path)
metadata.read()
- return FSPythonScript( id, path, properties=metadata.getProperties() )
+ return FSPythonScript(id, path, properties=metadata.getProperties())
class FSPythonScriptTests(FSPSMaker):
@@ -87,7 +87,7 @@
sleep(0.05)
self.assertEqual(res, ['test1', 'test1'], res)
- def test_foreign_line_endings( self ):
+ def test_foreign_line_endings(self):
# Load the various line ending files and get their output
container = Folder('container_for_execution')
for fformat in ('unix', 'dos', 'mac'):
@@ -113,14 +113,14 @@
_stool, custom, _fsdir, fsPS = self._makeContext('test6', 'test6.py')
- fsPS.manage_doCustomize( folder_path='custom' )
+ fsPS.manage_doCustomize(folder_path='custom')
- self.assertEqual( len( custom.objectIds() ), 1 )
- self.failUnless( 'test6' in custom.objectIds() )
+ self.assertEqual(len(custom.objectIds()), 1)
+ self.assertTrue('test6' in custom.objectIds())
test6 = custom._getOb('test6')
- self.failUnless(isinstance(test6, CustomizedPythonScript))
+ self.assertTrue(isinstance(test6, CustomizedPythonScript))
self.assertEqual(test6.original_source, fsPS.read())
def test_customize_alternate_root(self):
@@ -129,35 +129,33 @@
fsPS.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf('test6' in custom.objectIds())
- self.failUnless('test6' in self.app.other.objectIds())
+ self.assertFalse('test6' in custom.objectIds())
+ self.assertTrue('test6' in self.app.other.objectIds())
def test_customize_fspath_as_dot(self):
stool, custom, _fsdir, fsPS = self._makeContext('test6', 'test6.py')
- fsPS.manage_doCustomize( folder_path='.' )
+ fsPS.manage_doCustomize(folder_path='.')
- self.failIf( 'test6' in custom.objectIds() )
- self.failUnless( 'test6' in stool.objectIds() )
+ self.assertFalse('test6' in custom.objectIds())
+ self.assertTrue('test6' in stool.objectIds())
def test_customize_manual_clone(self):
_stool, custom, _fsdir, fsPS = self._makeContext('test6', 'test6.py')
clone = Folder('test6')
- fsPS.manage_doCustomize( folder_path='custom', obj=clone )
+ fsPS.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless( 'test6' in custom.objectIds() )
- self.failUnless( aq_base(custom._getOb('test6')) is clone )
+ self.assertTrue('test6' in custom.objectIds())
+ self.assertTrue(aq_base(custom._getOb('test6')) is clone)
def test_customize_caching(self):
# Test to ensure that cache manager associations survive customizing
_stool, custom, _fsdir, fsPS = self._makeContext('test6', 'test6.py')
cache_id = 'gofast'
- RAMCacheManager.manage_addRAMCacheManager( self.app
- , cache_id
- , REQUEST=None
- )
+ RAMCacheManager.manage_addRAMCacheManager(self.app, cache_id,
+ REQUEST=None)
fsPS.ZCacheable_setManagerId(cache_id, REQUEST=None)
self.assertEqual(fsPS.ZCacheable_getManagerId(), cache_id)
@@ -172,13 +170,13 @@
_stool, custom, _fsdir, fsPS = self._makeContext('test6', 'test6.py')
fsPS._proxy_roles = ('Manager', 'Anonymous')
- self.failUnless(fsPS.manage_haveProxy('Anonymous'))
- self.failUnless(fsPS.manage_haveProxy('Manager'))
+ self.assertTrue(fsPS.manage_haveProxy('Anonymous'))
+ self.assertTrue(fsPS.manage_haveProxy('Manager'))
fsPS.manage_doCustomize(folder_path='custom')
custom_ps = custom.test6
- self.failUnless(custom_ps.manage_haveProxy('Anonymous'))
- self.failUnless(custom_ps.manage_haveProxy('Manager'))
+ self.assertTrue(custom_ps.manage_haveProxy('Anonymous'))
+ self.assertTrue(custom_ps.manage_haveProxy('Manager'))
def test_customization_permissions(self):
# Test to ensure that permission settings survive customizing
@@ -186,16 +184,13 @@
perm = 'View management screens'
# First, set a permission to an odd role and verify
- fsPS.manage_permission( perm
- , roles=('Anonymous',)
- , acquire=0
- )
+ fsPS.manage_permission(perm, roles=('Anonymous',), acquire=0)
rop = fsPS.rolesOfPermission(perm)
for rop_info in rop:
if rop_info['name'] == 'Anonymous':
- self.failIf(rop_info['selected'] == '')
+ self.assertFalse(rop_info['selected'] == '')
else:
- self.failUnless(rop_info['selected'] == '')
+ self.assertTrue(rop_info['selected'] == '')
# Now customize and verify again
fsPS.manage_doCustomize(folder_path='custom')
@@ -203,9 +198,9 @@
rop = custom_ps.rolesOfPermission(perm)
for rop_info in rop:
if rop_info['name'] == 'Anonymous':
- self.failIf(rop_info['selected'] == '')
+ self.assertFalse(rop_info['selected'] == '')
else:
- self.failUnless(rop_info['selected'] == '')
+ self.assertTrue(rop_info['selected'] == '')
_ORIGINAL_TEXT = """\
## Script (Python) "cps"
@@ -244,6 +239,7 @@
+return 'cps -- replaced'
"""
+
class CustomizedPythonScriptTests(unittest.TestCase):
def _getTargetClass(self):
@@ -282,7 +278,7 @@
class FSPythonScriptWarningsTests(SecurityTest, FSPSMaker, WarningInterceptor):
- def setUp( self ):
+ def setUp(self):
SecurityTest.setUp(self)
FSPSMaker.setUp(self)
self._trap_warning_output()
@@ -296,7 +292,8 @@
self.app._setObject('warn_me', WarnMe(2))
self.app._setObject('warn1', self._makeOne('warn1', 'test_warn.py'))
# This used to raise an error:
- # File "/usr/local/python2.3/lib/python2.3/warnings.py", line 63, in warn_explicit
+ # File "/usr/local/python2.3/lib/python2.3/warnings.py", line 63,
+ # in warn_explicit
# if module[-3:].lower() == ".py":
# TypeError: unsubscriptable object
self.app.warn1()
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSReSTMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSReSTMethod.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSReSTMethod.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -43,14 +43,14 @@
main = ZopePageTemplate('main_template', _TEST_MAIN_TEMPLATE)
self.app._setOb('main_template', main)
- def _makeOne( self, id, filename ):
+ def _makeOne(self, id, filename):
from Products.CMFCore.FSMetadata import FSMetadata
from Products.CMFCore.FSReSTMethod import FSReSTMethod
path = os.path.join(self.skin_path_name, filename)
metadata = FSMetadata(path)
metadata.read()
- return FSReSTMethod( id, path, properties=metadata.getProperties() )
+ return FSReSTMethod(id, path, properties=metadata.getProperties())
_EXPECTED_HTML = """\
<html>
@@ -111,9 +111,9 @@
obj = self._makeOne('testReST', 'testReST.rst')
obj = obj.__of__(self.app)
obj(self.REQUEST, self.RESPONSE)
- self.failUnless(len(self.RESPONSE.headers) >= original_len + 2)
- self.failUnless('foo' in self.RESPONSE.headers.keys())
- self.failUnless('bar' in self.RESPONSE.headers.keys())
+ self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2)
+ self.assertTrue('foo' in self.RESPONSE.headers.keys())
+ self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_ownership(self):
script = self._makeOne('testReST', 'testReST.rst')
@@ -143,12 +143,9 @@
ADD_ZPT = 'Add page templates'
-ZPT_META_TYPES = ( { 'name' : 'Page Template'
- , 'action' : 'manage_addPageTemplate'
- , 'permission' : ADD_ZPT
- }
- ,
- )
+ZPT_META_TYPES = ({'name': 'Page Template',
+ 'action': 'manage_addPageTemplate',
+ 'permission': ADD_ZPT},)
class FSReSTMethodCustomizationTests(SecurityTest, FSReSTMaker):
@@ -164,7 +161,7 @@
FSReSTMaker.tearDown(self)
SecurityTest.tearDown(self)
- def test_customize( self ):
+ def test_customize(self):
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.CMFCore.FSReSTMethod import _CUSTOMIZED_TEMPLATE_ZPT
@@ -173,10 +170,10 @@
self.fsReST.manage_doCustomize(folder_path='custom')
self.assertEqual(len(self.custom.objectIds()), 1)
- self.failUnless('testReST' in self.custom.objectIds())
+ self.assertTrue('testReST' in self.custom.objectIds())
target = self.custom._getOb('testReST')
- self.failUnless(isinstance(target, ZopePageTemplate))
+ self.assertTrue(isinstance(target, ZopePageTemplate))
propinfo = target.propdict()['rest']
self.assertEqual(propinfo['type'], 'text')
@@ -185,42 +182,40 @@
self.assertEqual(_normalize_whitespace(target.document_src()),
_normalize_whitespace(_CUSTOMIZED_TEMPLATE_ZPT))
- def test_customize_alternate_root( self ):
+ def test_customize_alternate_root(self):
from OFS.Folder import Folder
self.app.other = Folder('other')
self.fsReST.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf('testReST' in self.custom.objectIds())
- self.failUnless('testReST' in self.app.other.objectIds())
+ self.assertFalse('testReST' in self.custom.objectIds())
+ self.assertTrue('testReST' in self.app.other.objectIds())
- def test_customize_fpath_as_dot( self ):
+ def test_customize_fpath_as_dot(self):
self.fsReST.manage_doCustomize(folder_path='.')
- self.failIf('testReST' in self.custom.objectIds())
- self.failUnless('testReST' in self.skins.objectIds())
+ self.assertFalse('testReST' in self.custom.objectIds())
+ self.assertTrue('testReST' in self.skins.objectIds())
- def test_customize_manual_clone( self ):
+ def test_customize_manual_clone(self):
from OFS.Folder import Folder
clone = Folder('testReST')
self.fsReST.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless('testReST' in self.custom.objectIds())
- self.failUnless(aq_base(self.custom._getOb('testReST')) is clone)
+ self.assertTrue('testReST' in self.custom.objectIds())
+ self.assertTrue(aq_base(self.custom._getOb('testReST')) is clone)
def test_customize_caching(self):
# Test to ensure that cache manager associations survive customizing
from Products.StandardCacheManagers import RAMCacheManager
cache_id = 'gofast'
self.custom.all_meta_types = ZPT_META_TYPES
- RAMCacheManager.manage_addRAMCacheManager( self.app
- , cache_id
- , REQUEST=None
- )
+ RAMCacheManager.manage_addRAMCacheManager(self.app, cache_id,
+ REQUEST=None)
self.fsReST.ZCacheable_setManagerId(cache_id, REQUEST=None)
self.assertEqual(self.fsReST.ZCacheable_getManagerId(), cache_id)
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSTXMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSTXMethod.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSTXMethod.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -36,14 +36,14 @@
class FSSTXMaker(FSDVTest):
- def _makeOne( self, id, filename ):
+ def _makeOne(self, id, filename):
from Products.CMFCore.FSMetadata import FSMetadata
from Products.CMFCore.FSSTXMethod import FSSTXMethod
path = os.path.join(self.skin_path_name, filename)
metadata = FSMetadata(path)
metadata.read()
- return FSSTXMethod( id, path, properties=metadata.getProperties() )
+ return FSSTXMethod(id, path, properties=metadata.getProperties())
_EXPECTED_HTML = """\
<html>
@@ -138,9 +138,9 @@
obj = self._makeOne('testSTX', 'testSTX.stx')
obj = obj.__of__(self.app)
obj(self.REQUEST, self.RESPONSE)
- self.failUnless(len(self.RESPONSE.headers) >= original_len + 2)
- self.failUnless('foo' in self.RESPONSE.headers.keys())
- self.failUnless('bar' in self.RESPONSE.headers.keys())
+ self.assertTrue(len(self.RESPONSE.headers) >= original_len + 2)
+ self.assertTrue('foo' in self.RESPONSE.headers.keys())
+ self.assertTrue('bar' in self.RESPONSE.headers.keys())
def test_ownership(self):
script = self._makeOne('testSTX', 'testSTX.stx')
@@ -170,12 +170,9 @@
ADD_ZPT = 'Add page templates'
-ZPT_META_TYPES = ( { 'name' : 'Page Template'
- , 'action' : 'manage_addPageTemplate'
- , 'permission' : ADD_ZPT
- }
- ,
- )
+ZPT_META_TYPES = ({'name': 'Page Template',
+ 'action': 'manage_addPageTemplate',
+ 'permission': ADD_ZPT},)
class FSSTXMethodCustomizationTests(SecurityTest,
@@ -196,7 +193,7 @@
SecurityTest.tearDown(self)
_TemplateSwitcher.tearDown(self)
- def test_customize_alternate_root( self ):
+ def test_customize_alternate_root(self):
from OFS.Folder import Folder
self._setWhichTemplate('DTML')
@@ -204,18 +201,18 @@
self.fsSTX.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf('testSTX' in self.custom.objectIds())
- self.failUnless('testSTX' in self.app.other.objectIds())
+ self.assertFalse('testSTX' in self.custom.objectIds())
+ self.assertTrue('testSTX' in self.app.other.objectIds())
- def test_customize_fspath_as_dot( self ):
+ def test_customize_fspath_as_dot(self):
self._setWhichTemplate('DTML')
self.fsSTX.manage_doCustomize(folder_path='.')
- self.failIf('testSTX' in self.custom.objectIds())
- self.failUnless('testSTX' in self.skins.objectIds())
+ self.assertFalse('testSTX' in self.custom.objectIds())
+ self.assertTrue('testSTX' in self.skins.objectIds())
- def test_customize_manual_clone( self ):
+ def test_customize_manual_clone(self):
from OFS.Folder import Folder
clone = Folder('testSTX')
@@ -224,10 +221,10 @@
self.fsSTX.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless('testSTX' in self.custom.objectIds())
- self.failUnless(aq_base(self.custom._getOb('testSTX')) is clone)
+ self.assertTrue('testSTX' in self.custom.objectIds())
+ self.assertTrue(aq_base(self.custom._getOb('testSTX')) is clone)
- def test_customize_with_DTML( self ):
+ def test_customize_with_DTML(self):
from OFS.DTMLDocument import DTMLDocument
from Products.CMFCore.FSSTXMethod import _CUSTOMIZED_TEMPLATE_DTML
@@ -236,10 +233,10 @@
self.fsSTX.manage_doCustomize(folder_path='custom')
self.assertEqual(len(self.custom.objectIds()), 1)
- self.failUnless('testSTX' in self.custom.objectIds())
+ self.assertTrue('testSTX' in self.custom.objectIds())
target = self.custom._getOb('testSTX')
- self.failUnless(isinstance(target, DTMLDocument))
+ self.assertTrue(isinstance(target, DTMLDocument))
propinfo = target.propdict()['stx']
self.assertEqual(propinfo['type'], 'text')
@@ -247,7 +244,7 @@
self.assertEqual(target.document_src(), _CUSTOMIZED_TEMPLATE_DTML)
- def test_customize_with_ZPT( self ):
+ def test_customize_with_ZPT(self):
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.CMFCore.FSSTXMethod import _CUSTOMIZED_TEMPLATE_ZPT
@@ -257,10 +254,10 @@
self.fsSTX.manage_doCustomize(folder_path='custom')
self.assertEqual(len(self.custom.objectIds()), 1)
- self.failUnless('testSTX' in self.custom.objectIds())
+ self.assertTrue('testSTX' in self.custom.objectIds())
target = self.custom._getOb('testSTX')
- self.failUnless(isinstance(target, ZopePageTemplate))
+ self.assertTrue(isinstance(target, ZopePageTemplate))
propinfo = target.propdict()['stx']
self.assertEqual(propinfo['type'], 'text')
@@ -275,10 +272,8 @@
cache_id = 'gofast'
self._setWhichTemplate('ZPT')
self.custom.all_meta_types = ZPT_META_TYPES
- RAMCacheManager.manage_addRAMCacheManager( self.app
- , cache_id
- , REQUEST=None
- )
+ RAMCacheManager.manage_addRAMCacheManager(self.app, cache_id,
+ REQUEST=None)
self.fsSTX.ZCacheable_setManagerId(cache_id, REQUEST=None)
self.assertEqual(self.fsSTX.ZCacheable_getManagerId(), cache_id)
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSZSQLMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSZSQLMethod.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSZSQLMethod.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -30,11 +30,11 @@
class FSZSQLMaker(FSDVTest):
- def _makeOne( self, id, filename ):
+ def _makeOne(self, id, filename):
path = join(self.skin_path_name, filename)
metadata = FSMetadata(path)
metadata.read()
- return FSZSQLMethod( id, path, properties=metadata.getProperties() )
+ return FSZSQLMethod(id, path, properties=metadata.getProperties())
class FSZSQLMethodTests(FSDVTest):
@@ -54,7 +54,7 @@
self.assertEqual(zsql.class_name_, 'MyRecord')
self.assertEqual(zsql.class_file_, 'CMFCore.TestRecord')
self.assertEqual(zsql.connection_hook, 'MyHook')
- self.failIf(zsql.allow_simple_one_argument_traversal is None)
+ self.assertFalse(zsql.allow_simple_one_argument_traversal is None)
class FSZSQLMethodCustomizationTests(SecurityTest, FSZSQLMaker):
@@ -74,7 +74,7 @@
self.fsZSQL.manage_doCustomize(folder_path='custom')
self.assertEqual(len(self.custom.objectIds()), 1)
- self.failUnless('testsql' in self.custom.objectIds())
+ self.assertTrue('testsql' in self.custom.objectIds())
def test_customize_alternate_root(self):
from OFS.Folder import Folder
@@ -83,14 +83,14 @@
self.fsZSQL.manage_doCustomize(folder_path='other', root=self.app)
- self.failIf('testsql' in self.custom.objectIds())
- self.failUnless('testsql' in self.app.other.objectIds())
+ self.assertFalse('testsql' in self.custom.objectIds())
+ self.assertTrue('testsql' in self.app.other.objectIds())
def test_customize_fspath_as_dot(self):
self.fsZSQL.manage_doCustomize(folder_path='.')
- self.failIf('testsql' in self.custom.objectIds())
- self.failUnless('testsql' in self.skins.objectIds())
+ self.assertFalse('testsql' in self.custom.objectIds())
+ self.assertTrue('testsql' in self.skins.objectIds())
def test_customize_manual_clone(self):
from OFS.Folder import Folder
@@ -99,8 +99,8 @@
self.fsZSQL.manage_doCustomize(folder_path='custom', obj=clone)
- self.failUnless('testsql' in self.custom.objectIds())
- self.failUnless(aq_base(self.custom._getOb('testsql')) is clone)
+ self.assertTrue('testsql' in self.custom.objectIds())
+ self.assertTrue(aq_base(self.custom._getOb('testsql')) is clone)
def test_customize_properties(self):
# Make sure all properties are coming across
@@ -116,7 +116,7 @@
self.assertEqual(zsql.class_name_, 'MyRecord')
self.assertEqual(zsql.class_file_, 'CMFCore.TestRecord')
self.assertEqual(zsql.connection_hook, 'MyHook')
- self.failIf(zsql.allow_simple_one_argument_traversal is None)
+ self.assertFalse(zsql.allow_simple_one_argument_traversal is None)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_MembershipTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_MembershipTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_MembershipTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -52,110 +52,110 @@
def _makeSite(self, parent=None):
if parent is None:
- parent = self.root
- site = DummySite( 'site' ).__of__( parent )
- site._setObject( 'portal_membership', self._makeOne() )
+ parent = self.app
+ site = DummySite('site').__of__(parent)
+ site._setObject('portal_membership', self._makeOne())
return site
def test_getCandidateLocalRoles(self):
site = self._makeSite()
mtool = site.portal_membership
- acl_users = site._setObject( 'acl_users', DummyUserFolder() )
+ acl_users = site._setObject('acl_users', DummyUserFolder())
newSecurityManager(None, acl_users.user_foo)
rval = mtool.getCandidateLocalRoles(mtool)
- self.assertEqual( rval, ('Dummy',) )
+ self.assertEqual(rval, ('Dummy',))
newSecurityManager(None, acl_users.all_powerful_Oz)
rval = mtool.getCandidateLocalRoles(mtool)
- self.assertEqual( rval, ('Manager', 'Member', 'Owner', 'Reviewer') )
+ self.assertEqual(rval, ('Manager', 'Member', 'Owner', 'Reviewer'))
def test_createMemberArea(self):
site = self._makeSite()
mtool = site.portal_membership
- members = site._setObject( 'Members', PortalFolder('Members') )
- acl_users = site._setObject( 'acl_users', DummyUserFolder() )
+ members = site._setObject('Members', PortalFolder('Members'))
+ acl_users = site._setObject('acl_users', DummyUserFolder())
getSiteManager().registerUtility(DummyTool(), IWorkflowTool)
# permission
mtool.createMemberArea('user_foo')
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
newSecurityManager(None, acl_users.user_bar)
mtool.createMemberArea('user_foo')
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
newSecurityManager(None, acl_users.user_foo)
mtool.setMemberareaCreationFlag()
mtool.createMemberArea('user_foo')
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
newSecurityManager(None, acl_users.all_powerful_Oz)
mtool.setMemberareaCreationFlag()
mtool.createMemberArea('user_foo')
- self.failUnless( hasattr(members.aq_self, 'user_foo') )
+ self.assertTrue(hasattr(members.aq_self, 'user_foo'))
# default content
f = members.user_foo
ownership = acl_users.user_foo
- localroles = ( ( 'user_foo', ('Owner',) ), )
- self.assertEqual( f.getOwner(), ownership )
- self.assertEqual( f.get_local_roles(), localroles,
- 'CMF Collector issue #162 (LocalRoles broken): %s'
- % str( f.get_local_roles() ) )
+ localroles = (('user_foo', ('Owner',)),)
+ self.assertEqual(f.getOwner(), ownership)
+ self.assertEqual(f.get_local_roles(), localroles,
+ 'CMF Collector issue #162 (LocalRoles broken): %s'
+ % str(f.get_local_roles()))
def test_createMemberAreaCMFBTreeFolder(self):
# Test member area creation if the toplevel "Members" folder is
# a CMFBTreeFolder (http://www.zope.org/Collectors/CMF/441
site = self._makeSite()
mtool = site.portal_membership
- members = site._setObject( 'Members', CMFBTreeFolder('Members') )
- acl_users = site._setObject( 'acl_users', DummyUserFolder() )
+ members = site._setObject('Members', CMFBTreeFolder('Members'))
+ acl_users = site._setObject('acl_users', DummyUserFolder())
getSiteManager().registerUtility(DummyTool(), IWorkflowTool)
# permission
mtool.createMemberArea('user_foo')
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
newSecurityManager(None, acl_users.user_bar)
mtool.createMemberArea('user_foo')
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
newSecurityManager(None, acl_users.user_foo)
mtool.setMemberareaCreationFlag()
mtool.createMemberArea('user_foo')
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
newSecurityManager(None, acl_users.all_powerful_Oz)
mtool.setMemberareaCreationFlag()
mtool.createMemberArea('user_foo')
- self.failUnless( hasattr(members.aq_self, 'user_foo') )
+ self.assertTrue(hasattr(members.aq_self, 'user_foo'))
# default content
f = members.user_foo
ownership = acl_users.user_foo
- localroles = ( ( 'user_foo', ('Owner',) ), )
- self.assertEqual( f.getOwner(), ownership )
- self.assertEqual( f.get_local_roles(), localroles,
- 'CMF Collector issue #162 (LocalRoles broken): %s'
- % str( f.get_local_roles() ) )
+ localroles = (('user_foo', ('Owner',)),)
+ self.assertEqual(f.getOwner(), ownership)
+ self.assertEqual(f.get_local_roles(), localroles,
+ 'CMF Collector issue #162 (LocalRoles broken): %s'
+ % str(f.get_local_roles()))
def test_createMemberArea_chained(self):
LOCAL_USER_ID = 'user_foo'
NONLOCAL_USER_ID = 'user_bar'
- self.root._setObject( 'folder', Folder('folder') )
- site = self._makeSite( self.root.folder )
+ self.app._setObject('folder', Folder('folder'))
+ site = self._makeSite(self.app.folder)
mtool = site.portal_membership
- members = site._setObject( 'Members', PortalFolder('Members') )
+ members = site._setObject('Members', PortalFolder('Members'))
getSiteManager().registerUtility(DummyTool(), IWorkflowTool)
local_uf = DummyUserFolder()
- delattr( local_uf, NONLOCAL_USER_ID )
+ delattr(local_uf, NONLOCAL_USER_ID)
acl_users = site._setObject('acl_users', local_uf)
nonlocal_uf = DummyUserFolder()
- delattr( nonlocal_uf, LOCAL_USER_ID )
- self.root.folder._setObject('acl_users', nonlocal_uf)
+ delattr(nonlocal_uf, LOCAL_USER_ID)
+ self.app.folder._setObject('acl_users', nonlocal_uf)
newSecurityManager(None, acl_users.all_powerful_Oz)
- mtool.createMemberArea( NONLOCAL_USER_ID )
- self.failUnless( hasattr(members.aq_self, NONLOCAL_USER_ID ) )
- mtool.createMemberArea( LOCAL_USER_ID )
- self.failUnless( hasattr(members.aq_self, LOCAL_USER_ID ) )
+ mtool.createMemberArea(NONLOCAL_USER_ID)
+ self.assertTrue(hasattr(members.aq_self, NONLOCAL_USER_ID))
+ mtool.createMemberArea(LOCAL_USER_ID)
+ self.assertTrue(hasattr(members.aq_self, LOCAL_USER_ID))
def test_isMemberAccessAllowed(self):
site = self._makeSite()
@@ -183,18 +183,17 @@
sm.registerUtility(mdtool, IMemberDataTool)
newSecurityManager(None, acl_users.all_powerful_Oz)
- self.assertEqual( acl_users.getUserById('user_foo'),
- acl_users.user_foo )
+ self.assertEqual(acl_users.getUserById('user_foo'), acl_users.user_foo)
mtool.createMemberArea('user_foo')
- self.failUnless( hasattr(members.aq_self, 'user_foo') )
+ self.assertTrue(hasattr(members.aq_self, 'user_foo'))
mdtool.registerMemberData('Dummy', 'user_foo')
- self.failUnless( mdtool._members.has_key('user_foo') )
+ self.assertTrue('user_foo' in mdtool._members)
- rval = mtool.deleteMembers( ('user_foo', 'user_baz') )
- self.assertEqual( rval, ('user_foo',) )
- self.failIf( acl_users.getUserById('user_foo', None) )
- self.failIf( mdtool._members.has_key('user_foo') )
- self.failIf( hasattr(members.aq_self, 'user_foo') )
+ rval = mtool.deleteMembers(('user_foo', 'user_baz'))
+ self.assertEqual(rval, ('user_foo',))
+ self.assertFalse(acl_users.getUserById('user_foo', None))
+ self.assertFalse('user_foo' in mdtool._members)
+ self.assertFalse(hasattr(members.aq_self, 'user_foo'))
cleanUp()
@@ -212,23 +211,20 @@
sm.registerUtility(mdtool, IMemberDataTool)
newSecurityManager(None, acl_users.all_powerful_Oz)
- self.assertEqual( acl_users.getUserById('user_foo'),
- acl_users.user_foo )
+ self.assertEqual(acl_users.getUserById('user_foo'), acl_users.user_foo)
mtool.createMemberArea('user_foo')
- self.failUnless( hasattr(members.aq_self, 'user_foo') )
+ self.assertTrue(hasattr(members.aq_self, 'user_foo'))
mdtool.registerMemberData('Dummy', 'user_foo')
- self.failUnless( mdtool._members.has_key('user_foo') )
+ self.assertTrue('user_foo' in mdtool._members)
# Fake an incompatible user folder by deleting the class method
deletion_method = DummyUserFolder.userFolderDelUsers
del DummyUserFolder.userFolderDelUsers
- self.assertRaises( NotImplementedError
- , mtool.deleteMembers
- , ('user_foo',)
- )
- self.failUnless( acl_users.getUserById('user_foo', None) )
- self.failUnless( mdtool._members.has_key('user_foo') )
- self.failUnless( hasattr(members.aq_self, 'user_foo') )
+ self.assertRaises(NotImplementedError, mtool.deleteMembers,
+ ('user_foo',))
+ self.assertTrue(acl_users.getUserById('user_foo', None))
+ self.assertTrue('user_foo' in mdtool._members)
+ self.assertTrue(hasattr(members.aq_self, 'user_foo'))
# Cleanup
DummyUserFolder.userFolderDelUsers = deletion_method
@@ -237,47 +233,47 @@
def test_getMemberById_nonesuch(self):
INVALID_USER_ID = 'nonesuch'
- self.root._setObject( 'folder', Folder( 'folder' ) )
- site = self._makeSite( self.root.folder )
+ self.app._setObject('folder', Folder('folder'))
+ site = self._makeSite(self.app.folder)
tool = site.portal_membership
site.acl_users = DummyUserFolder()
- self.assertEqual( None, tool.getMemberById( INVALID_USER_ID ) )
+ self.assertEqual(None, tool.getMemberById(INVALID_USER_ID))
def test_getMemberById_local(self):
LOCAL_USER_ID = 'user_foo'
- self.root._setObject( 'folder', Folder('folder') )
- site = self._makeSite( self.root.folder )
- site._setObject( 'acl_users', DummyUserFolder() )
+ self.app._setObject('folder', Folder('folder'))
+ site = self._makeSite(self.app.folder)
+ site._setObject('acl_users', DummyUserFolder())
tool = site.portal_membership
- member = tool.getMemberById( LOCAL_USER_ID)
- self.assertEqual( member.getId(), LOCAL_USER_ID )
+ member = tool.getMemberById(LOCAL_USER_ID)
+ self.assertEqual(member.getId(), LOCAL_USER_ID)
def test_getMemberById_nonlocal(self):
NONLOCAL_USER_ID = 'user_bar'
- self.root._setObject( 'folder', Folder( 'folder' ) )
- site = self._makeSite( self.root.folder )
- self.root.folder._setObject( 'acl_users', DummyUserFolder() )
+ self.app._setObject('folder', Folder('folder'))
+ site = self._makeSite(self.app.folder)
+ self.app.folder._setObject('acl_users', DummyUserFolder())
tool = site.portal_membership
- member = tool.getMemberById( NONLOCAL_USER_ID )
- self.assertEqual( member.getId(), NONLOCAL_USER_ID )
+ member = tool.getMemberById(NONLOCAL_USER_ID)
+ self.assertEqual(member.getId(), NONLOCAL_USER_ID)
def test_getMemberById_chained(self):
LOCAL_USER_ID = 'user_foo'
NONLOCAL_USER_ID = 'user_bar'
- self.root._setObject( 'folder', Folder( 'folder' ) )
- site = self._makeSite( self.root.folder )
+ self.app._setObject('folder', Folder('folder'))
+ site = self._makeSite(self.app.folder)
tool = site.portal_membership
local_uf = DummyUserFolder()
- delattr( local_uf, NONLOCAL_USER_ID )
+ delattr(local_uf, NONLOCAL_USER_ID)
site._setObject('acl_users', local_uf)
nonlocal_uf = DummyUserFolder()
- delattr( nonlocal_uf, LOCAL_USER_ID )
- self.root.folder._setObject('acl_users', nonlocal_uf)
+ delattr(nonlocal_uf, LOCAL_USER_ID)
+ self.app.folder._setObject('acl_users', nonlocal_uf)
local_member = tool.getMemberById(LOCAL_USER_ID)
self.assertEqual(local_member.getId(), LOCAL_USER_ID)
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_OpaqueItems.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_OpaqueItems.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_OpaqueItems.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -40,7 +40,8 @@
'permission': 'View'}]
def addDummyContent(container, id, opaqueItem):
- container._setObject(id, DummyContent(id, opaqueItem=opaqueItem, catalog=1))
+ container._setObject(id, DummyContent(id, opaqueItem=opaqueItem,
+ catalog=1))
return getattr(container, id)
@@ -189,9 +190,9 @@
sub = self.sub
dummy = addDummyContent(folder, 'dummy', Marker)
- self.failIf(dummy.isNotifiedByAfterAdd())
- self.failIf(dummy.isNotifiedByAfterClone())
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByAfterAdd())
+ self.assertFalse(dummy.isNotifiedByAfterClone())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
# WAAAA! must get _p_jar set
old, dummy._p_jar = sub._p_jar, self.app._p_jar
@@ -201,18 +202,18 @@
finally:
dummy._p_jar = old
- self.failIf(dummy.isNotifiedByAfterAdd())
- self.failIf(dummy.isNotifiedByAfterClone())
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByAfterAdd())
+ self.assertFalse(dummy.isNotifiedByAfterClone())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
def test_callableItemWithHooksOnly(self):
folder = self.folder
sub = self.sub
dummy = addDummyContent(folder, 'dummy', Hooks)
- self.failIf(dummy.isNotifiedByAfterAdd())
- self.failIf(dummy.isNotifiedByAfterClone())
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByAfterAdd())
+ self.assertFalse(dummy.isNotifiedByAfterClone())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
# WAAAA! must get _p_jar set
old, dummy._p_jar = sub._p_jar, self.app._p_jar
@@ -222,9 +223,9 @@
finally:
dummy._p_jar = old
- self.failIf(dummy.isNotifiedByAfterAdd())
- self.failIf(dummy.isNotifiedByAfterClone())
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByAfterAdd())
+ self.assertFalse(dummy.isNotifiedByAfterClone())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
def test_callableItemWithMarkerAndHooks(self):
folder = self.folder
@@ -232,8 +233,8 @@
dummy = addDummyContent(folder, 'dummy', MarkerAndHooks)
self.assertEqual(dummy.isNotifiedByAfterAdd(), 1)
- self.failIf(dummy.isNotifiedByAfterClone())
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByAfterClone())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
# WAAAA! must get _p_jar set
old, dummy._p_jar = sub._p_jar, self.app._p_jar
@@ -245,7 +246,7 @@
self.assertEqual(dummy.isNotifiedByAfterAdd(), 2)
self.assertEqual(dummy.isNotifiedByAfterClone(), 1)
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
def test_talkbackItem(self):
folder = self.folder
@@ -254,8 +255,8 @@
dummy = addDummyContent(folder, 'dummy', 'talkback')
self.assertEqual(dummy.isNotifiedByAfterAdd(), 1)
- self.failIf(dummy.isNotifiedByAfterClone())
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByAfterClone())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
# WAAAA! must get _p_jar set
old, dummy._p_jar = sub._p_jar, self.app._p_jar
@@ -267,7 +268,7 @@
self.assertEqual(dummy.isNotifiedByAfterAdd(), 2)
self.assertEqual(dummy.isNotifiedByAfterClone(), 1)
- self.failIf(dummy.isNotifiedByBeforeDelete())
+ self.assertFalse(dummy.isNotifiedByBeforeDelete())
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_PortalFolder.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_PortalFolder.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_PortalFolder.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -50,6 +50,7 @@
return [{'name': 'Dummy', 'action': 'manage_addFolder',
'permission': 'View'}]
+
class DummyCatalogTool:
implements(ICatalogTool)
@@ -115,16 +116,16 @@
def test_invokeFactory(self):
f = self.f
- self.failIf( 'foo' in f.objectIds() )
+ self.assertFalse('foo' in f.objectIds())
f.manage_addProduct = {'FooProduct': DummyFactoryDispatcher(f)}
- f.invokeFactory( type_name='Dummy Content', id='foo' )
+ f.invokeFactory(type_name='Dummy Content', id='foo')
- self.failUnless( 'foo' in f.objectIds() )
+ self.assertTrue('foo' in f.objectIds())
foo = f.foo
- self.assertEqual( foo.getId(), 'foo' )
- self.assertEqual( foo.getPortalTypeName(), 'Dummy Content' )
- self.assertEqual( foo.Type(), 'Dummy Content Title' )
+ self.assertEqual(foo.getId(), 'foo')
+ self.assertEqual(foo.getPortalTypeName(), 'Dummy Content')
+ self.assertEqual(foo.Type(), 'Dummy Content Title')
def test_invokeFactory_disallowed_type(self):
f = self.f
@@ -135,7 +136,7 @@
ftype.allowed_content_types = (self._PORTAL_TYPE,)
f.invokeFactory(self._PORTAL_TYPE, id='sub')
- self.failUnless('sub' in f.objectIds())
+ self.assertTrue('sub' in f.objectIds())
self.assertRaises(ValueError, f.invokeFactory, 'Dummy Content', 'foo')
@@ -177,38 +178,38 @@
getSiteManager().registerUtility(ttool, ITypesTool)
f = self._makeOne('foo')
- self.assertEqual( f.objectValues(), [] )
- self.assertEqual( f.contentIds(), [] )
- self.assertEqual( f.contentItems(), [] )
- self.assertEqual( f.contentValues(), [] )
- self.assertEqual( f.listFolderContents(), [] )
- self.assertEqual( f.listDAVObjects(), [] )
+ self.assertEqual(f.objectValues(), [])
+ self.assertEqual(f.contentIds(), [])
+ self.assertEqual(f.contentItems(), [])
+ self.assertEqual(f.contentValues(), [])
+ self.assertEqual(f.listFolderContents(), [])
+ self.assertEqual(f.listDAVObjects(), [])
- f._setObject('sub1', DummyContent('sub1') )
- self.assertEqual( f.objectValues(), [f.sub1] )
- self.assertEqual( f.contentIds(), [] )
- self.assertEqual( f.contentItems(), [] )
- self.assertEqual( f.contentValues(), [] )
- self.assertEqual( f.listFolderContents(), [] )
- self.assertEqual( f.listDAVObjects(), [f.sub1] )
+ f._setObject('sub1', DummyContent('sub1'))
+ self.assertEqual(f.objectValues(), [f.sub1])
+ self.assertEqual(f.contentIds(), [])
+ self.assertEqual(f.contentItems(), [])
+ self.assertEqual(f.contentValues(), [])
+ self.assertEqual(f.listFolderContents(), [])
+ self.assertEqual(f.listDAVObjects(), [f.sub1])
fti = FTIDATA_DUMMY[0].copy()
- ttool._setObject( 'Dummy Content', FTI(**fti) )
- self.assertEqual( f.objectValues(), [f.sub1] )
- self.assertEqual( f.contentIds(), ['sub1'] )
- self.assertEqual( f.contentItems(), [ ('sub1', f.sub1) ] )
- self.assertEqual( f.contentValues(), [f.sub1] )
- self.assertEqual( f.listFolderContents(), [f.sub1] )
- self.assertEqual( f.listDAVObjects(), [f.sub1] )
+ ttool._setObject('Dummy Content', FTI(**fti))
+ self.assertEqual(f.objectValues(), [f.sub1])
+ self.assertEqual(f.contentIds(), ['sub1'])
+ self.assertEqual(f.contentItems(), [('sub1', f.sub1)])
+ self.assertEqual(f.contentValues(), [f.sub1])
+ self.assertEqual(f.listFolderContents(), [f.sub1])
+ self.assertEqual(f.listDAVObjects(), [f.sub1])
- f._setObject('hidden_sub2', DummyContent('hidden_sub2') )
- self.assertEqual( f.objectValues(), [f.sub1, f.hidden_sub2] )
- self.assertEqual( f.contentIds(), ['sub1', 'hidden_sub2'] )
- self.assertEqual( f.contentItems(), [ ('sub1', f.sub1),
- ('hidden_sub2', f.hidden_sub2) ] )
- self.assertEqual( f.contentValues(), [f.sub1, f.hidden_sub2] )
- self.assertEqual( f.listFolderContents(), [f.sub1] )
- self.assertEqual( f.listDAVObjects(), [f.sub1, f.hidden_sub2] )
+ f._setObject('hidden_sub2', DummyContent('hidden_sub2'))
+ self.assertEqual(f.objectValues(), [f.sub1, f.hidden_sub2])
+ self.assertEqual(f.contentIds(), ['sub1', 'hidden_sub2'])
+ self.assertEqual(f.contentItems(), [('sub1', f.sub1),
+ ('hidden_sub2', f.hidden_sub2)])
+ self.assertEqual(f.contentValues(), [f.sub1, f.hidden_sub2])
+ self.assertEqual(f.listFolderContents(), [f.sub1])
+ self.assertEqual(f.listDAVObjects(), [f.sub1, f.hidden_sub2])
def test_deletePropagation(self):
acl_users = self.site._setObject('acl_users', DummyUserFolder())
@@ -216,23 +217,23 @@
test = self._makeOne('test')
foo = DummyContent('foo')
foo.reset()
- self.failIf( foo.after_add_called )
- self.failIf( foo.before_delete_called )
+ self.assertFalse(foo.after_add_called)
+ self.assertFalse(foo.before_delete_called)
test._setObject('foo', foo)
- self.failUnless( foo.after_add_called )
- self.failIf( foo.before_delete_called )
+ self.assertTrue(foo.after_add_called)
+ self.assertFalse(foo.before_delete_called)
foo.reset()
test._delObject('foo')
- self.failIf( foo.after_add_called )
- self.failUnless( foo.before_delete_called )
+ self.assertFalse(foo.after_add_called)
+ self.assertTrue(foo.before_delete_called)
foo.reset()
test._setObject('foo', foo)
test._delOb('foo') # doesn't propagate
- self.failUnless( foo.after_add_called )
- self.failIf( foo.before_delete_called )
+ self.assertTrue(foo.after_add_called)
+ self.assertFalse(foo.before_delete_called)
def test_manageDelObjects(self):
acl_users = self.site._setObject('acl_users', DummyUserFolder())
@@ -242,9 +243,9 @@
test._setObject('foo', foo)
foo.reset()
- test.manage_delObjects( ids=['foo'] )
- self.failIf( foo.after_add_called )
- self.failUnless( foo.before_delete_called )
+ test.manage_delObjects(ids=['foo'])
+ self.assertFalse(foo.after_add_called)
+ self.assertTrue(foo.before_delete_called)
def test_catalogUnindexAndIndex(self):
#
@@ -260,16 +261,16 @@
sm.registerUtility(ctool, ICatalogTool)
sm.registerUtility(TypesTool(), ITypesTool)
- test._setObject('foo', DummyContent('foo' , catalog=1))
+ test._setObject('foo', DummyContent('foo', catalog=1))
foo = test.foo
- self.failUnless(foo.after_add_called)
- self.failIf(foo.before_delete_called)
+ self.assertTrue(foo.after_add_called)
+ self.assertFalse(foo.before_delete_called)
self.assertEqual(len(ctool), 1)
foo.reset()
test._delObject('foo')
- self.failIf(foo.after_add_called)
- self.failUnless(foo.before_delete_called)
+ self.assertFalse(foo.after_add_called)
+ self.assertTrue(foo.before_delete_called)
self.assertEqual(len(ctool), 0)
def test_portalfolder_cataloging(self):
@@ -302,21 +303,21 @@
getSiteManager().registerUtility(ctool, ICatalogTool)
self.assertEqual(len(ctool), 0)
- test._setObject( 'sub', PortalFolder( 'sub', '' ) )
+ test._setObject('sub', PortalFolder('sub', ''))
sub = test.sub
- sub._setObject( 'foo', DummyContent( 'foo', catalog=1 ) )
+ sub._setObject('foo', DummyContent('foo', catalog=1))
foo = sub.foo
- self.failUnless( foo.after_add_called )
- self.failIf( foo.before_delete_called )
- self.assertEqual( len(ctool), 1 )
+ self.assertTrue(foo.after_add_called)
+ self.assertFalse(foo.before_delete_called)
+ self.assertEqual(len(ctool), 1)
foo.reset()
test._delObject('sub')
- self.failIf( foo.after_add_called )
- self.failUnless( foo.before_delete_called )
- self.assertEqual( len(ctool), 0 )
+ self.assertFalse(foo.after_add_called)
+ self.assertTrue(foo.before_delete_called)
+ self.assertEqual(len(ctool), 0)
def test_manageAddFolder(self):
#
@@ -330,54 +331,50 @@
test = self._makeOne('test')
ttool = TypesTool()
- ttool._setObject( 'Folder'
- , FTI( id='Folder'
- , title='Folder or Directory'
- , meta_type=PortalFolder.meta_type
- , factory='cmf.folder'
- , filter_content_types=0
- )
- )
- ttool._setObject( 'Grabbed'
- , FTI( 'Grabbed'
- , title='Grabbed Content'
- , meta_type=PortalFolder.meta_type
- , factory='cmf.folder'
- )
- )
+ ttool._setObject('Folder',
+ FTI(id='Folder',
+ title='Folder or Directory',
+ meta_type=PortalFolder.meta_type,
+ factory='cmf.folder',
+ filter_content_types=0))
+ ttool._setObject('Grabbed',
+ FTI('Grabbed',
+ title='Grabbed Content',
+ meta_type=PortalFolder.meta_type,
+ factory='cmf.folder'))
sm = getSiteManager()
sm.registerUtility(ttool, ITypesTool)
sm.registerUtility(PortalFolderFactory, IFactory, 'cmf.folder')
# First, test default behavior
test.manage_addFolder(id='simple', title='Simple')
- self.assertEqual( test.simple.getPortalTypeName(), 'Folder' )
- self.assertEqual( test.simple.Type(), 'Folder or Directory' )
- self.assertEqual( test.simple.getId(), 'simple' )
- self.assertEqual( test.simple.Title(), 'Simple' )
+ self.assertEqual(test.simple.getPortalTypeName(), 'Folder')
+ self.assertEqual(test.simple.Type(), 'Folder or Directory')
+ self.assertEqual(test.simple.getId(), 'simple')
+ self.assertEqual(test.simple.Title(), 'Simple')
# Now, test overridden behavior
- ttool.Folder.setMethodAliases( {'mkdir': 'grabbed'} )
+ ttool.Folder.setMethodAliases({'mkdir': 'grabbed'})
class Grabbed:
_grabbed_with = None
- def __init__( self, context ):
+ def __init__(self, context):
self._context = context
- def __call__( self, id ):
+ def __call__(self, id):
self._grabbed_with = id
- self._context._setOb( id, PortalFolder( id ) )
- self._context._getOb( id )._setPortalTypeName( 'Grabbed' )
+ self._context._setOb(id, PortalFolder(id))
+ self._context._getOb(id)._setPortalTypeName('Grabbed')
self.app.grabbed = Grabbed(test)
test.manage_addFolder(id='indirect', title='Indirect')
- self.assertEqual( test.indirect.getPortalTypeName(), 'Grabbed' )
- self.assertEqual( test.indirect.Type(), 'Grabbed Content' )
- self.assertEqual( test.indirect.getId(), 'indirect' )
- self.assertEqual( test.indirect.Title(), 'Indirect' )
+ self.assertEqual(test.indirect.getPortalTypeName(), 'Grabbed')
+ self.assertEqual(test.indirect.Type(), 'Grabbed Content')
+ self.assertEqual(test.indirect.getId(), 'indirect')
+ self.assertEqual(test.indirect.Title(), 'Indirect')
def test_contentPasteAllowedTypes(self):
#
@@ -386,10 +383,10 @@
ttool = TypesTool()
getSiteManager().registerUtility(ttool, ITypesTool)
fti = FTIDATA_DUMMY[0].copy()
- ttool._setObject( 'Dummy Content', FTI(**fti) )
- ttool._setObject( 'Folder', FTI(**fti) )
+ ttool._setObject('Dummy Content', FTI(**fti))
+ ttool._setObject('Folder', FTI(**fti))
sub1 = self._makeOne('sub1')
- sub1._setObject( 'dummy', DummyContent( 'dummy' ) )
+ sub1._setObject('dummy', DummyContent('dummy'))
sub2 = self._makeOne('sub2')
sub2.all_meta_types = extra_meta_types()
@@ -397,15 +394,15 @@
ttool.Folder.manage_changeProperties(filter_content_types=False)
# Copy/paste should work fine
- cookie = sub1.manage_copyObjects( ids = ['dummy'] )
- sub2.manage_pasteObjects( cookie )
+ cookie = sub1.manage_copyObjects(ids=['dummy'])
+ sub2.manage_pasteObjects(cookie)
# Disallow adding of Dummy Content
ttool.Folder.manage_changeProperties(filter_content_types=True)
# Now copy/paste should raise a ValueError
- cookie = sub1.manage_copyObjects( ids = ( 'dummy', ) )
- self.assertRaises( ValueError, sub2.manage_pasteObjects, cookie )
+ cookie = sub1.manage_copyObjects(ids=('dummy',))
+ self.assertRaises(ValueError, sub2.manage_pasteObjects, cookie)
def test_contentPasteFollowsWorkflowGuards(self):
#
@@ -509,7 +506,7 @@
acl_users = self.site._setObject('acl_users', DummyUserFolder())
newSecurityManager(None, acl_users.user_foo)
- self.assert_(sub.checkIdAvailable('.foo'))
+ self.assertTrue(sub.checkIdAvailable('.foo'))
def test__checkId_Five(self):
test = self._makeOne('test')
@@ -524,7 +521,7 @@
newSecurityManager(None, acl_users.all_powerful_Oz)
test = self._makeOne('test')
test._setObject('foo', DummyContent('foo'))
- self.failIf(test.checkIdAvailable('foo'))
+ self.assertFalse(test.checkIdAvailable('foo'))
class PortalFolderMoveTests(SecurityTest):
@@ -539,7 +536,7 @@
def _makeOne(self, id, *args, **kw):
from Products.CMFCore.PortalFolder import PortalFolder
- return self.site._setObject( id, PortalFolder(id, *args, **kw) )
+ return self.site._setObject(id, PortalFolder(id, *args, **kw))
def test_folderMove(self):
#
@@ -553,44 +550,41 @@
sm = getSiteManager()
sm.registerUtility(TypesTool(), ITypesTool)
sm.registerUtility(ctool, ICatalogTool)
- self.assertEqual( len(ctool), 0 )
+ self.assertEqual(len(ctool), 0)
folder = self._makeOne('folder')
- folder._setObject( 'sub', PortalFolder( 'sub', '' ) )
- folder.sub._setObject( 'foo', DummyContent( 'foo', catalog=1 ) )
- self.assertEqual( len(ctool), 1 )
- self.failUnless( has_id(ctool, 'foo') )
- self.failUnless( has_path(ctool,
- '/bar/site/folder/sub/foo') )
+ folder._setObject('sub', PortalFolder('sub', ''))
+ folder.sub._setObject('foo', DummyContent('foo', catalog=1))
+ self.assertEqual(len(ctool), 1)
+ self.assertTrue(has_id(ctool, 'foo'))
+ self.assertTrue(has_path(ctool, '/bar/site/folder/sub/foo'))
transaction.savepoint(optimistic=True)
folder.manage_renameObject(id='sub', new_id='new_sub')
- self.assertEqual( len(ctool), 1 )
- self.failUnless( has_id(ctool, 'foo') )
- self.failUnless( has_path(ctool,
- '/bar/site/folder/new_sub/foo') )
+ self.assertEqual(len(ctool), 1)
+ self.assertTrue(has_id(ctool, 'foo'))
+ self.assertTrue(has_path(ctool, '/bar/site/folder/new_sub/foo'))
- folder._setObject( 'bar', DummyContent( 'bar', catalog=1 ) )
- self.assertEqual( len(ctool), 2 )
- self.failUnless( has_id(ctool, 'bar') )
- self.failUnless( has_path(ctool, '/bar/site/folder/bar') )
+ folder._setObject('bar', DummyContent('bar', catalog=1))
+ self.assertEqual(len(ctool), 2)
+ self.assertTrue(has_id(ctool, 'bar'))
+ self.assertTrue(has_path(ctool, '/bar/site/folder/bar'))
- folder._setObject( 'sub2', PortalFolder( 'sub2', '' ) )
+ folder._setObject('sub2', PortalFolder('sub2', ''))
sub2 = folder.sub2
# Waaa! force sub2 to allow paste of Dummy object.
sub2.all_meta_types = []
- sub2.all_meta_types.extend( sub2.all_meta_types )
- sub2.all_meta_types.extend( extra_meta_types() )
+ sub2.all_meta_types.extend(sub2.all_meta_types)
+ sub2.all_meta_types.extend(extra_meta_types())
transaction.savepoint(optimistic=True)
cookie = folder.manage_cutObjects(ids=['bar'])
sub2.manage_pasteObjects(cookie)
- self.failUnless( has_id( ctool, 'foo' ) )
- self.failUnless( has_id( ctool, 'bar' ) )
- self.assertEqual( len(ctool), 2 )
- self.failUnless( has_path(ctool,
- '/bar/site/folder/sub2/bar') )
+ self.assertTrue(has_id(ctool, 'foo'))
+ self.assertTrue(has_id(ctool, 'bar'))
+ self.assertEqual(len(ctool), 2)
+ self.assertTrue(has_path(ctool, '/bar/site/folder/sub2/bar'))
def test_contentPaste(self):
#
@@ -601,342 +595,322 @@
ctool = DummyCatalogTool()
ttool = TypesTool()
fti = FTIDATA_DUMMY[0].copy()
- ttool._setObject( 'Dummy Content', FTI(**fti) )
+ ttool._setObject('Dummy Content', FTI(**fti))
sub1 = self._makeOne('sub1')
sub2 = self._makeOne('sub2')
sub3 = self._makeOne('sub3')
- self.assertEqual( len(ctool), 0 )
+ self.assertEqual(len(ctool), 0)
sm = getSiteManager()
sm.registerUtility(ctool, ICatalogTool)
sm.registerUtility(ttool, ITypesTool)
- sub1._setObject( 'dummy', DummyContent( 'dummy', catalog=1 ) )
- self.failUnless( 'dummy' in sub1.objectIds() )
- self.failUnless( 'dummy' in sub1.contentIds() )
- self.failIf( 'dummy' in sub2.objectIds() )
- self.failIf( 'dummy' in sub2.contentIds() )
- self.failIf( 'dummy' in sub3.objectIds() )
- self.failIf( 'dummy' in sub3.contentIds() )
- self.failUnless( has_path(ctool, '/bar/site/sub1/dummy') )
- self.failIf( has_path(ctool, '/bar/site/sub2/dummy') )
- self.failIf( has_path(ctool, '/bar/site/sub3/dummy') )
+ sub1._setObject('dummy', DummyContent('dummy', catalog=1))
+ self.assertTrue('dummy' in sub1.objectIds())
+ self.assertTrue('dummy' in sub1.contentIds())
+ self.assertFalse('dummy' in sub2.objectIds())
+ self.assertFalse('dummy' in sub2.contentIds())
+ self.assertFalse('dummy' in sub3.objectIds())
+ self.assertFalse('dummy' in sub3.contentIds())
+ self.assertTrue(has_path(ctool, '/bar/site/sub1/dummy'))
+ self.assertFalse(has_path(ctool, '/bar/site/sub2/dummy'))
+ self.assertFalse(has_path(ctool, '/bar/site/sub3/dummy'))
- cookie = sub1.manage_copyObjects( ids = ( 'dummy', ) )
+ cookie = sub1.manage_copyObjects(ids=('dummy',))
# Waaa! force sub2 to allow paste of Dummy object.
sub2.all_meta_types = []
- sub2.all_meta_types.extend( sub2.all_meta_types )
- sub2.all_meta_types.extend( extra_meta_types() )
- sub2.manage_pasteObjects( cookie )
- self.failUnless( 'dummy' in sub1.objectIds() )
- self.failUnless( 'dummy' in sub1.contentIds() )
- self.failUnless( 'dummy' in sub2.objectIds() )
- self.failUnless( 'dummy' in sub2.contentIds() )
- self.failIf( 'dummy' in sub3.objectIds() )
- self.failIf( 'dummy' in sub3.contentIds() )
- self.failUnless( has_path(ctool, '/bar/site/sub1/dummy') )
- self.failUnless( has_path(ctool, '/bar/site/sub2/dummy') )
- self.failIf( has_path(ctool, '/bar/site/sub3/dummy') )
+ sub2.all_meta_types.extend(sub2.all_meta_types)
+ sub2.all_meta_types.extend(extra_meta_types())
+ sub2.manage_pasteObjects(cookie)
+ self.assertTrue('dummy' in sub1.objectIds())
+ self.assertTrue('dummy' in sub1.contentIds())
+ self.assertTrue('dummy' in sub2.objectIds())
+ self.assertTrue('dummy' in sub2.contentIds())
+ self.assertFalse('dummy' in sub3.objectIds())
+ self.assertFalse('dummy' in sub3.contentIds())
+ self.assertTrue(has_path(ctool, '/bar/site/sub1/dummy'))
+ self.assertTrue(has_path(ctool, '/bar/site/sub2/dummy'))
+ self.assertFalse(has_path(ctool, '/bar/site/sub3/dummy'))
transaction.savepoint(optimistic=True)
- cookie = sub1.manage_cutObjects( ids = ('dummy',) )
+ cookie = sub1.manage_cutObjects(ids=('dummy',))
# Waaa! force sub2 to allow paste of Dummy object.
sub3.all_meta_types = []
sub3.all_meta_types.extend(sub3.all_meta_types)
- sub3.all_meta_types.extend( extra_meta_types() )
+ sub3.all_meta_types.extend(extra_meta_types())
sub3.manage_pasteObjects(cookie)
- self.failIf( 'dummy' in sub1.objectIds() )
- self.failIf( 'dummy' in sub1.contentIds() )
- self.failUnless( 'dummy' in sub2.objectIds() )
- self.failUnless( 'dummy' in sub2.contentIds() )
- self.failUnless( 'dummy' in sub3.objectIds() )
- self.failUnless( 'dummy' in sub3.contentIds() )
- self.failIf( has_path(ctool, '/bar/site/sub1/dummy') )
- self.failUnless( has_path(ctool, '/bar/site/sub2/dummy') )
- self.failUnless( has_path(ctool, '/bar/site/sub3/dummy') )
+ self.assertFalse('dummy' in sub1.objectIds())
+ self.assertFalse('dummy' in sub1.contentIds())
+ self.assertTrue('dummy' in sub2.objectIds())
+ self.assertTrue('dummy' in sub2.contentIds())
+ self.assertTrue('dummy' in sub3.objectIds())
+ self.assertTrue('dummy' in sub3.contentIds())
+ self.assertFalse(has_path(ctool, '/bar/site/sub1/dummy'))
+ self.assertTrue(has_path(ctool, '/bar/site/sub2/dummy'))
+ self.assertTrue(has_path(ctool, '/bar/site/sub3/dummy'))
class ContentFilterTests(unittest.TestCase):
- def setUp( self ):
- self.dummy=DummyContent('Dummy')
+ def setUp(self):
+ self.dummy = DummyContent('Dummy')
- def test_empty( self ):
-
+ def test_empty(self):
from Products.CMFCore.PortalFolder import ContentFilter
cfilter = ContentFilter()
dummy = self.dummy
- assert cfilter( dummy )
- desc = str( cfilter )
- lines = filter( None, desc.split('; ') )
- assert not lines
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
+ lines = filter(None, desc.split('; '))
+ self.assertFalse(lines)
- def test_Type( self ):
-
+ def test_Type(self):
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( Type='foo' )
+ cfilter = ContentFilter(Type='foo')
dummy = self.dummy
- assert not cfilter( dummy )
- cfilter = ContentFilter( Type='Dummy Content Title' )
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ cfilter = ContentFilter(Type='Dummy Content Title')
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Type: Dummy Content Title'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Type: Dummy Content Title')
- cfilter = ContentFilter( Type=( 'foo', 'bar' ) )
+ cfilter = ContentFilter(Type=('foo', 'bar'))
dummy = self.dummy
- assert not cfilter( dummy )
- cfilter = ContentFilter( Type=( 'Dummy Content Title',
- 'something else' ) )
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ cfilter = ContentFilter(Type=('Dummy Content Title', 'something else'))
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Type: Dummy Content Title, something else'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Type: Dummy Content Title, something else')
- def test_portal_type( self ):
-
+ def test_portal_type(self):
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( portal_type='some_pt' )
+ cfilter = ContentFilter(portal_type='some_pt')
dummy = self.dummy
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.portal_type = 'asdf'
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.portal_type = 'some_ptyyy'
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.portal_type = 'xxxsome_ptyyy'
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.portal_type = 'some_pt'
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Portal Type: some_pt'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Portal Type: some_pt')
- def test_Title( self ):
-
+ def test_Title(self):
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( Title='foo' )
+ cfilter = ContentFilter(Title='foo')
dummy = self.dummy
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.title = 'asdf'
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.title = 'foolish'
- assert cfilter( dummy )
+ self.assertTrue(cfilter(dummy))
dummy.title = 'ohsofoolish'
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Title: foo'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Title: foo')
- def test_Creator( self ):
-
+ def test_Creator(self):
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( Creator='moe' )
+ cfilter = ContentFilter(Creator='moe')
dummy = self.dummy
- self.failIf( cfilter(dummy) )
+ self.assertFalse(cfilter(dummy))
dummy.creators = ('curly',)
- self.failIf( cfilter(dummy) )
+ self.assertFalse(cfilter(dummy))
dummy.creators = ('moe',)
- self.failUnless( cfilter(dummy) )
+ self.assertTrue(cfilter(dummy))
dummy.creators = ('moe', 'curly')
- self.failUnless( cfilter(dummy) )
- desc = str( cfilter )
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- self.assertEqual(len( lines ),1)
- self.assertEqual(lines[0],'Creator: moe')
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Creator: moe')
- def test_Description( self ):
-
+ def test_Description(self):
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( Description='funny' )
+ cfilter = ContentFilter(Description='funny')
dummy = self.dummy
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.description = 'sad'
- assert not cfilter( dummy )
+ self.assertFalse(cfilter(dummy))
dummy.description = 'funny'
- assert cfilter( dummy )
+ self.assertTrue(cfilter(dummy))
dummy.description = 'it is funny you should mention it...'
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Description: funny'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Description: funny')
- def test_Subject( self ):
-
+ def test_Subject(self):
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( Subject=('foo',) )
+ cfilter = ContentFilter(Subject=('foo',))
dummy = self.dummy
- assert not cfilter( dummy )
- dummy.subject = ( 'bar', )
- assert not cfilter( dummy )
- dummy.subject = ( 'foo', )
- assert cfilter( dummy )
- dummy.subject = ( 'foo', 'bar', )
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ dummy.subject = ('bar',)
+ self.assertFalse(cfilter(dummy))
+ dummy.subject = ('foo',)
+ self.assertTrue(cfilter(dummy))
+ dummy.subject = ('foo', 'bar',)
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Subject: foo'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Subject: foo')
- def test_Subject2( self ):
+ def test_Subject2(self):
# Now test with mutli-valued
-
from Products.CMFCore.PortalFolder import ContentFilter
- cfilter = ContentFilter( Subject=('foo', 'bar' ) )
+ cfilter = ContentFilter(Subject=('foo', 'bar'))
dummy = self.dummy
- assert not cfilter( dummy )
- dummy.subject = ( 'baz', )
- assert not cfilter( dummy )
- dummy.subject = ( 'bar', )
- assert cfilter( dummy )
- dummy.subject = ( 'foo', )
- assert cfilter( dummy )
- dummy.subject = ( 'foo', 'bar', )
- assert cfilter( dummy )
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ dummy.subject = ('baz',)
+ self.assertFalse(cfilter(dummy))
+ dummy.subject = ('bar',)
+ self.assertTrue(cfilter(dummy))
+ dummy.subject = ('foo',)
+ self.assertTrue(cfilter(dummy))
+ dummy.subject = ('foo', 'bar',)
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- assert len( lines ) == 1
- assert lines[0] == 'Subject: foo, bar'
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0], 'Subject: foo, bar')
- def test_created( self ):
-
+ def test_created(self):
from Products.CMFCore.PortalFolder import ContentFilter
creation_date = DateTime('2001/01/01')
tz = creation_date.timezone()
- cfilter = ContentFilter( created=creation_date
- , created_usage='range:min' )
+ cfilter = ContentFilter(created=creation_date,
+ created_usage='range:min')
dummy = self.dummy
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2000/12/31' )
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2001/12/31' )
- self.failUnless(cfilter(dummy))
- dummy.created_date = DateTime( '2001/01/01' )
- self.failUnless(cfilter(dummy))
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2000/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2001/12/31')
+ self.assertTrue(cfilter(dummy))
+ dummy.created_date = DateTime('2001/01/01')
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- self.assertEquals(len(lines), 1)
- self.assertEquals( lines[0]
- , 'Created since: 2001/01/01 00:00:00 %s' % tz
- )
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0],
+ 'Created since: 2001/01/01 00:00:00 %s' % tz)
- def test_created2( self ):
-
+ def test_created2(self):
from Products.CMFCore.PortalFolder import ContentFilter
creation_date = DateTime('2001/01/01')
tz = creation_date.timezone()
- cfilter = ContentFilter( created=creation_date
- , created_usage='range:max' )
+ cfilter = ContentFilter(created=creation_date,
+ created_usage='range:max')
dummy = self.dummy
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2000/12/31' )
- self.failUnless(cfilter(dummy))
- dummy.created_date = DateTime( '2001/12/31' )
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2001/01/01' )
- self.failUnless(cfilter(dummy))
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2000/12/31')
+ self.assertTrue(cfilter(dummy))
+ dummy.created_date = DateTime('2001/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2001/01/01')
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- self.assertEquals(len(lines), 1)
- self.assertEquals( lines[0]
- , 'Created before: 2001/01/01 00:00:00 %s' % tz
- )
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0],
+ 'Created before: 2001/01/01 00:00:00 %s' % tz)
- def test_modified( self ):
-
+ def test_modified(self):
from Products.CMFCore.PortalFolder import ContentFilter
creation_date = DateTime('2001/01/01')
tz = creation_date.timezone()
- cfilter = ContentFilter( modified=DateTime( '2001/01/01' )
- , modified_usage='range:min' )
+ cfilter = ContentFilter(modified=DateTime('2001/01/01'),
+ modified_usage='range:min')
dummy = self.dummy
- self.failIf(cfilter(dummy))
- dummy.modified_date = DateTime( '2000/12/31' )
- self.failIf(cfilter(dummy))
- dummy.modified_date = DateTime( '2001/12/31' )
- self.failUnless(cfilter(dummy))
- dummy.modified_date = DateTime( '2001/01/01' )
- self.failUnless(cfilter(dummy))
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ dummy.modified_date = DateTime('2000/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.modified_date = DateTime('2001/12/31')
+ self.assertTrue(cfilter(dummy))
+ dummy.modified_date = DateTime('2001/01/01')
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- self.assertEquals(len(lines), 1)
- self.assertEquals( lines[0]
- , 'Modified since: 2001/01/01 00:00:00 %s' % tz
- )
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0],
+ 'Modified since: 2001/01/01 00:00:00 %s' % tz)
- def test_modified2( self ):
-
+ def test_modified2(self):
from Products.CMFCore.PortalFolder import ContentFilter
creation_date = DateTime('2001/01/01')
tz = creation_date.timezone()
- cfilter = ContentFilter( modified=DateTime( '2001/01/01' )
- , modified_usage='range:max' )
+ cfilter = ContentFilter(modified=DateTime('2001/01/01'),
+ modified_usage='range:max')
dummy = self.dummy
- self.failIf(cfilter(dummy))
- dummy.modified_date = DateTime( '2000/12/31' )
- self.failUnless(cfilter(dummy))
- dummy.modified_date = DateTime( '2001/12/31' )
- self.failIf(cfilter(dummy))
- dummy.modified_date = DateTime( '2001/01/01' )
- self.failUnless(cfilter(dummy))
- desc = str( cfilter )
+ self.assertFalse(cfilter(dummy))
+ dummy.modified_date = DateTime('2000/12/31')
+ self.assertTrue(cfilter(dummy))
+ dummy.modified_date = DateTime('2001/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.modified_date = DateTime('2001/01/01')
+ self.assertTrue(cfilter(dummy))
+ desc = str(cfilter)
lines = desc.split('; ')
- self.assertEquals(len(lines), 1)
- self.assertEquals( lines[0]
- , 'Modified before: 2001/01/01 00:00:00 %s' % tz
- )
+ self.assertEqual(len(lines), 1)
+ self.assertEqual(lines[0],
+ 'Modified before: 2001/01/01 00:00:00 %s' % tz)
- def test_mixed( self ):
-
+ def test_mixed(self):
from Products.CMFCore.PortalFolder import ContentFilter
creation_date = DateTime('2001/01/01')
tz = creation_date.timezone()
- cfilter = ContentFilter( created=DateTime( '2001/01/01' )
- , created_usage='range:max'
- , Title='foo'
- )
+ cfilter = ContentFilter(created=DateTime('2001/01/01'),
+ created_usage='range:max', Title='foo')
dummy = self.dummy
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2000/12/31' )
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2001/12/31' )
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2001/01/01' )
- self.failIf(cfilter(dummy))
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2000/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2001/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2001/01/01')
+ self.assertFalse(cfilter(dummy))
dummy.title = 'ohsofoolish'
del dummy.created_date
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2000/12/31' )
- self.failUnless(cfilter(dummy))
- dummy.created_date = DateTime( '2001/12/31' )
- self.failIf(cfilter(dummy))
- dummy.created_date = DateTime( '2001/01/01' )
- self.failUnless(cfilter(dummy))
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2000/12/31')
+ self.assertTrue(cfilter(dummy))
+ dummy.created_date = DateTime('2001/12/31')
+ self.assertFalse(cfilter(dummy))
+ dummy.created_date = DateTime('2001/01/01')
+ self.assertTrue(cfilter(dummy))
- desc = str( cfilter )
+ desc = str(cfilter)
lines = desc.split('; ')
- self.assertEquals(len(lines), 2)
- self.failUnless('Created before: 2001/01/01 00:00:00 %s' % tz in lines)
- self.failUnless('Title: foo' in lines)
+ self.assertEqual(len(lines), 2)
+ self.assertTrue('Created before: 2001/01/01 00:00:00 %s' % tz in lines)
+ self.assertTrue('Title: foo' in lines)
#------------------------------------------------------------------------------
@@ -944,38 +918,38 @@
# / head OFS.tests.testCopySupport (see Collector #259).
#------------------------------------------------------------------------------
ADD_IMAGES_AND_FILES = 'Add images and files'
-FILE_META_TYPES = ( { 'name' : 'File'
- , 'action' : 'manage_addFile'
- , 'permission' : ADD_IMAGES_AND_FILES
- }
- ,
- )
+FILE_META_TYPES = ({'name': 'File',
+ 'action': 'manage_addFile',
+ 'permission': ADD_IMAGES_AND_FILES},)
+
+
class _SensitiveSecurityPolicy:
- def __init__( self, validate_lambda, checkPermission_lambda ):
- self._lambdas = ( validate_lambda, checkPermission_lambda )
+ def __init__(self, validate_lambda, checkPermission_lambda):
+ self._lambdas = (validate_lambda, checkPermission_lambda)
- def validate( self, *args, **kw ):
- if self._lambdas[ 0 ]( *args, **kw ):
+ def validate(self, *args, **kw):
+ if self._lambdas[0](*args, **kw):
return True
raise Unauthorized
- def checkPermission( self, *args, **kw ) :
- return self._lambdas[ 1 ]( *args, **kw )
+ def checkPermission(self, *args, **kw):
+ return self._lambdas[1](*args, **kw)
-class _AllowedUser( Implicit ):
- def __init__( self, allowed_lambda ):
- self._lambdas = ( allowed_lambda, )
+class _AllowedUser(Implicit):
- def getId( self ):
+ def __init__(self, allowed_lambda):
+ self._lambdas = (allowed_lambda,)
+
+ def getId(self):
return 'unit_tester'
def getUserName(self):
return 'Unit Tester'
- def allowed( self, object, object_roles=None ):
- return self._lambdas[ 0 ]( object, object_roles )
+ def allowed(self, object, object_roles=None):
+ return self._lambdas[0](object, object_roles)
class PortalFolderCopySupportTests(SecurityTest):
@@ -985,53 +959,43 @@
def _initFolders(self):
from Products.CMFCore.PortalFolder import PortalFolder
- self.app._setObject( 'folder1', PortalFolder( 'folder1' ) )
- self.app._setObject( 'folder2', PortalFolder( 'folder2' ) )
- folder1 = getattr( self.app, 'folder1' )
+ self.app._setObject('folder1', PortalFolder('folder1'))
+ self.app._setObject('folder2', PortalFolder('folder2'))
+ folder1 = getattr(self.app, 'folder1')
manage_addFile(folder1, 'file', file='', content_type='text/plain')
# Hack, we need a _p_mtime for the file, so we make sure that it
# has one. We use a subtransaction, which means we can rollback
# later and pretend we didn't touch the ZODB.
transaction.savepoint(optimistic=True)
- return self.app._getOb( 'folder1' ), self.app._getOb( 'folder2' )
+ return self.app._getOb('folder1'), self.app._getOb('folder2')
- def _assertCopyErrorUnauth( self, callable, *args, **kw ):
-
+ def _assertCopyErrorUnauth(self, callable, *args, **kw):
import re
- from zExceptions import Unauthorized
from OFS.CopySupport import CopyError
+ from Products.CMFCore.exceptions import zExceptions_Unauthorized
- ce_regex = kw.get( 'ce_regex' )
+ ce_regex = kw.get('ce_regex')
if ce_regex is not None:
- del kw[ 'ce_regex' ]
+ del kw['ce_regex']
try:
- callable( *args, **kw )
-
+ callable(*args, **kw)
except CopyError, e:
-
if ce_regex is not None:
-
- pattern = re.compile( ce_regex, re.DOTALL )
+ pattern = re.compile(ce_regex, re.DOTALL)
if pattern.search(str(e)) is None:
- self.fail( "Paste failed; didn't match pattern:\n%s" % e )
-
+ self.fail("Paste failed; didn't match pattern:\n%s" % e)
else:
- self.fail( "Paste failed; no pattern:\n%s" % e )
+ self.fail("Paste failed; no pattern:\n%s" % e)
- except Unauthorized, e:
+ except zExceptions_Unauthorized, e:
pass
-
else:
- self.fail( "Paste allowed unexpectedly." )
+ self.fail("Paste allowed unexpectedly.")
- def _initPolicyAndUser( self
- , a_lambda=None
- , v_lambda=None
- , c_lambda=None
- ):
- def _promiscuous( *args, **kw ):
+ def _initPolicyAndUser(self, a_lambda=None, v_lambda=None, c_lambda=None):
+ def _promiscuous(*args, **kw):
return 1
if a_lambda is None:
@@ -1043,104 +1007,97 @@
if c_lambda is None:
c_lambda = _promiscuous
- scp = _SensitiveSecurityPolicy( v_lambda, c_lambda )
- SecurityManager.setSecurityPolicy( scp )
+ scp = _SensitiveSecurityPolicy(v_lambda, c_lambda)
+ SecurityManager.setSecurityPolicy(scp)
- newSecurityManager( None
- , _AllowedUser(a_lambda).__of__(self.app.acl_users))
+ newSecurityManager(None,
+ _AllowedUser(a_lambda).__of__(self.app.acl_users))
- def test_copy_baseline( self ):
+ def test_copy_baseline(self):
folder1, folder2 = self._initFolders()
folder2.all_meta_types = FILE_META_TYPES
self._initPolicyAndUser()
- self.failUnless( 'file' in folder1.objectIds() )
- self.failIf( 'file' in folder2.objectIds() )
+ self.assertTrue('file' in folder1.objectIds())
+ self.assertFalse('file' in folder2.objectIds())
- cookie = folder1.manage_copyObjects( ids=( 'file', ) )
- folder2.manage_pasteObjects( cookie )
+ cookie = folder1.manage_copyObjects(ids=('file',))
+ folder2.manage_pasteObjects(cookie)
- self.failUnless( 'file' in folder1.objectIds() )
- self.failUnless( 'file' in folder2.objectIds() )
+ self.assertTrue('file' in folder1.objectIds())
+ self.assertTrue('file' in folder2.objectIds())
- def test_copy_cant_read_source( self ):
+ def test_copy_cant_read_source(self):
folder1, folder2 = self._initFolders()
folder2.all_meta_types = FILE_META_TYPES
- a_file = folder1._getOb( 'file' )
+ a_file = folder1._getOb('file')
- def _validate( a, c, n, v, *args, **kw ):
- return aq_base( v ) is not aq_base( a_file )
+ def _validate(a, c, n, v, *args, **kw):
+ return aq_base(v) is not aq_base(a_file)
- self._initPolicyAndUser( v_lambda=_validate )
+ self._initPolicyAndUser(v_lambda=_validate)
- cookie = folder1.manage_copyObjects( ids=( 'file', ) )
- self._assertCopyErrorUnauth( folder2.manage_pasteObjects
- , cookie
- , ce_regex='Insufficient privileges'
- )
+ cookie = folder1.manage_copyObjects(ids=('file',))
+ self._assertCopyErrorUnauth(folder2.manage_pasteObjects,
+ cookie,
+ ce_regex='Insufficient privileges')
- def test_copy_cant_create_target_metatype_not_supported( self ):
+ def test_copy_cant_create_target_metatype_not_supported(self):
folder1, folder2 = self._initFolders()
folder2.all_meta_types = ()
self._initPolicyAndUser()
- cookie = folder1.manage_copyObjects( ids=( 'file', ) )
- self._assertCopyErrorUnauth( folder2.manage_pasteObjects
- , cookie
- , ce_regex='Not Supported'
- )
+ cookie = folder1.manage_copyObjects(ids=('file',))
+ self._assertCopyErrorUnauth(folder2.manage_pasteObjects, cookie,
+ ce_regex='Not Supported')
- def test_move_baseline( self ):
+ def test_move_baseline(self):
folder1, folder2 = self._initFolders()
folder2.all_meta_types = FILE_META_TYPES
- self.failUnless( 'file' in folder1.objectIds() )
- self.failIf( 'file' in folder2.objectIds() )
+ self.assertTrue('file' in folder1.objectIds())
+ self.assertFalse('file' in folder2.objectIds())
self._initPolicyAndUser()
- cookie = folder1.manage_cutObjects( ids=( 'file', ) )
- folder2.manage_pasteObjects( cookie )
+ cookie = folder1.manage_cutObjects(ids=('file',))
+ folder2.manage_pasteObjects(cookie)
- self.failIf( 'file' in folder1.objectIds() )
- self.failUnless( 'file' in folder2.objectIds() )
+ self.assertFalse('file' in folder1.objectIds())
+ self.assertTrue('file' in folder2.objectIds())
- def test_move_cant_read_source( self ):
+ def test_move_cant_read_source(self):
folder1, folder2 = self._initFolders()
folder2.all_meta_types = FILE_META_TYPES
- a_file = folder1._getOb( 'file' )
+ a_file = folder1._getOb('file')
- def _validate( a, c, n, v, *args, **kw ):
- return aq_base( v ) is not aq_base( a_file )
+ def _validate(a, c, n, v, *args, **kw):
+ return aq_base(v) is not aq_base(a_file)
- self._initPolicyAndUser( v_lambda=_validate )
+ self._initPolicyAndUser(v_lambda=_validate)
- cookie = folder1.manage_cutObjects( ids=( 'file', ) )
- self._assertCopyErrorUnauth( folder2.manage_pasteObjects
- , cookie
- , ce_regex='Insufficient privileges'
- )
+ cookie = folder1.manage_cutObjects(ids=('file',))
+ self._assertCopyErrorUnauth(folder2.manage_pasteObjects, cookie,
+ ce_regex='Insufficient privileges')
- def test_move_cant_create_target_metatype_not_supported( self ):
+ def test_move_cant_create_target_metatype_not_supported(self):
folder1, folder2 = self._initFolders()
folder2.all_meta_types = ()
self._initPolicyAndUser()
- cookie = folder1.manage_cutObjects( ids=( 'file', ) )
- self._assertCopyErrorUnauth( folder2.manage_pasteObjects
- , cookie
- , ce_regex='Not Supported'
- )
+ cookie = folder1.manage_cutObjects(ids=('file',))
+ self._assertCopyErrorUnauth(folder2.manage_pasteObjects, cookie,
+ ce_regex='Not Supported')
- def test_move_cant_create_target_metatype_not_allowed( self ):
+ def test_move_cant_create_target_metatype_not_allowed(self):
#
# This test can't succeed on Zope's earlier than 2.7.3 because
@@ -1154,43 +1111,39 @@
folder1, folder2 = self._initFolders()
folder2.all_meta_types = FILE_META_TYPES
- def _no_manage_addFile( a, c, n, v, *args, **kw ):
+ def _no_manage_addFile(a, c, n, v, *args, **kw):
return n != 'manage_addFile'
def _no_add_images_and_files(permission, object, context):
return permission != ADD_IMAGES_AND_FILES
- self._initPolicyAndUser( v_lambda=_no_manage_addFile,
- c_lambda=_no_add_images_and_files )
+ self._initPolicyAndUser(v_lambda=_no_manage_addFile,
+ c_lambda=_no_add_images_and_files)
- cookie = folder1.manage_cutObjects( ids=( 'file', ) )
- self._assertCopyErrorUnauth( folder2.manage_pasteObjects
- , cookie
- , ce_regex='Insufficient Privileges'
- + '.*%s' % ADD_IMAGES_AND_FILES
- )
+ cookie = folder1.manage_cutObjects(ids=('file',))
+ self._assertCopyErrorUnauth(folder2.manage_pasteObjects, cookie,
+ ce_regex='Insufficient Privileges'
+ + '.*%s' % ADD_IMAGES_AND_FILES)
def test_move_cant_delete_source(self):
from AccessControl.Permissions import delete_objects as DeleteObjects
from Products.CMFCore.PortalFolder import PortalFolder
folder1, folder2 = self._initFolders()
- folder1.manage_permission( DeleteObjects, roles=(), acquire=0 )
+ folder1.manage_permission(DeleteObjects, roles=(), acquire=0)
- folder1._setObject( 'sub', PortalFolder( 'sub' ) )
+ folder1._setObject('sub', PortalFolder('sub'))
transaction.savepoint(optimistic=True) # get a _p_jar for 'sub'
def _no_delete_objects(permission, object, context):
return permission != DeleteObjects
- self._initPolicyAndUser( c_lambda=_no_delete_objects )
+ self._initPolicyAndUser(c_lambda=_no_delete_objects)
- cookie = folder1.manage_cutObjects( ids=( 'sub', ) )
- self._assertCopyErrorUnauth( folder2.manage_pasteObjects
- , cookie
- , ce_regex='Insufficient Privileges'
- + '.*%s' % DeleteObjects
- )
+ cookie = folder1.manage_cutObjects(ids=('sub',))
+ self._assertCopyErrorUnauth(folder2.manage_pasteObjects, cookie,
+ ce_regex='Insufficient Privileges'
+ + '.*%s' % DeleteObjects)
def test_paste_with_restricted_item_content_type_not_allowed(self):
# Test from CMF Collector #216 (Plone #2186), for the case
@@ -1209,23 +1162,19 @@
ttool = TypesTool()
ttool._setObject(RESTRICTED_TYPE,
- FTI(id=RESTRICTED_TYPE
- , title=RESTRICTED_TYPE
- , meta_type=PortalFolder.meta_type
- , product='CMFCore'
- , factory='manage_addPortalFolder'
- , global_allow=0
- )
- )
+ FTI(id=RESTRICTED_TYPE,
+ title=RESTRICTED_TYPE,
+ meta_type=PortalFolder.meta_type,
+ product='CMFCore',
+ factory='manage_addPortalFolder',
+ global_allow=0))
ttool._setObject(UNRESTRICTED_TYPE,
- FTI(id=UNRESTRICTED_TYPE
- , title=UNRESTRICTED_TYPE
- , meta_type=PortalFolder.meta_type
- , product='CMFCore'
- , factory='manage_addPortalFolder'
- , filter_content_types=0
- )
- )
+ FTI(id=UNRESTRICTED_TYPE,
+ title=UNRESTRICTED_TYPE,
+ meta_type=PortalFolder.meta_type,
+ product='CMFCore',
+ factory='manage_addPortalFolder',
+ filter_content_types=0))
getSiteManager().registerUtility(ttool, ITypesTool)
# copy and pasting the object into the folder should raise
@@ -1250,31 +1199,27 @@
ttool = TypesTool()
ttool._setObject(RESTRICTED_TYPE,
- FTI(id=RESTRICTED_TYPE
- , title=RESTRICTED_TYPE
- , meta_type=PortalFolder.meta_type
- , product='CMFCore'
- , factory='manage_addPortalFolder'
- , global_allow=0
- )
- )
+ FTI(id=RESTRICTED_TYPE,
+ title=RESTRICTED_TYPE,
+ meta_type=PortalFolder.meta_type,
+ product='CMFCore',
+ factory='manage_addPortalFolder',
+ global_allow=0))
ttool._setObject(UNRESTRICTED_TYPE,
- FTI(id=UNRESTRICTED_TYPE
- , title=UNRESTRICTED_TYPE
- , meta_type=PortalFolder.meta_type
- , product='CMFCore'
- , factory='manage_addPortalFolder'
- , filter_content_types=1
- , allowed_content_types=[RESTRICTED_TYPE]
- )
- )
+ FTI(id=UNRESTRICTED_TYPE,
+ title=UNRESTRICTED_TYPE,
+ meta_type=PortalFolder.meta_type,
+ product='CMFCore',
+ factory='manage_addPortalFolder',
+ filter_content_types=1,
+ allowed_content_types=[RESTRICTED_TYPE]))
getSiteManager().registerUtility(ttool, ITypesTool)
# copy and pasting the object into the folder should *not* raise
# an exception, because the folder's type allows it.
copy_cookie = self.app.manage_copyObjects(ids=['folder2'])
folder1.manage_pasteObjects(copy_cookie)
- self.failUnless('folder2' in folder1.objectIds())
+ self.assertTrue('folder2' in folder1.objectIds())
def test_paste_with_restricted_container_content_type(self):
# Test from CMF Collector #216 (Plone #2186), for the case
@@ -1293,24 +1238,20 @@
ttool = TypesTool()
ttool._setObject(RESTRICTED_TYPE,
- FTI(id=RESTRICTED_TYPE
- , title=RESTRICTED_TYPE
- , meta_type=PortalFolder.meta_type
- , product='CMFCore'
- , factory='manage_addPortalFolder'
- , filter_content_types=1
- , allowed_content_types=()
- )
- )
+ FTI(id=RESTRICTED_TYPE,
+ title=RESTRICTED_TYPE,
+ meta_type=PortalFolder.meta_type,
+ product='CMFCore',
+ factory='manage_addPortalFolder',
+ filter_content_types=1,
+ allowed_content_types=()))
ttool._setObject(UNRESTRICTED_TYPE,
- FTI(id=UNRESTRICTED_TYPE
- , title=UNRESTRICTED_TYPE
- , meta_type=PortalFolder.meta_type
- , product='CMFCore'
- , factory='manage_addPortalFolder'
- , global_allow=1
- )
- )
+ FTI(id=UNRESTRICTED_TYPE,
+ title=UNRESTRICTED_TYPE,
+ meta_type=PortalFolder.meta_type,
+ product='CMFCore',
+ factory='manage_addPortalFolder',
+ global_allow=1))
getSiteManager().registerUtility(ttool, ITypesTool)
# copy and pasting the object into the folder should raise
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_RegistrationTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_RegistrationTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_RegistrationTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -34,7 +34,7 @@
def test_generatePassword(self):
rtool = self._makeOne()
- self.failUnless( len( rtool.generatePassword() ) >= 5 )
+ self.assertTrue(len(rtool.generatePassword()) >= 5)
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -50,7 +50,7 @@
tool = self._makeOne()
# We start out with no wkin selections
- self.assertEquals(len(tool.getSkinSelections()), 0)
+ self.assertEqual(len(tool.getSkinSelections()), 0)
# Add a skin selection with an invalid path element
paths = 'foo, bar, .svn'
@@ -58,12 +58,12 @@
# Make sure the skin selection exists
paths = tool.getSkinPath('fooskin')
- self.failIf(paths is None)
+ self.assertFalse(paths is None)
# Test for the contents
- self.failIf(paths.find('foo') == -1)
- self.failIf(paths.find('bar') == -1)
- self.failUnless(paths.find('.svn') == -1)
+ self.assertFalse(paths.find('foo') == -1)
+ self.assertFalse(paths.find('bar') == -1)
+ self.assertTrue(paths.find('.svn') == -1)
class SkinnableTests(unittest.TestCase):
@@ -77,6 +77,7 @@
# This is needed otherwise REQUEST is the string
# '<Special Object Used to Force Acquisition>'
REQUEST = None
+
def getSkinsFolderName(self):
'''tool'''
return 'tool'
@@ -100,11 +101,11 @@
som.tool.manage_properties(default_skin='skinA')
# Expect the default skin name to be returned
- self.failUnless(som.getCurrentSkinName() == 'skinA')
+ self.assertTrue(som.getCurrentSkinName() == 'skinA')
# after a changeSkin the new skin name should be returned
som.changeSkin('skinB', som.REQUEST)
- self.failUnless(som.getCurrentSkinName() == 'skinB')
+ self.assertTrue(som.getCurrentSkinName() == 'skinB')
def test_suite():
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -69,7 +69,7 @@
ti = ActionTesterTypeInfo()
tool = self._makeOne()
- setattr( tool, 'Dummy Content', ti )
+ setattr(tool, 'Dummy Content', ti)
dummy = DummyContent('dummy')
tool.listActions('fake_info', dummy)
@@ -111,11 +111,11 @@
continue
meta_types[factype['name']] = 1
act = tool.unrestrictedTraverse(factype['action'])
- self.failIf(type(aq_base(act)) is NullResource)
+ self.assertFalse(type(aq_base(act)) is NullResource)
# Check the ones we're expecting are there
- self.failUnless(meta_types.has_key('Scriptable Type Information'))
- self.failUnless(meta_types.has_key('Factory-based Type Information'))
+ self.assertTrue('Scriptable Type Information' in meta_types)
+ self.assertTrue('Factory-based Type Information' in meta_types)
def test_constructContent_simple_FTI(self):
from AccessControl.SecurityManagement import newSecurityManager
@@ -241,18 +241,18 @@
tool._setObject('Baz', sti_baz)
script = PythonScript('addBaz')
script.write(STI_SCRIPT)
- tool._setObject('addBaz', script)
- folder = site._setObject( 'folder', PortalFolder(id='folder') )
+ tool._setObject('addBaz', script)
+ folder = site._setObject('folder', PortalFolder(id='folder'))
folder.manage_addProduct = {'FooProduct':
- DummyFactoryDispatcher(folder) }
+ DummyFactoryDispatcher(folder)}
folder._owner = (['acl_users'], 'user_foo')
- self.assertEqual( folder.getOwner(), acl_users.user_foo )
+ self.assertEqual(folder.getOwner(), acl_users.user_foo)
try:
tool.constructContent('Baz', container=folder, id='page2')
except Unauthorized:
self.fail('CMF Collector issue #165 (Ownership bug): '
- 'Unauthorized raised' )
+ 'Unauthorized raised')
self.assertEqual(folder.page2.portal_type, 'Baz')
@@ -287,113 +287,111 @@
def test_construction(self):
ti = self._makeOne('Foo', description='Description', meta_type='Foo',
icon='foo.gif')
- self.assertEqual( ti.getId(), 'Foo' )
- self.assertEqual( ti.Title(), 'Foo' )
- self.assertEqual( ti.Description(), 'Description' )
- self.assertEqual( ti.Metatype(), 'Foo' )
- self.assertEqual( ti.getIconExprObject().text,
- 'string:${portal_url}/foo.gif' )
- self.assertEqual( ti.getIcon(), 'foo.gif' )
- self.assertEqual( ti.immediate_view, '' )
+ self.assertEqual(ti.getId(), 'Foo')
+ self.assertEqual(ti.Title(), 'Foo')
+ self.assertEqual(ti.Description(), 'Description')
+ self.assertEqual(ti.Metatype(), 'Foo')
+ self.assertEqual(ti.getIconExprObject().text,
+ 'string:${portal_url}/foo.gif')
+ self.assertEqual(ti.getIcon(), 'foo.gif')
+ self.assertEqual(ti.immediate_view, '')
ti = self._makeOne('Foo', immediate_view='foo_view')
- self.assertEqual( ti.immediate_view, 'foo_view' )
+ self.assertEqual(ti.immediate_view, 'foo_view')
def _makeAndSetInstance(self, id, **kw):
tool = self.tool
t = self._makeOne(id, **kw)
- tool._setObject(id,t)
+ tool._setObject(id, t)
return tool[id]
- def test_allowType( self ):
+ def test_allowType(self):
self.tool = self._makeTypesTool()
- ti = self._makeAndSetInstance( 'Foo' )
- self.failIf( ti.allowType( 'Foo' ) )
- self.failIf( ti.allowType( 'Bar' ) )
+ ti = self._makeAndSetInstance('Foo')
+ self.assertFalse(ti.allowType('Foo'))
+ self.assertFalse(ti.allowType('Bar'))
- ti = self._makeAndSetInstance( 'Foo2', allowed_content_types=( 'Bar', ) )
- self.failUnless( ti.allowType( 'Bar' ) )
+ ti = self._makeAndSetInstance('Foo2', allowed_content_types=('Bar',))
+ self.assertTrue(ti.allowType('Bar'))
- ti = self._makeAndSetInstance( 'Foo3', filter_content_types=0 )
- self.failUnless( ti.allowType( 'Foo3' ) )
+ ti = self._makeAndSetInstance('Foo3', filter_content_types=0)
+ self.assertTrue(ti.allowType('Foo3'))
- def test_GlobalHide( self ):
+ def test_GlobalHide(self):
self.tool = self._makeTypesTool()
- tnf = self._makeAndSetInstance( 'Folder', filter_content_types=0)
- taf = self._makeAndSetInstance( 'Allowing Folder'
- , allowed_content_types=( 'Hidden'
- ,'Not Hidden'))
+ tnf = self._makeAndSetInstance('Folder', filter_content_types=0)
+ taf = self._makeAndSetInstance('Allowing Folder',
+ allowed_content_types=('Hidden',
+ 'Not Hidden'))
self._makeAndSetInstance('Hidden', global_allow=0)
self._makeAndSetInstance('Not Hidden')
# make sure we're normally hidden but everything else is visible
- self.failIf ( tnf.allowType( 'Hidden' ) )
- self.failUnless ( tnf.allowType( 'Not Hidden') )
+ self.assertFalse(tnf.allowType('Hidden'))
+ self.assertTrue(tnf.allowType('Not Hidden'))
# make sure we're available where we should be
- self.failUnless ( taf.allowType( 'Hidden' ) )
- self.failUnless ( taf.allowType( 'Not Hidden') )
+ self.assertTrue(taf.allowType('Hidden'))
+ self.assertTrue(taf.allowType('Not Hidden'))
# make sure we're available in a non-content-type-filtered type
# where we have been explicitly allowed
- taf2 = self._makeAndSetInstance( 'Allowing Folder2'
- , allowed_content_types=( 'Hidden'
- , 'Not Hidden'
- )
- , filter_content_types=0
- )
- self.failUnless ( taf2.allowType( 'Hidden' ) )
- self.failUnless ( taf2.allowType( 'Not Hidden') )
+ taf2 = self._makeAndSetInstance('Allowing Folder2',
+ allowed_content_types=('Hidden',
+ 'Not Hidden'),
+ filter_content_types=0)
+ self.assertTrue(taf2.allowType('Hidden'))
+ self.assertTrue(taf2.allowType('Not Hidden'))
- def test_allowDiscussion( self ):
- ti = self._makeOne( 'Foo' )
- self.failIf( ti.allowDiscussion() )
+ def test_allowDiscussion(self):
+ ti = self._makeOne('Foo')
+ self.assertFalse(ti.allowDiscussion())
- ti = self._makeOne( 'Foo', allow_discussion=1 )
- self.failUnless( ti.allowDiscussion() )
+ ti = self._makeOne('Foo', allow_discussion=1)
+ self.assertTrue(ti.allowDiscussion())
- def test_listActions( self ):
+ def test_listActions(self):
from Products.CMFCore.tests.base.tidata import FTIDATA_ACTIONS
- ti = self._makeOne( 'Foo' )
- self.failIf( ti.listActions() )
+ ti = self._makeOne('Foo')
+ self.assertFalse(ti.listActions())
- ti = self._makeOne( **FTIDATA_ACTIONS[0] )
+ ti = self._makeOne(**FTIDATA_ACTIONS[0])
actions = ti.listActions()
- self.failUnless( actions )
+ self.assertTrue(actions)
ids = [ x.getId() for x in actions ]
- self.failUnless( 'view' in ids )
- self.failUnless( 'edit' in ids )
- self.failUnless( 'objectproperties' in ids )
- self.failUnless( 'slot' in ids )
+ self.assertTrue('view' in ids)
+ self.assertTrue('edit' in ids)
+ self.assertTrue('objectproperties' in ids)
+ self.assertTrue('slot' in ids)
names = [ x.Title() for x in actions ]
- self.failUnless( 'View' in names )
- self.failUnless( 'Edit' in names )
- self.failUnless( 'Object Properties' in names )
- self.failIf( 'slot' in names )
- self.failUnless( 'Slot' in names )
+ self.assertTrue('View' in names)
+ self.assertTrue('Edit' in names)
+ self.assertTrue('Object Properties' in names)
+ self.assertFalse('slot' in names)
+ self.assertTrue('Slot' in names)
visible = [ x.getId() for x in actions if x.getVisibility() ]
- self.failUnless( 'view' in visible )
- self.failUnless( 'edit' in visible )
- self.failUnless( 'objectproperties' in visible )
- self.failIf( 'slot' in visible )
+ self.assertTrue('view' in visible)
+ self.assertTrue('edit' in visible)
+ self.assertTrue('objectproperties' in visible)
+ self.assertFalse('slot' in visible)
def test_MethodAliases_methods(self):
from Products.CMFCore.tests.base.tidata import FTIDATA_CMF
- ti = self._makeOne( **FTIDATA_CMF[0] )
- self.assertEqual( ti.getMethodAliases(), FTIDATA_CMF[0]['aliases'] )
- self.assertEqual( ti.queryMethodID('view'), 'dummy_view' )
- self.assertEqual( ti.queryMethodID('view.html'), 'dummy_view' )
+ ti = self._makeOne(**FTIDATA_CMF[0])
+ self.assertEqual(ti.getMethodAliases(), FTIDATA_CMF[0]['aliases'])
+ self.assertEqual(ti.queryMethodID('view'), 'dummy_view')
+ self.assertEqual(ti.queryMethodID('view.html'), 'dummy_view')
- ti.setMethodAliases( ti.getMethodAliases() )
- self.assertEqual( ti.getMethodAliases(), FTIDATA_CMF[0]['aliases'] )
+ ti.setMethodAliases(ti.getMethodAliases())
+ self.assertEqual(ti.getMethodAliases(), FTIDATA_CMF[0]['aliases'])
def test_getInfoData(self):
ti_data = {'id': 'foo',
'title': 'Foo',
'description': 'Foo objects are just used for testing.',
'content_meta_type': 'Foo Content',
- 'factory' : 'cmf.foo',
- 'icon_expr' : 'string:${portal_url}/foo_icon_expr.gif',
+ 'factory': 'cmf.foo',
+ 'icon_expr': 'string:${portal_url}/foo_icon_expr.gif',
'add_view_expr': 'string:${folder_url}/foo_add_view',
'link_target': '_new'}
ti = self._makeOne(**ti_data)
@@ -422,7 +420,7 @@
'title': 'Foo',
'description': 'Foo objects are just used for testing.',
'content_meta_type': 'Foo Content',
- 'factory' : 'cmf.foo'}
+ 'factory': 'cmf.foo'}
ti = self._makeOne(**ti_data)
info_data = ti.getInfoData()
self.assertEqual(len(info_data), 2)
@@ -443,36 +441,36 @@
def _checkContentTI(self, ti):
from Products.CMFCore.ActionInformation import ActionInformation
- wanted_aliases = { 'view': 'dummy_view', '(Default)': 'dummy_view' }
+ wanted_aliases = {'view': 'dummy_view', '(Default)': 'dummy_view'}
wanted_actions_text0 = 'string:${object_url}/dummy_view'
wanted_actions_text1 = 'string:${object_url}/dummy_edit_form'
wanted_actions_text2 = 'string:${object_url}/metadata_edit_form'
- self.failUnless( isinstance( ti._actions[0], ActionInformation ) )
- self.assertEqual( len( ti._actions ), 3 )
+ self.assertTrue(isinstance(ti._actions[0], ActionInformation))
+ self.assertEqual(len(ti._actions), 3)
self.assertEqual(ti._aliases, wanted_aliases)
self.assertEqual(ti._actions[0].action.text, wanted_actions_text0)
self.assertEqual(ti._actions[1].action.text, wanted_actions_text1)
self.assertEqual(ti._actions[2].action.text, wanted_actions_text2)
action0 = ti._actions[0]
- self.assertEqual( action0.getId(), 'view' )
- self.assertEqual( action0.Title(), 'View' )
- self.assertEqual( action0.getActionExpression(), wanted_actions_text0 )
- self.assertEqual( action0.getCondition(), '' )
- self.assertEqual( action0.getPermissions(), ( 'View', ) )
- self.assertEqual( action0.getCategory(), 'object' )
- self.assertEqual( action0.getVisibility(), 1 )
+ self.assertEqual(action0.getId(), 'view')
+ self.assertEqual(action0.Title(), 'View')
+ self.assertEqual(action0.getActionExpression(), wanted_actions_text0)
+ self.assertEqual(action0.getCondition(), '')
+ self.assertEqual(action0.getPermissions(), ('View',))
+ self.assertEqual(action0.getCategory(), 'object')
+ self.assertEqual(action0.getVisibility(), 1)
def _checkFolderTI(self, ti):
from Products.CMFCore.ActionInformation import ActionInformation
- wanted_aliases = { 'view': '(Default)' }
+ wanted_aliases = {'view': '(Default)'}
wanted_actions_text0 = 'string:${object_url}'
wanted_actions_text1 = 'string:${object_url}/dummy_edit_form'
wanted_actions_text2 = 'string:${object_url}/folder_localrole_form'
- self.failUnless( isinstance( ti._actions[0], ActionInformation ) )
- self.assertEqual( len( ti._actions ), 3 )
+ self.assertTrue(isinstance(ti._actions[0], ActionInformation))
+ self.assertEqual(len(ti._actions), 3)
self.assertEqual(ti._aliases, wanted_aliases)
self.assertEqual(ti._actions[0].action.text, wanted_actions_text0)
self.assertEqual(ti._actions[1].action.text, wanted_actions_text1)
@@ -492,58 +490,53 @@
'link_target': '_new'}
ti = self._makeOne(**ti_data)
info_data = ti.getInfoData()
- self.failUnless(hasattr(ti, 'icon_expr_object'))
- self.failUnless(info_data[0].get('icon'))
- self.failUnless('icon' in info_data[1])
- self.failUnless(hasattr(ti, 'add_view_expr_object'))
- self.failUnless(info_data[0].get('url'))
- self.failUnless('url' in info_data[1])
+ self.assertTrue(hasattr(ti, 'icon_expr_object'))
+ self.assertTrue(info_data[0].get('icon'))
+ self.assertTrue('icon' in info_data[1])
+ self.assertTrue(hasattr(ti, 'add_view_expr_object'))
+ self.assertTrue(info_data[0].get('url'))
+ self.assertTrue('url' in info_data[1])
ti.manage_changeProperties(icon_expr='', add_view_expr='')
info_data = ti.getInfoData()
- self.failIf(hasattr(ti, 'icon_expr_object'))
- self.failIf(info_data[0].get('icon'))
- self.failIf('icon' in info_data[1])
- self.failIf(hasattr(ti, 'add_view_expr_object'))
- self.failIf(info_data[0].get('url'))
- self.failIf('url' in info_data[1])
+ self.assertFalse(hasattr(ti, 'icon_expr_object'))
+ self.assertFalse(info_data[0].get('icon'))
+ self.assertFalse('icon' in info_data[1])
+ self.assertFalse(hasattr(ti, 'add_view_expr_object'))
+ self.assertFalse(info_data[0].get('url'))
+ self.assertFalse('url' in info_data[1])
-class FTIDataTests( TypeInfoTests, unittest.TestCase ):
+class FTIDataTests(TypeInfoTests, unittest.TestCase):
def _getTargetClass(self):
from Products.CMFCore.TypesTool import FactoryTypeInformation
return FactoryTypeInformation
- def test_properties( self ):
- ti = self._makeOne( 'Foo' )
- self.assertEqual( ti.product, '' )
- self.assertEqual( ti.factory, '' )
+ def test_properties(self):
+ ti = self._makeOne('Foo')
+ self.assertEqual(ti.product, '')
+ self.assertEqual(ti.factory, '')
- ti = self._makeOne('Foo'
- , product='FooProduct'
- , factory='addFoo'
- )
- self.assertEqual( ti.product, 'FooProduct' )
- self.assertEqual( ti.factory, 'addFoo' )
+ ti = self._makeOne('Foo', product='FooProduct', factory='addFoo')
+ self.assertEqual(ti.product, 'FooProduct')
+ self.assertEqual(ti.factory, 'addFoo')
-class STIDataTests( TypeInfoTests, unittest.TestCase ):
+class STIDataTests(TypeInfoTests, unittest.TestCase):
def _getTargetClass(self):
from Products.CMFCore.TypesTool import ScriptableTypeInformation
return ScriptableTypeInformation
- def test_properties( self ):
- ti = self._makeOne( 'Foo' )
- self.assertEqual( ti.permission, '' )
- self.assertEqual( ti.constructor_path, '' )
+ def test_properties(self):
+ ti = self._makeOne('Foo')
+ self.assertEqual(ti.permission, '')
+ self.assertEqual(ti.constructor_path, '')
- ti = self._makeOne( 'Foo'
- , permission='Add Foos'
- , constructor_path='foo_add'
- )
- self.assertEqual( ti.permission, 'Add Foos' )
- self.assertEqual( ti.constructor_path, 'foo_add' )
+ ti = self._makeOne('Foo', permission='Add Foos',
+ constructor_path='foo_add')
+ self.assertEqual(ti.permission, 'Add Foos')
+ self.assertEqual(ti.constructor_path, 'foo_add')
class FTIConstructionTestCase:
@@ -556,31 +549,31 @@
return self._getTargetClass()(*args, **kw)
def test_isConstructionAllowed_wo_Container(self):
- self.failIf(self.ti.isConstructionAllowed(None))
+ self.assertFalse(self.ti.isConstructionAllowed(None))
def test_isConstructionAllowed_wo_ProductFactory(self):
ti = self._makeOne('foo')
- self.failIf(ti.isConstructionAllowed(self.f))
+ self.assertFalse(ti.isConstructionAllowed(self.f))
def test_isConstructionAllowed_wo_Security(self):
from AccessControl.SecurityManagement import noSecurityManager
noSecurityManager()
- self.failIf(self.ti.isConstructionAllowed(self.f))
+ self.assertFalse(self.ti.isConstructionAllowed(self.f))
def test_isConstructionAllowed_for_Omnipotent(self):
from AccessControl.SecurityManagement import newSecurityManager
from Products.CMFCore.tests.base.security import OmnipotentUser
newSecurityManager(None, OmnipotentUser().__of__(self.f))
- self.failUnless(self.ti.isConstructionAllowed(self.f))
+ self.assertTrue(self.ti.isConstructionAllowed(self.f))
def test_isConstructionAllowed_w_Role(self):
- self.failUnless(self.ti.isConstructionAllowed(self.f))
+ self.assertTrue(self.ti.isConstructionAllowed(self.f))
def test_isConstructionAllowed_wo_Role(self):
from AccessControl.SecurityManagement import newSecurityManager
from Products.CMFCore.tests.base.security import UserWithRoles
newSecurityManager(None, UserWithRoles('FooViewer').__of__(self.f))
- self.failIf(self.ti.isConstructionAllowed(self.f))
+ self.assertFalse(self.ti.isConstructionAllowed(self.f))
def test_constructInstance_wo_Roles(self):
from AccessControl.SecurityManagement import newSecurityManager
@@ -676,30 +669,29 @@
provideHandler(_handleContainerModified)
self.ti.constructInstance(self.f, 'foo')
- self.assertEquals(len(events), 3)
+ self.assertEqual(len(events), 3)
evt = events[0]
- self.failUnless(IObjectCreatedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f.foo)
+ self.assertTrue(IObjectCreatedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f.foo)
evt = events[1]
- self.failUnless(IObjectAddedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f.foo)
- self.assertEquals(evt.oldParent, None)
- self.assertEquals(evt.oldName, None)
- self.assertEquals(evt.newParent, self.f)
- self.assertEquals(evt.newName, 'foo')
+ self.assertTrue(IObjectAddedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f.foo)
+ self.assertEqual(evt.oldParent, None)
+ self.assertEqual(evt.oldName, None)
+ self.assertEqual(evt.newParent, self.f)
+ self.assertEqual(evt.newName, 'foo')
evt = events[2]
- self.failUnless(IContainerModifiedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f)
+ self.assertTrue(IContainerModifiedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f)
class FTINewstyleConstructionTests(FTIConstructionTestCase, SecurityTest):
def setUp(self):
from AccessControl.SecurityManagement import newSecurityManager
- from zope.component import getSiteManager
from zope.component.interfaces import IFactory
from Products.CMFCore.tests.base.dummy import DummyFactory
from Products.CMFCore.tests.base.dummy import DummyFolder
@@ -751,31 +743,31 @@
provideHandler(_handleContainerModified)
self.ti.constructInstance(self.f, 'foo')
- self.assertEquals(len(events), 4)
+ self.assertEqual(len(events), 4)
evt = events[0]
- self.failUnless(IObjectCreatedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f.foo)
+ self.assertTrue(IObjectCreatedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f.foo)
evt = events[1]
- self.failUnless(IObjectWillBeAddedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f.foo)
- self.assertEquals(evt.oldParent, None)
- self.assertEquals(evt.oldName, None)
- self.assertEquals(evt.newParent, self.f)
- self.assertEquals(evt.newName, 'foo')
+ self.assertTrue(IObjectWillBeAddedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f.foo)
+ self.assertEqual(evt.oldParent, None)
+ self.assertEqual(evt.oldName, None)
+ self.assertEqual(evt.newParent, self.f)
+ self.assertEqual(evt.newName, 'foo')
evt = events[2]
- self.failUnless(IObjectAddedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f.foo)
- self.assertEquals(evt.oldParent, None)
- self.assertEquals(evt.oldName, None)
- self.assertEquals(evt.newParent, self.f)
- self.assertEquals(evt.newName, 'foo')
+ self.assertTrue(IObjectAddedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f.foo)
+ self.assertEqual(evt.oldParent, None)
+ self.assertEqual(evt.oldName, None)
+ self.assertEqual(evt.newParent, self.f)
+ self.assertEqual(evt.newName, 'foo')
evt = events[3]
- self.failUnless(IContainerModifiedEvent.providedBy(evt))
- self.assertEquals(evt.object, self.f)
+ self.assertTrue(IContainerModifiedEvent.providedBy(evt))
+ self.assertEqual(evt.object, self.f)
class DummyWorkflowTool:
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_WorkflowTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_WorkflowTool.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_WorkflowTool.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -34,100 +34,101 @@
from Products.CMFCore.testing import TraversingEventZCMLLayer
-class Dummy( SimpleItem ):
+class Dummy(SimpleItem):
- def __init__( self, id ):
+ def __init__(self, id):
self._id = id
- def getId( self ):
+ def getId(self):
return self._id
-class DummyWorkflow( Dummy ):
+class DummyWorkflow(Dummy):
implements(IWorkflowDefinition)
meta_type = 'DummyWorkflow'
_isAWorkflow = 1
- _known_actions=()
- _known_info=()
+ _known_actions = ()
+ _known_info = ()
- def __init__( self, id ):
- Dummy.__init__( self, id )
+ def __init__(self, id):
+ Dummy.__init__(self, id)
self._did_action = {}
self._gave_info = {}
self._notified = {}
- def setKnownActions( self, known_actions ):
+ def setKnownActions(self, known_actions):
self._known_actions = known_actions
- def setKnownInfo( self, known_info ):
+ def setKnownInfo(self, known_info):
self._known_info = known_info
- def didAction( self, action ):
- return self._did_action.setdefault( action, [] )
+ def didAction(self, action):
+ return self._did_action.setdefault(action, [])
- def gaveInfo( self, name ):
- return self._gave_info.setdefault( name, [] )
+ def gaveInfo(self, name):
+ return self._gave_info.setdefault(name, [])
- def notified( self, name ):
- return self._notified.setdefault( name, [] )
+ def notified(self, name):
+ return self._notified.setdefault(name, [])
#
# WorkflowDefinition interface
#
- def getCatalogVariablesFor( self, ob ):
- return { 'dummy' : '%s: %s' % ( self.getId(), ob.getId() ) }
+ def getCatalogVariablesFor(self, ob):
+ return {'dummy': '%s: %s' % (self.getId(), ob.getId())}
- def updateRoleMappingsFor( self, ob ):
+ def updateRoleMappingsFor(self, ob):
pass
- def listObjectActions( self, info ):
+ def listObjectActions(self, info):
return () #XXX
- def listGlobalActions( self, info ):
+ def listGlobalActions(self, info):
return () #XXX
- def isActionSupported( self, ob, action ):
+ def isActionSupported(self, ob, action):
return action in self._known_actions
- def doActionFor( self, ob, action, *args, **kw ):
- self.didAction( action ).append( ob )
+ def doActionFor(self, ob, action, *args, **kw):
+ self.didAction(action).append(ob)
- def isInfoSupported( self, ob, name ):
+ def isInfoSupported(self, ob, name):
return name in self._known_info
- def getInfoFor( self, ob, name, default, *args, **kw ):
- self.gaveInfo( name ).append( ob )
+ def getInfoFor(self, ob, name, default, *args, **kw):
+ self.gaveInfo(name).append(ob)
return name in self._known_info and 1 or 0
- def notifyCreated( self, ob ):
- self.notified( 'created' ).append( ( ob, ) )
+ def notifyCreated(self, ob):
+ self.notified('created').append((ob,))
- def notifyBefore( self, ob, action ):
- self.notified( 'before' ).append( ( ob, action ) )
+ def notifyBefore(self, ob, action):
+ self.notified('before').append((ob, action))
- def notifySuccess( self, ob, action, result ):
- self.notified( 'success' ).append( ( ob, action, result ) )
+ def notifySuccess(self, ob, action, result):
+ self.notified('success').append((ob, action, result))
- def notifyException( self, ob, action, exc ):
- self.notified( 'exception' ).append( ( ob, action, exc ) )
+ def notifyException(self, ob, action, exc):
+ self.notified('exception').append((ob, action, exc))
@adapter(IActionWillBeInvokedEvent)
def notifyBeforeHandler(evt):
- evt.workflow.notified( 'before-evt' ).append( (evt.object, evt.action) )
+ evt.workflow.notified('before-evt').append((evt.object, evt.action))
@adapter(IActionSucceededEvent)
def notifySuccessHandler(evt):
- evt.workflow.notified( 'success-evt' ).append( (evt.object, evt.action,
- evt.result ) )
+ evt.workflow.notified('success-evt').append((evt.object, evt.action,
+ evt.result))
@adapter(IActionRaisedExceptionEvent)
def notifyExceptionHandler(evt):
- evt.workflow.notified( 'exception-evt' ).append( (evt.object, evt.action,
- evt.exc) )
+ evt.workflow.notified('exception-evt').append((evt.object, evt.action,
+ evt.exc))
-class DummyContent( Dummy ):
+class DummyContent(Dummy):
+
implements(IContentish, IWorkflowAware)
meta_type = 'Dummy'
@@ -135,24 +136,24 @@
return 'Dummy Content'
-class DummyNotReallyContent( Dummy ):
+class DummyNotReallyContent(Dummy):
meta_type = 'Dummy Content'
-class DummyTypeInfo( Dummy ):
+class DummyTypeInfo(Dummy):
pass
-class DummyTypesTool( SimpleItem ):
+class DummyTypesTool(SimpleItem):
- def listTypeInfo( self ):
- return [ DummyTypeInfo( 'Dummy Content' ) ]
+ def listTypeInfo(self):
+ return [DummyTypeInfo('Dummy Content')]
- def getTypeInfo( self, ob ):
- if getattr( ob, 'meta_type', None ) is 'Dummy':
- return DummyTypeInfo( 'Dummy Content' )
+ def getTypeInfo(self, ob):
+ if getattr(ob, 'meta_type', None) is 'Dummy':
+ return DummyTypeInfo('Dummy Content')
return None
@@ -160,7 +161,7 @@
layer = TraversingEventZCMLLayer
- def _makeOne( self, workflow_ids=() ):
+ def _makeOne(self, workflow_ids=()):
from Products.CMFCore.WorkflowTool import WorkflowTool
tool = WorkflowTool()
@@ -177,14 +178,13 @@
getSiteManager().registerUtility(DummyTypesTool(), ITypesTool)
return root
- def _makeWithTypes( self ):
+ def _makeWithTypes(self):
root = self._makeRoot()
- return self._makeOne( workflow_ids=( 'a', 'b' ) ).__of__( root )
+ return self._makeOne(workflow_ids=('a', 'b')).__of__(root)
- def _makeWithTypesAndChain( self ):
-
+ def _makeWithTypesAndChain(self):
tool = self._makeWithTypes()
- tool.setChainForPortalTypes( ( 'Dummy Content', ), ( 'a', 'b' ) )
+ tool.setChainForPortalTypes(('Dummy Content',), ('a', 'b'))
return tool
def tearDown(self):
@@ -200,157 +200,146 @@
verifyClass(IConfigurableWorkflowTool, WorkflowTool)
verifyClass(IWorkflowTool, WorkflowTool)
- def test_empty( self ):
-
+ def test_empty(self):
from Products.CMFCore.WorkflowTool import WorkflowException
tool = self._makeOne()
- self.failIf( tool.getWorkflowIds() )
- self.assertEqual( tool.getWorkflowById( 'default_workflow' ), None )
- self.assertEqual( tool.getWorkflowById( 'a' ), None )
+ self.assertFalse(tool.getWorkflowIds())
+ self.assertEqual(tool.getWorkflowById('default_workflow'), None)
+ self.assertEqual(tool.getWorkflowById('a'), None)
- self.assertRaises( WorkflowException, tool.getInfoFor, None, 'hmm' )
- self.assertRaises( WorkflowException, tool.doActionFor, None, 'hmm' )
+ self.assertRaises(WorkflowException, tool.getInfoFor, None, 'hmm')
+ self.assertRaises(WorkflowException, tool.doActionFor, None, 'hmm')
- def test_new_with_wf( self ):
-
+ def test_new_with_wf(self):
from Products.CMFCore.WorkflowTool import WorkflowException
tool = self._makeWithTypes()
wfids = tool.getWorkflowIds()
- self.assertEqual( len( wfids ), 2 )
- self.failUnless( 'a' in wfids )
- self.failUnless( 'b' in wfids )
- self.assertEqual( tool.getWorkflowById( 'default' ), None )
- wf = tool.getWorkflowById( 'a' )
- self.assertEqual( wf.getId(), 'a' )
- wf = tool.getWorkflowById( 'b' )
- self.assertEqual( wf.getId(), 'b' )
+ self.assertEqual(len(wfids), 2)
+ self.assertTrue('a' in wfids)
+ self.assertTrue('b' in wfids)
+ self.assertEqual(tool.getWorkflowById('default'), None)
+ wf = tool.getWorkflowById('a')
+ self.assertEqual(wf.getId(), 'a')
+ wf = tool.getWorkflowById('b')
+ self.assertEqual(wf.getId(), 'b')
- self.assertRaises( WorkflowException, tool.getInfoFor, None, 'hmm' )
- self.assertRaises( WorkflowException, tool.doActionFor, None, 'hmm' )
+ self.assertRaises(WorkflowException, tool.getInfoFor, None, 'hmm')
+ self.assertRaises(WorkflowException, tool.doActionFor, None, 'hmm')
- def test_nonContent( self ):
-
+ def test_nonContent(self):
tool = self._makeWithTypesAndChain()
- self.assertEquals( len( tool.getDefaultChainFor( None ) ), 0 )
- self.assertEquals( len( tool.getDefaultChain() ), 1 )
- self.assertEquals( len( tool.listChainOverrides() ), 1 )
- self.assertEquals( len( tool.getChainFor( None ) ), 0 )
- self.assertEquals( len( tool.getCatalogVariablesFor( None ) ), 0 )
+ self.assertEqual(len(tool.getDefaultChainFor(None)), 0)
+ self.assertEqual(len(tool.getDefaultChain()), 1)
+ self.assertEqual(len(tool.listChainOverrides()), 1)
+ self.assertEqual(len(tool.getChainFor(None)), 0)
+ self.assertEqual(len(tool.getCatalogVariablesFor(None)), 0)
- def test_notReallyContent( self ):
-
+ def test_notReallyContent(self):
tool = self._makeWithTypesAndChain()
- dummy = DummyNotReallyContent( 'doh' )
- self.assertEquals( len( tool.getDefaultChainFor( dummy ) ), 0 )
- self.assertEquals( len( tool.getDefaultChain() ), 1 )
- self.assertEquals( len( tool.listChainOverrides() ), 1 )
- self.assertEquals( len( tool.getChainFor( dummy ) ), 0 )
- self.assertEquals( len( tool.getCatalogVariablesFor( dummy ) ), 0 )
+ dummy = DummyNotReallyContent('doh')
+ self.assertEqual(len(tool.getDefaultChainFor(dummy)), 0)
+ self.assertEqual(len(tool.getDefaultChain()), 1)
+ self.assertEqual(len(tool.listChainOverrides()), 1)
+ self.assertEqual(len(tool.getChainFor(dummy)), 0)
+ self.assertEqual(len(tool.getCatalogVariablesFor(dummy)), 0)
- def test_content_default_chain( self ):
-
+ def test_content_default_chain(self):
tool = self._makeWithTypes()
- dummy = DummyContent( 'dummy' )
- self.assertEquals( len( tool.getDefaultChainFor( dummy ) ), 1 )
- self.assertEquals( len( tool.getDefaultChain() ), 1 )
- self.assertEquals( len( tool.listChainOverrides() ), 0 )
- self.assertEquals( len( tool.getChainFor( dummy ) ), 1 )
- self.assertEquals( len( tool.getCatalogVariablesFor( dummy ) ), 0 )
- self.assertEquals( tool.getDefaultChain(), tool.getChainFor( dummy ) )
+ dummy = DummyContent('dummy')
+ self.assertEqual(len(tool.getDefaultChainFor(dummy)), 1)
+ self.assertEqual(len(tool.getDefaultChain()), 1)
+ self.assertEqual(len(tool.listChainOverrides()), 0)
+ self.assertEqual(len(tool.getChainFor(dummy)), 1)
+ self.assertEqual(len(tool.getCatalogVariablesFor(dummy)), 0)
+ self.assertEqual(tool.getDefaultChain(), tool.getChainFor(dummy))
- def test_content_own_chain( self ):
-
+ def test_content_own_chain(self):
tool = self._makeWithTypesAndChain()
- dummy = DummyContent( 'dummy' )
+ dummy = DummyContent('dummy')
- self.assertEquals( len( tool.getDefaultChainFor( dummy ) ), 1 )
- self.assertEquals( len( tool.getDefaultChain() ), 1 )
- self.assertEquals( len( tool.listChainOverrides() ), 1 )
- chain = tool.getChainFor( dummy )
- self.assertEquals( len( chain ), 2 )
- self.failUnless( 'a' in chain )
- self.failUnless( 'b' in chain )
+ self.assertEqual(len(tool.getDefaultChainFor(dummy)), 1)
+ self.assertEqual(len(tool.getDefaultChain()), 1)
+ self.assertEqual(len(tool.listChainOverrides()), 1)
+ chain = tool.getChainFor(dummy)
+ self.assertEqual(len(chain), 2)
+ self.assertTrue('a' in chain)
+ self.assertTrue('b' in chain)
- vars = tool.getCatalogVariablesFor( dummy )
- self.assertEquals( len( vars ), 1 )
- self.failUnless( 'dummy' in vars.keys() )
- self.failUnless( 'a: dummy' in vars.values() )
+ vars = tool.getCatalogVariablesFor(dummy)
+ self.assertEqual(len(vars), 1)
+ self.assertTrue('dummy' in vars.keys())
+ self.assertTrue('a: dummy' in vars.values())
def test_setChainForPortalTypes(self):
-
tool = self._makeWithTypes()
tool.setDefaultChain('b, a')
dummy = DummyContent('dummy')
- tool.setChainForPortalTypes( ('Dummy Content',), ('a', 'b') )
- self.assertEquals( tool.getChainFor(dummy), ('a', 'b') )
- tool.setChainForPortalTypes( ('Dummy Content',), 'a, b' )
- self.assertEquals( tool.getChainFor(dummy), ('a', 'b') )
+ tool.setChainForPortalTypes(('Dummy Content',), ('a', 'b'))
+ self.assertEqual(tool.getChainFor(dummy), ('a', 'b'))
+ tool.setChainForPortalTypes(('Dummy Content',), 'a, b')
+ self.assertEqual(tool.getChainFor(dummy), ('a', 'b'))
- tool.setChainForPortalTypes( ('Dummy Content',), () )
- self.assertEquals( tool.getChainFor(dummy), () )
- tool.setChainForPortalTypes( ('Dummy Content',), '' )
- self.assertEquals( tool.getChainFor(dummy), () )
+ tool.setChainForPortalTypes(('Dummy Content',), ())
+ self.assertEqual(tool.getChainFor(dummy), ())
+ tool.setChainForPortalTypes(('Dummy Content',), '')
+ self.assertEqual(tool.getChainFor(dummy), ())
- tool.setChainForPortalTypes( ('Dummy Content',), None )
- self.assertEquals( tool.getChainFor(dummy), ('b', 'a') )
+ tool.setChainForPortalTypes(('Dummy Content',), None)
+ self.assertEqual(tool.getChainFor(dummy), ('b', 'a'))
# Using the '(Default)' keyword
# https://bugs.launchpad.net/zope-cmf/+bug/161702
- tool.setChainForPortalTypes( ('Dummy Content',), '(Default)' )
- self.assertEquals( tool.getDefaultChain(), tool.getChainFor( dummy ) )
+ tool.setChainForPortalTypes(('Dummy Content',), '(Default)')
+ self.assertEqual(tool.getDefaultChain(), tool.getChainFor(dummy))
tool.setDefaultChain('a, b')
- self.assertEquals( tool.getDefaultChain(), tool.getChainFor( dummy ) )
+ self.assertEqual(tool.getDefaultChain(), tool.getChainFor(dummy))
- def test_getCatalogVariablesFor( self ):
-
+ def test_getCatalogVariablesFor(self):
tool = self._makeWithTypesAndChain()
- dummy = DummyContent( 'dummy' )
+ dummy = DummyContent('dummy')
- vars = tool.getCatalogVariablesFor( dummy )
- self.assertEquals( len( vars ), 1 )
- self.failUnless( 'dummy' in vars.keys() )
- self.failUnless( 'a: dummy' in vars.values() )
+ vars = tool.getCatalogVariablesFor(dummy)
+ self.assertEqual(len(vars), 1)
+ self.assertTrue('dummy' in vars.keys())
+ self.assertTrue('a: dummy' in vars.values())
- def test_getInfoFor( self ):
-
+ def test_getInfoFor(self):
tool = self._makeWithTypesAndChain()
- tool.b.setKnownInfo( ( 'info', ) )
- dummy = DummyContent( 'dummy' )
+ tool.b.setKnownInfo(('info',))
+ dummy = DummyContent('dummy')
- info = tool.getInfoFor( dummy, 'info' )
+ info = tool.getInfoFor(dummy, 'info')
- self.assertEqual( info, 1 )
- self.failIf( tool.a.gaveInfo( 'info' ) )
- self.failUnless( tool.b.gaveInfo( 'info' ) )
+ self.assertEqual(info, 1)
+ self.assertFalse(tool.a.gaveInfo('info'))
+ self.assertTrue(tool.b.gaveInfo('info'))
- def test_doActionFor( self ):
-
+ def test_doActionFor(self):
tool = self._makeWithTypesAndChain()
- tool.a.setKnownActions( ( 'action', ) )
- dummy = DummyContent( 'dummy' )
+ tool.a.setKnownActions(('action',))
+ dummy = DummyContent('dummy')
- tool.doActionFor( dummy, 'action' )
+ tool.doActionFor(dummy, 'action')
- self.failUnless( tool.a.didAction( 'action' ) )
- self.failIf( tool.b.didAction( 'action' ) )
+ self.assertTrue(tool.a.didAction('action'))
+ self.assertFalse(tool.b.didAction('action'))
- def test_notifyCreated( self ):
-
+ def test_notifyCreated(self):
tool = self._makeWithTypesAndChain()
- ob = DummyContent( 'dummy' )
- tool.notifyCreated( ob )
+ ob = DummyContent('dummy')
+ tool.notifyCreated(ob)
for wf in tool.a, tool.b:
- notified = wf.notified( 'created' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, ) )
+ notified = wf.notified('created')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob,))
def test_notifyCreated_skips_workflows_with_status(self):
tool = self._makeWithTypesAndChain()
@@ -361,65 +350,62 @@
tool.notifyCreated(ob)
notified = tool.a.notified('created')
- self.assertEqual( len(notified), 0 )
+ self.assertEqual(len(notified), 0)
notified = tool.b.notified('created')
- self.assertEqual( len(notified), 1 )
- self.assertEqual( notified[0], (ob,) )
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob,))
- def test_notifyBefore( self ):
-
+ def test_notifyBefore(self):
provideHandler(notifyBeforeHandler)
tool = self._makeWithTypesAndChain()
- ob = DummyContent( 'dummy' )
- tool.notifyBefore( ob, 'action' )
+ ob = DummyContent('dummy')
+ tool.notifyBefore(ob, 'action')
for wf in tool.a, tool.b:
- notified = wf.notified( 'before' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, 'action' ) )
+ notified = wf.notified('before')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob, 'action'))
- notified = wf.notified( 'before-evt' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, 'action' ) )
+ notified = wf.notified('before-evt')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob, 'action'))
- def test_notifySuccess( self ):
-
+ def test_notifySuccess(self):
provideHandler(notifySuccessHandler)
tool = self._makeWithTypesAndChain()
- ob = DummyContent( 'dummy' )
- tool.notifySuccess( ob, 'action' )
+ ob = DummyContent('dummy')
+ tool.notifySuccess(ob, 'action')
for wf in tool.a, tool.b:
- notified = wf.notified( 'success' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, 'action', None ) )
+ notified = wf.notified('success')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob, 'action', None))
- notified = wf.notified( 'success-evt' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, 'action', None ) )
+ notified = wf.notified('success-evt')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob, 'action', None))
- def test_notifyException( self ):
-
+ def test_notifyException(self):
provideHandler(notifyExceptionHandler)
tool = self._makeWithTypesAndChain()
- ob = DummyContent( 'dummy' )
- tool.notifyException( ob, 'action', 'exception' )
+ ob = DummyContent('dummy')
+ tool.notifyException(ob, 'action', 'exception')
for wf in tool.a, tool.b:
- notified = wf.notified( 'exception' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, 'action', 'exception' ) )
+ notified = wf.notified('exception')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob, 'action', 'exception'))
- notified = wf.notified( 'exception-evt' )
- self.assertEqual( len( notified ), 1 )
- self.assertEqual( notified[0], ( ob, 'action', 'exception' ) )
+ notified = wf.notified('exception-evt')
+ self.assertEqual(len(notified), 1)
+ self.assertEqual(notified[0], (ob, 'action', 'exception'))
def test_getStatusOf(self):
tool = self._makeWithTypesAndChain()
@@ -429,7 +415,7 @@
dummy_status1 = object()
ob.workflow_history = {'a': (dummy_status0, dummy_status1)}
- self.assertEqual( tool.getStatusOf('a', ob), dummy_status1 )
+ self.assertEqual(tool.getStatusOf('a', ob), dummy_status1)
def test_setStatusOf(self):
tool = self._makeWithTypesAndChain()
@@ -438,19 +424,19 @@
dummy_status0 = object()
tool.setStatusOf('a', ob, dummy_status0)
- self.failUnless( 'a' in ob.workflow_history )
- self.assertEqual( len(ob.workflow_history['a']), 1 )
- self.assertEqual( ob.workflow_history['a'][0], dummy_status0 )
+ self.assertTrue('a' in ob.workflow_history)
+ self.assertEqual(len(ob.workflow_history['a']), 1)
+ self.assertEqual(ob.workflow_history['a'][0], dummy_status0)
dummy_status1 = object()
tool.setStatusOf('a', ob, dummy_status1)
- self.failUnless( 'a' in ob.workflow_history )
- self.assertEqual( len(ob.workflow_history['a']), 2 )
- self.assertEqual( ob.workflow_history['a'][0], dummy_status0 )
- self.assertEqual( ob.workflow_history['a'][1], dummy_status1 )
+ self.assertTrue('a' in ob.workflow_history)
+ self.assertEqual(len(ob.workflow_history['a']), 2)
+ self.assertEqual(ob.workflow_history['a'][0], dummy_status0)
+ self.assertEqual(ob.workflow_history['a'][1], dummy_status1)
- def xxx_test_updateRoleMappings( self ):
+ def xxx_test_updateRoleMappings(self):
"""
Build a tree of objects, invoke tool.updateRoleMappings,
and then check to see that the workflows each got called;
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_utils.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_utils.py 2012-04-22 11:03:11 UTC (rev 125227)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_utils.py 2012-04-22 11:04:10 UTC (rev 125228)
@@ -28,57 +28,47 @@
def test_normalize(self):
from Products.CMFCore.utils import normalize
- self.assertEqual( normalize('foo/bar'), 'foo/bar' )
- self.assertEqual( normalize('foo\\bar'), 'foo/bar' )
+ self.assertEqual(normalize('foo/bar'), 'foo/bar')
+ self.assertEqual(normalize('foo\\bar'), 'foo/bar')
def test_keywordsplitter_empty(self):
from Products.CMFCore.utils import keywordsplitter
- for x in [ '', ' ', ',', ',,', ';', ';;' ]:
- self.assertEqual( keywordsplitter({'Keywords': x}),
- [] )
+ for x in ['', ' ', ',', ',,', ';', ';;']:
+ self.assertEqual(keywordsplitter({'Keywords': x}), [])
def test_keywordsplitter_single(self):
from Products.CMFCore.utils import keywordsplitter
- for x in [ 'foo', ' foo ', 'foo,', 'foo ,,', 'foo;', 'foo ;;' ]:
- self.assertEqual( keywordsplitter({'Keywords': x}),
- ['foo'] )
+ for x in ['foo', ' foo ', 'foo,', 'foo ,,', 'foo;', 'foo ;;']:
+ self.assertEqual(keywordsplitter({'Keywords': x}), ['foo'])
def test_keywordsplitter_multi(self):
from Products.CMFCore.utils import keywordsplitter
- for x in [ 'foo, bar, baz'
- , 'foo, bar , baz'
- , 'foo, bar,, baz'
- , 'foo; bar; baz'
- ]:
- self.assertEqual( keywordsplitter({'Keywords': x}),
- ['foo', 'bar', 'baz'] )
+ for x in ['foo, bar, baz', 'foo, bar , baz', 'foo, bar,, baz',
+ 'foo; bar; baz']:
+ self.assertEqual(keywordsplitter({'Keywords': x}),
+ ['foo', 'bar', 'baz'])
def test_contributorsplitter_emtpy(self):
from Products.CMFCore.utils import contributorsplitter
- for x in [ '', ' ', ';', ';;' ]:
- self.assertEqual( contributorsplitter({'Contributors': x}),
- [] )
+ for x in ['', ' ', ';', ';;']:
+ self.assertEqual(contributorsplitter({'Contributors': x}), [])
def test_contributorsplitter_single(self):
from Products.CMFCore.utils import contributorsplitter
- for x in [ 'foo', ' foo ', 'foo;', 'foo ;;' ]:
- self.assertEqual( contributorsplitter({'Contributors': x}),
- ['foo'] )
+ for x in ['foo', ' foo ', 'foo;', 'foo ;;']:
+ self.assertEqual(contributorsplitter({'Contributors': x}), ['foo'])
def test_contributorsplitter_multi(self):
from Products.CMFCore.utils import contributorsplitter
- for x in [ 'foo; bar; baz'
- , 'foo; bar ; baz'
- , 'foo; bar;; baz'
- ]:
- self.assertEqual( contributorsplitter({'Contributors': x}),
- ['foo', 'bar', 'baz'] )
+ for x in ['foo; bar; baz', 'foo; bar ; baz', 'foo; bar;; baz']:
+ self.assertEqual(contributorsplitter({'Contributors': x}),
+ ['foo', 'bar', 'baz'])
def test_getPackageName(self):
from Products.CMFCore.utils import getPackageName
@@ -91,11 +81,11 @@
from Products.CMFCore.utils import getContainingPackage
self.assertEqual(getContainingPackage('Products.CMFCore.exceptions'),
- 'Products.CMFCore')
+ 'Products.CMFCore')
self.assertEqual(getContainingPackage('Products.CMFCore'),
- 'Products.CMFCore')
+ 'Products.CMFCore')
self.assertEqual(getContainingPackage('zope.interface.verify'),
- 'zope.interface')
+ 'zope.interface')
def test_ImmutableId(self):
from Products.CMFCore.utils import ImmutableId
@@ -179,8 +169,8 @@
class _DummyObject(Owned, DummyObject):
pass
- site = DummySite('site').__of__(self.root)
- site._setObject( 'acl_users', DummyUserFolder() )
+ site = DummySite('site').__of__(self.app)
+ site._setObject('acl_users', DummyUserFolder())
site._setObject('foo_dummy', _DummyObject(id='foo_dummy'))
site._setObject('bar_dummy', _DummyObject(id='bar_dummy'))
@@ -198,25 +188,25 @@
site = self._makeSite()
newSecurityManager(None, site.acl_users.user_foo)
o = site.bar_dummy
- Permission('View',(),o).setRoles(('Anonymous',))
- Permission('WebDAV access',(),o).setRoles(('Authenticated',))
- Permission('Manage users',(),o).setRoles(('Manager',))
+ Permission('View', (), o).setRoles(('Anonymous',))
+ Permission('WebDAV access', (), o).setRoles(('Authenticated',))
+ Permission('Manage users', (), o).setRoles(('Manager',))
eo = site.foo_dummy
eo._owner = (['acl_users'], 'all_powerful_Oz')
getSecurityManager().addContext(eo)
- self.failUnless( _checkPermission('View', o) )
- self.failUnless( _checkPermission('WebDAV access', o) )
- self.failIf( _checkPermission('Manage users', o) )
+ self.assertTrue(_checkPermission('View', o))
+ self.assertTrue(_checkPermission('WebDAV access', o))
+ self.assertFalse(_checkPermission('Manage users', o))
eo._proxy_roles = ('Authenticated',)
- self.failIf( _checkPermission('View', o) )
- self.failUnless( _checkPermission('WebDAV access', o) )
- self.failIf( _checkPermission('Manage users', o) )
+ self.assertFalse(_checkPermission('View', o))
+ self.assertTrue(_checkPermission('WebDAV access', o))
+ self.assertFalse(_checkPermission('Manage users', o))
eo._proxy_roles = ('Manager',)
- self.failIf( _checkPermission('View', o) )
- self.failIf( _checkPermission('WebDAV access', o) )
- self.failUnless( _checkPermission('Manage users', o) )
+ self.assertFalse(_checkPermission('View', o))
+ self.assertFalse(_checkPermission('WebDAV access', o))
+ self.assertTrue(_checkPermission('Manage users', o))
def test_mergedLocalRolesManipulation(self):
# The _mergedLocalRoles function used to return references to
More information about the checkins
mailing list