From 7d7f84f1a83e82fb915b2437d4a3ee732a0d75b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com> Date: Thu, 18 Feb 2010 10:30:29 +0000 Subject: [PATCH] add a test to proove that local roles are not reindexed after business template installed new ones git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32750 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testBusinessTemplate.py | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/product/ERP5/tests/testBusinessTemplate.py b/product/ERP5/tests/testBusinessTemplate.py index 55e55f82c4..870a222325 100644 --- a/product/ERP5/tests/testBusinessTemplate.py +++ b/product/ERP5/tests/testBusinessTemplate.py @@ -2109,6 +2109,35 @@ class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor): self.failUnless(module is not None) self.assertEquals(module.__ac_local_roles__, new_local_roles) + def stepCheckModuleLocalRolesInCatalogBeforeUpdate(self, sequence=None, sequence_list=None, **kw): + """ + Check presence of local roles + """ + p = self.getPortal() + module_id = sequence.get('module_id') + module = p._getOb(module_id, None) + self.failUnless(module is not None) + sql = "select distinct roles_and_users.uid as uid, allowedRolesAndUsers as role from catalog, roles_and_users where catalog.security_uid = roles_and_users.uid and catalog.uid=%s" %(module.getUid(),) + sql_connection = self.getSQLConnection() + result = sql_connection.manage_test(sql) + result = [(x.uid, x.role) for x in result] + sequence.edit(local_roles_catalog_result=result) + + def stepCheckModuleLocalRolesInCatalogAfterUpdate(self, sequence=None, sequence_list=None, **kw): + """ + Check presence of local roles + """ + p = self.getPortal() + module_id = sequence.get('module_id') + before_update_local_roles = sequence.get('local_roles_catalog_result') + module = p._getOb(module_id, None) + self.failUnless(module is not None) + sql = "select distinct roles_and_users.uid as uid, allowedRolesAndUsers as role from catalog, roles_and_users where catalog.security_uid = roles_and_users.uid and catalog.uid=%s" %(module.getUid(),) + sql_connection = self.getSQLConnection() + result = sql_connection.manage_test(sql) + for line in result: + self.assertTrue((line.uid, line.role) not in before_update_local_roles) + def stepCheckLocalRolesRemoved(self, sequence=None, sequence_list=None, **kw): """ Check non-presence of local roles @@ -3672,10 +3701,13 @@ class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor): RemoveLocalRoles \ RemoveBusinessTemplate \ RemoveAllTrashBins \ + Tic \ ImportBusinessTemplate \ UseImportBusinessTemplate \ + Tic \ CheckBuiltBuildingState \ CheckNotInstalledInstallationState \ + CheckModuleLocalRolesInCatalogBeforeUpdate \ InstallBusinessTemplate \ Tic \ CheckInstalledInstallationState \ @@ -3683,6 +3715,7 @@ class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor): CheckNoTrashBin \ CheckSkinsLayers \ CheckLocalRolesExists \ + CheckModuleLocalRolesInCatalogAfterUpdate \ UninstallBusinessTemplate \ CheckBuiltBuildingState \ CheckNotInstalledInstallationState \ -- 2.30.9