mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
RM-1763: Record Contributors Group
* if configured, RECORD_CONTRIBUTOR group controls who can declare records within collaboration sites git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@91414 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2014 Alfresco Software Limited.
|
||||
*
|
||||
* This file is part of Alfresco
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.bootstrap;
|
||||
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest;
|
||||
import org.alfresco.repo.importer.ImporterBootstrap;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
|
||||
/**
|
||||
* Bootstrap importer module component unit test
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
* @since 2.3
|
||||
*/
|
||||
public class BootstrapImporterModuleComponentUnitTest extends BaseUnitTest
|
||||
{
|
||||
/** RM config node */
|
||||
private static final NodeRef configNodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_config_folder");
|
||||
|
||||
/** mocks */
|
||||
@Mock(name="importer") private ImporterBootstrap mockedImporter;
|
||||
@Mock(name="modulePatchExecuter") private ModulePatchExecuter mockedModulePatchExecuter;
|
||||
@Mock(name="recordContributorsGroupBootstrapComponent") private RecordContributorsGroupBootstrapComponent mockedRecordContributorsGroupBootstrapComponent;
|
||||
|
||||
/** importer */
|
||||
@InjectMocks
|
||||
private BootstrapImporterModuleComponent importer;
|
||||
|
||||
/**
|
||||
* Given that the system has already been bootstraped
|
||||
* When I try and boostrap the system
|
||||
* Then the system is not bootstraped again
|
||||
*/
|
||||
@Test
|
||||
public void alreadyBootstraped() throws Throwable
|
||||
{
|
||||
// config node exists
|
||||
doReturn(true).when(mockedNodeService).exists(configNodeRef);
|
||||
|
||||
// boostrap
|
||||
importer.executeInternal();
|
||||
|
||||
// not bootstraped
|
||||
verify(mockedImporter, never()).bootstrap();
|
||||
verify(mockedModulePatchExecuter, never()).initSchemaVersion();
|
||||
verify(mockedRecordContributorsGroupBootstrapComponent, never()).createRecordContributorsGroup();
|
||||
}
|
||||
|
||||
/**
|
||||
* Given that the system has not been bootstraped
|
||||
* When I try and bootstrap the system
|
||||
* Then the system is bootstraped
|
||||
*/
|
||||
@Test
|
||||
public void boostrap() throws Throwable
|
||||
{
|
||||
// config node does not exist
|
||||
doReturn(false).when(mockedNodeService).exists(configNodeRef);
|
||||
|
||||
// boostrap
|
||||
importer.executeInternal();
|
||||
|
||||
// not bootstraped
|
||||
verify(mockedImporter, times(1)).bootstrap();
|
||||
verify(mockedModulePatchExecuter, times(1)).initSchemaVersion();
|
||||
verify(mockedRecordContributorsGroupBootstrapComponent, times(1)).createRecordContributorsGroup();
|
||||
}
|
||||
}
|
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2014 Alfresco Software Limited.
|
||||
*
|
||||
* This file is part of Alfresco
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.bootstrap;
|
||||
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest;
|
||||
import org.alfresco.service.cmr.security.AuthorityType;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
|
||||
/**
|
||||
* Record contributors group bootstrap component unit test
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
* @since 2.3
|
||||
*/
|
||||
public class RecordContributorsGroupBootstrapComponentUnitTest extends BaseUnitTest
|
||||
{
|
||||
@InjectMocks
|
||||
private RecordContributorsGroupBootstrapComponent component;
|
||||
|
||||
/**
|
||||
* Given that the record contributors group already exists
|
||||
* When I try and create the group
|
||||
* Then nothing happens
|
||||
*/
|
||||
@Test
|
||||
public void groupAlreadyExists()
|
||||
{
|
||||
// group already exists
|
||||
doReturn(true).when(mockedAuthorityService).authorityExists(RecordContributorsGroupBootstrapComponent.GROUP_RECORD_CONTRIBUTORS);
|
||||
|
||||
// create group
|
||||
component.createRecordContributorsGroup();
|
||||
|
||||
// group not created
|
||||
verify(mockedAuthorityService, times(1)).authorityExists(RecordContributorsGroupBootstrapComponent.GROUP_RECORD_CONTRIBUTORS);
|
||||
verifyNoMoreInteractions(mockedAuthorityService);
|
||||
}
|
||||
|
||||
/**
|
||||
* Given that the record contributors group does not exist
|
||||
* When I try and create the group
|
||||
* Then the group is successfully created
|
||||
* And 'everyone' is added to the new group
|
||||
*/
|
||||
@Test
|
||||
public void createGroup()
|
||||
{
|
||||
// group does not exists
|
||||
doReturn(false).when(mockedAuthorityService).authorityExists(RecordContributorsGroupBootstrapComponent.GROUP_RECORD_CONTRIBUTORS);
|
||||
|
||||
// create group
|
||||
component.createRecordContributorsGroup();
|
||||
|
||||
// group not created
|
||||
verify(mockedAuthorityService, times(1)).createAuthority(AuthorityType.GROUP, RecordContributorsGroupBootstrapComponent.RECORD_CONTRIBUTORS);
|
||||
verify(mockedAuthorityService, times(1)).addAuthority(RecordContributorsGroupBootstrapComponent.GROUP_RECORD_CONTRIBUTORS, "admin");
|
||||
verify(mockedAuthorityService, times(1)).authorityExists(RecordContributorsGroupBootstrapComponent.GROUP_RECORD_CONTRIBUTORS);
|
||||
verifyNoMoreInteractions(mockedAuthorityService);
|
||||
}
|
||||
|
||||
}
|
@@ -19,6 +19,8 @@
|
||||
package org.alfresco.module.org_alfresco_module_rm.test;
|
||||
|
||||
import org.alfresco.module.org_alfresco_module_rm.action.impl.FileReportActionUnitTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.bootstrap.BootstrapImporterModuleComponentUnitTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.bootstrap.RecordContributorsGroupBootstrapComponentUnitTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.declarative.condition.HoldCapabilityConditionUnitTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.forms.RecordsManagementTypeFormFilterUnitTest;
|
||||
import org.alfresco.module.org_alfresco_module_rm.hold.HoldServiceImplUnitTest;
|
||||
@@ -81,7 +83,11 @@ import org.junit.runners.Suite.SuiteClasses;
|
||||
|
||||
// recorded version config
|
||||
RecordedVersionConfigGetTest.class,
|
||||
RecordedVersionConfigPostTest.class
|
||||
RecordedVersionConfigPostTest.class,
|
||||
|
||||
// bootstrap
|
||||
BootstrapImporterModuleComponentUnitTest.class,
|
||||
RecordContributorsGroupBootstrapComponentUnitTest.class
|
||||
})
|
||||
public class AllUnitTestSuite
|
||||
{
|
||||
|
Reference in New Issue
Block a user