def testActionSummary(self): e = GroupAction() e.groupid = '${title}' e.grouptitle = 'Group of Contributors for folder ${title}' e.roles = set(['Contributor', ]) summary = u'Create an user group ${groupid} with roles ${roles}' self.assertEqual(summary, e.summary)
def testExecute(self): e = GroupAction() e.groupid = 'New Group' e.grouptitle = 'Newly Created Group' e.roles = set(['Member', ]) ex = getMultiAdapter( (self.portal, e, DummyEvent(self.folder)), IExecutable) self.assertEqual(True, ex()) group = self.gt.getGroupById(e.groupid) self.assertTrue(group)
def testExecuteWithError(self): ''' Already a group with the same id ''' e = GroupAction() e.groupid = 'Fav Customer' e.grouptitle = 'Our Fav Customer' e.roles = set(['Member', ]) ex = getMultiAdapter( (self.portal, e, DummyEvent(self.folder)), IExecutable) self.assertFalse(ex())
def testExecuteWithoutGroupTool(self): ''' Test what happens if portal_groups is not available ''' # Remove portal_tool self.portal._delOb('portal_groups') # Execute action e = GroupAction() e.groupid = 'New Group' e.grouptitle = 'Newly Created Group' e.roles = set(['Member', ]) ex = getMultiAdapter( (self.portal, e, DummyEvent(self.folder)), IExecutable) self.assertFalse(ex())
def testExecuteWithoutGroupManagementPlugin(self): ''' No group management plugins enabled ''' from Products.PlonePAS.interfaces.group import IGroupManagement # Disable group management plugins acl_users = getToolByName(self.portal, 'acl_users') acl_users.plugins.deactivatePlugin(IGroupManagement, 'source_groups') # Execute action e = GroupAction() e.groupid = 'New Group' e.grouptitle = 'Newly Created Group' e.roles = set(['Member', ]) ex = getMultiAdapter( (self.portal, e, DummyEvent(self.folder)), IExecutable) self.assertEqual(False, ex())
def testExecuteInterp(self): # Setup scenario self.portal.invokeFactory('Folder', 'customer', title='Customer') folder = self.portal['customer'] e = GroupAction() e.groupid = '${title}' e.grouptitle = 'Group of Contributors for folder ${title}' e.roles = set(['Contributor', ]) ex = getMultiAdapter( (self.portal, e, DummyEvent(folder)), IExecutable) self.assertEqual(True, ex()) group = self.gt.getGroupById(folder.Title()) self.assertTrue(group) self.assertEqual(group.getGroupId(), folder.Title()) grouptitle = 'Group of Contributors for folder %s' % folder.Title() self.assertEqual(group.getGroupTitleOrName(), grouptitle)