[Erp5-report] r35475 luke - /erp5/trunk/products/ERP5Security/tests/testERP5Security.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu May 20 13:07:09 CEST 2010
Author: luke
Date: Thu May 20 13:07:07 2010
New Revision: 35475
URL: http://svn.erp5.org?rev=35475&view=rev
Log:
- check how cloning is impacting local roles
Modified:
erp5/trunk/products/ERP5Security/tests/testERP5Security.py
Modified: erp5/trunk/products/ERP5Security/tests/testERP5Security.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Security/tests/testERP5Security.py?rev=35475&r1=35474&r2=35475&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Security/tests/testERP5Security.py [utf8] (original)
+++ erp5/trunk/products/ERP5Security/tests/testERP5Security.py [utf8] Thu May 20 13:07:07 2010
@@ -32,6 +32,7 @@
import unittest
import transaction
+import uuid
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase,\
get_request
@@ -668,6 +669,56 @@
self.assertEqual(response.getStatus(), 200)
self.assertTrue(reference in response.getBody())
+ def _createZodbUser(self, login, role_list=None):
+ if role_list is None:
+ role_list = ['Member', 'Assignee', 'Assignor', 'Author', 'Auditor',
+ 'Associate']
+ uf = self.portal.acl_users
+ uf._doAddUser(login, '', role_list, [])
+
+ def test_owner_local_role_on_clone(self):
+ # check that tested stuff is ok
+ parent_type = 'Person'
+ acquiring_type = 'Email'
+ self.assertEquals(self.portal.portal_types[acquiring_type].acquire_local_roles, 1)
+ self.assertEquals(self.portal.portal_types[parent_type].acquire_local_roles, 0)
+
+ original_owner_id = str(uuid.uuid4())
+ cloning_owner_id = str(uuid.uuid4())
+ self._createZodbUser(original_owner_id)
+ self._createZodbUser(cloning_owner_id)
+ transaction.commit()
+ module = self.portal.getDefaultModule(portal_type=parent_type)
+ self.login(original_owner_id)
+ document = module.newContent(portal_type=parent_type)
+ subdocument = document.newContent(portal_type=acquiring_type)
+ self.stepTic()
+ self.login(cloning_owner_id)
+ cloned_document = document.Base_createCloneDocument(batch_mode=1)
+ self.stepTic()
+ self.login()
+ self.assertEqual(1, len(document.contentValues()))
+ self.assertEqual(1, len(cloned_document.contentValues()))
+ cloned_subdocument = cloned_document.contentValues()[0]
+ # real assertions
+ # roles on original document
+ self.assertEqual(
+ document.get_local_roles(),
+ (((original_owner_id), ('Owner',)),)
+ )
+ self.assertEqual(
+ subdocument.get_local_roles(),
+ (((original_owner_id), ('Owner',)),)
+ )
+
+ self.assertEqual(
+ cloned_document.get_local_roles(),
+ (((cloning_owner_id), ('Owner',)),)
+ )
+ self.assertEqual(
+ subdocument.get_local_roles(),
+ (((cloning_owner_id), ('Owner',)),)
+ )
def test_suite():
suite = unittest.TestSuite()
More information about the Erp5-report
mailing list