[CMF-checkins] SVN: CMF/trunk/CMFCore/tests/test_ - made copy tests more independent from implementation details of _verifyObjectPaste

Yvo Schubbe y.2005- at wcm-solutions.de
Fri Dec 2 12:30:35 EST 2005


Log message for revision 40493:
  - made copy tests more independent from implementation details of _verifyObjectPaste

Changed:
  U   CMF/trunk/CMFCore/tests/test_OpaqueItems.py
  U   CMF/trunk/CMFCore/tests/test_PortalContent.py
  U   CMF/trunk/CMFCore/tests/test_PortalFolder.py

-=-
Modified: CMF/trunk/CMFCore/tests/test_OpaqueItems.py
===================================================================
--- CMF/trunk/CMFCore/tests/test_OpaqueItems.py	2005-12-02 17:04:41 UTC (rev 40492)
+++ CMF/trunk/CMFCore/tests/test_OpaqueItems.py	2005-12-02 17:30:34 UTC (rev 40493)
@@ -14,10 +14,8 @@
 
 $Id$
 """
-from unittest import TestSuite, makeSuite, main
+import unittest
 import Testing
-import Zope2
-Zope2.startup()
 
 from zope.interface import implements
 
@@ -39,7 +37,8 @@
 # -------------------------------------------
 
 def extra_meta_types():
-    return [{'name': 'Dummy', 'action': 'manage_addFolder'}]
+    return [{'name': 'Dummy', 'action': 'manage_addFolder',
+             'permission': 'View'}]
 
 def addDummyContent(container, id, opaqueItem):
     container._setObject(id, DummyContent(id, opaqueItem=opaqueItem, catalog=1))
@@ -265,9 +264,9 @@
 
 
 def test_suite():
-    return TestSuite((
-        makeSuite(ManageBeforeAfterTests),
+    return unittest.TestSuite((
+        unittest.makeSuite(ManageBeforeAfterTests),
         ))
 
 if __name__ == '__main__':
-    main(defaultTest='test_suite')
+    unittest.main(defaultTest='test_suite')

Modified: CMF/trunk/CMFCore/tests/test_PortalContent.py
===================================================================
--- CMF/trunk/CMFCore/tests/test_PortalContent.py	2005-12-02 17:04:41 UTC (rev 40492)
+++ CMF/trunk/CMFCore/tests/test_PortalContent.py	2005-12-02 17:30:34 UTC (rev 40493)
@@ -19,9 +19,10 @@
 import Testing
 
 from AccessControl.SecurityManagement import newSecurityManager
-from AccessControl.SecurityManagement import noSecurityManager
 from Acquisition import aq_base
 
+from Products.CMFCore.tests.base.dummy import DummySite
+from Products.CMFCore.tests.base.dummy import DummyUserFolder
 from Products.CMFCore.tests.base.testcase import SecurityRequestTest
 
 
@@ -53,22 +54,13 @@
     # Tests related to http://www.zope.org/Collectors/CMF/205
     # Copy/pasting a content item must set ownership to pasting user
 
-    def _initFolders(self):
-        from OFS.Folder import Folder
+    def setUp(self):
+        SecurityRequestTest.setUp(self)
 
-        FOLDER_IDS = ( 'acl_users', 'folder1', 'folder2' )
+        self.root._setObject('site', DummySite('site'))
+        self.site = self.root.site
+        self.acl_users = self.site._setObject('acl_users', DummyUserFolder())
 
-        for folder_id in FOLDER_IDS:
-            if folder_id not in self.root.objectIds():
-                self.root._setObject( folder_id, Folder( folder_id ) )
-
-        # 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.root._getOb( folder_id ) for folder_id in FOLDER_IDS ]
-
     def _initContent(self, folder, id):
         from Products.CMFCore.PortalContent import PortalContent
 
@@ -80,30 +72,30 @@
 
     def test_CopyPasteSetsOwnership(self):
         # Copy/pasting a File should set new ownership including local roles
+        from OFS.Folder import Folder
 
-        acl_users, folder1, folder2 = self._initFolders()
-        acl_users._doAddUser('user1', '', ('Member',), ())
-        user1 = acl_users.getUserById('user1').__of__(acl_users)
-        acl_users._doAddUser('user2', '', ('Member',), ())
-        user2 = acl_users.getUserById('user2').__of__(acl_users)
+        acl_users = self.acl_users
+        folder1 = self.site._setObject('folder1', Folder('folder1'))
+        folder2 = self.site._setObject('folder2', Folder('folder2'))
 
-        newSecurityManager(None, user1)
+        newSecurityManager(None, acl_users.user_foo)
         content = self._initContent(folder1, 'content')
-        content.manage_setLocalRoles(user1.getId(), ['Owner'])
+        content.manage_setLocalRoles(acl_users.user_foo.getId(), ['Owner'])
 
-        newSecurityManager(None, user2)
+        newSecurityManager(None, acl_users.all_powerful_Oz)
         cb = folder1.manage_copyObjects(['content'])
         folder2.manage_pasteObjects(cb)
 
         # Now test executable ownership and "owner" local role
         # "member" should have both.
         moved = folder2._getOb('content')
-        self.assertEqual(aq_base(moved.getOwner()), aq_base(user2))
+        self.assertEqual(aq_base(moved.getOwner()),
+                         aq_base(acl_users.all_powerful_Oz))
 
         local_roles = moved.get_local_roles()
         self.assertEqual(len(local_roles), 1)
         userid, roles = local_roles[0]
-        self.assertEqual(userid, user2.getId())
+        self.assertEqual(userid, acl_users.all_powerful_Oz.getId())
         self.assertEqual(len(roles), 1)
         self.assertEqual(roles[0], 'Owner')
 

Modified: CMF/trunk/CMFCore/tests/test_PortalFolder.py
===================================================================
--- CMF/trunk/CMFCore/tests/test_PortalFolder.py	2005-12-02 17:04:41 UTC (rev 40492)
+++ CMF/trunk/CMFCore/tests/test_PortalFolder.py	2005-12-02 17:30:34 UTC (rev 40493)
@@ -49,7 +49,8 @@
 
 
 def extra_meta_types():
-    return [  { 'name' : 'Dummy', 'action' : 'manage_addFolder' } ]
+    return [{'name': 'Dummy', 'action': 'manage_addFolder',
+             'permission': 'View'}]
 
 
 class PortalFolderFactoryTests( SecurityTest ):
@@ -1072,8 +1073,12 @@
         def _no_manage_addFile( a, c, n, v, *args, **kw ):
             return n != 'manage_addFile'
 
-        self._initPolicyAndUser( v_lambda=_no_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 )
+
         cookie = folder1.manage_cutObjects( ids=( 'file', ) )
         self._assertCopyErrorUnauth( folder2.manage_pasteObjects
                                    , cookie



More information about the CMF-checkins mailing list