mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-4326: allow creation in transfer container only from
TransferServiceImpl
This commit is contained in:
@@ -161,6 +161,7 @@
|
|||||||
<property name="recordFolderService" ref="RecordFolderService" />
|
<property name="recordFolderService" ref="RecordFolderService" />
|
||||||
<property name="nodeService" ref="nodeService"/>
|
<property name="nodeService" ref="nodeService"/>
|
||||||
<property name="freezeService" ref="FreezeService"/>
|
<property name="freezeService" ref="FreezeService"/>
|
||||||
|
<property name="transferContainerType" ref="rma.transferContainer"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="RmTransferService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
<bean id="RmTransferService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||||
@@ -373,10 +374,10 @@
|
|||||||
|
|
||||||
<!-- File Plan Service -->
|
<!-- File Plan Service -->
|
||||||
|
|
||||||
<bean id="rootContainerCache" class="org.alfresco.repo.cache.DefaultSimpleCache" />
|
<bean id="rootContainerCache" class="org.alfresco.repo.cache.DefaultSimpleCache" />
|
||||||
|
|
||||||
<bean id="filePlanService"
|
<bean id="filePlanService"
|
||||||
parent="baseService"
|
parent="baseService"
|
||||||
class="org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanServiceImpl">
|
class="org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanServiceImpl">
|
||||||
<property name="rootContainerCache" ref="rootContainerCache" />
|
<property name="rootContainerCache" ref="rootContainerCache" />
|
||||||
</bean>
|
</bean>
|
||||||
@@ -566,9 +567,9 @@
|
|||||||
parent="baseService">
|
parent="baseService">
|
||||||
<property name="nodeService" ref="nodeService"/>
|
<property name="nodeService" ref="nodeService"/>
|
||||||
<property name="filePlanService" ref="filePlanService" />
|
<property name="filePlanService" ref="filePlanService" />
|
||||||
<property name="filePlanRoleService" ref="filePlanRoleService" />
|
<property name="filePlanRoleService" ref="filePlanRoleService" />
|
||||||
<property name="authorityService" ref="authorityService"/>
|
<property name="authorityService" ref="authorityService"/>
|
||||||
<property name="permissionService" ref="permissionService"/>
|
<property name="permissionService" ref="permissionService"/>
|
||||||
<property name="transactionService" ref="transactionService"/>
|
<property name="transactionService" ref="transactionService"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
@@ -1060,8 +1061,8 @@
|
|||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="recordMetadataAspectBootstrap" class="org.alfresco.module.org_alfresco_module_rm.record.RecordMetadataBootstrap" init-method="init" abstract="true">
|
<bean id="recordMetadataAspectBootstrap" class="org.alfresco.module.org_alfresco_module_rm.record.RecordMetadataBootstrap" init-method="init" abstract="true">
|
||||||
<property name="recordService" ref="recordService"/>
|
<property name="recordService" ref="recordService"/>
|
||||||
<property name="namespaceService" ref="namespaceService"/>
|
<property name="namespaceService" ref="namespaceService"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="RecordService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
<bean id="RecordService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||||
@@ -1522,20 +1523,20 @@
|
|||||||
<property name="objectDefinitionSource">
|
<property name="objectDefinitionSource">
|
||||||
<value>
|
<value>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.isHold=RM_ALLOW
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.isHold=RM_ALLOW
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHolds=RM.Read.0,AFTER_RM.FilterNode
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHolds=RM.Read.0,AFTER_RM.FilterNode
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHold=RM.Read.0,AFTER_RM.FilterNode
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHold=RM.Read.0,AFTER_RM.FilterNode
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.heldBy=RM.Read.0,AFTER_RM.FilterNode
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.heldBy=RM.Read.0,AFTER_RM.FilterNode
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHeld=RM.Read.0,AFTER_RM.FilterNode
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHeld=RM.Read.0,AFTER_RM.FilterNode
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.createHold=RM_CAP.0.rma:filePlanComponent.CreateHold
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.createHold=RM_CAP.0.rma:filePlanComponent.CreateHold
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHoldReason=RM.Read.0
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.getHoldReason=RM.Read.0
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.setHoldReason=RM_CAP.0.rma:filePlanComponent.EditHold
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.setHoldReason=RM_CAP.0.rma:filePlanComponent.EditHold
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.deleteHold=RM_CAP.0.rma:filePlanComponent.DeleteHold
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.deleteHold=RM_CAP.0.rma:filePlanComponent.DeleteHold
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.addToHold=RM_CAP.0.rma:filePlanComponent.AddToHold
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.addToHold=RM_CAP.0.rma:filePlanComponent.AddToHold
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.addToHolds=RM_ALLOW
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.addToHolds=RM_ALLOW
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.removeFromHold=RM_CAP.0.rma:filePlanComponent.RemoveFromHold
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.removeFromHold=RM_CAP.0.rma:filePlanComponent.RemoveFromHold
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.removeFromHolds=RM_ALLOW
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.removeFromHolds=RM_ALLOW
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.removeFromAllHolds=RM_ALLOW
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.removeFromAllHolds=RM_ALLOW
|
||||||
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.*=RM_DENY
|
org.alfresco.module.org_alfresco_module_rm.hold.HoldService.*=RM_DENY
|
||||||
]]>
|
]]>
|
||||||
</value>
|
</value>
|
||||||
|
@@ -26,8 +26,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.module.org_alfresco_module_rm.model.rma.type;
|
package org.alfresco.module.org_alfresco_module_rm.model.rma.type;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.security.InvalidParameterException;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
@@ -38,7 +37,6 @@ import org.alfresco.repo.policy.annotation.BehaviourBean;
|
|||||||
import org.alfresco.repo.policy.annotation.BehaviourKind;
|
import org.alfresco.repo.policy.annotation.BehaviourKind;
|
||||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
|
||||||
import org.springframework.extensions.surf.util.I18NUtil;
|
import org.springframework.extensions.surf.util.I18NUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,7 +50,25 @@ public class TransferContainerType extends BaseBehaviourBean
|
|||||||
implements NodeServicePolicies.OnCreateChildAssociationPolicy, NodeServicePolicies.OnCreateNodePolicy
|
implements NodeServicePolicies.OnCreateChildAssociationPolicy, NodeServicePolicies.OnCreateNodePolicy
|
||||||
{
|
{
|
||||||
private final static String MSG_ERROR_ADD_CONTENT_CONTAINER = "rm.service.error-add-content-container";
|
private final static String MSG_ERROR_ADD_CONTENT_CONTAINER = "rm.service.error-add-content-container";
|
||||||
private final static List<QName> ACCEPTED_NON_UNIQUE_CHILD_TYPES = Arrays.asList(TYPE_TRANSFER);
|
private static final String BEHAVIOUR_NAME = "onCreateChildAssocsForTransferContainer";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable the behaviours for this transaction
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void disable()
|
||||||
|
{
|
||||||
|
getBehaviour(BEHAVIOUR_NAME).disable();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable behaviours for this transaction
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void enable()
|
||||||
|
{
|
||||||
|
getBehaviour(BEHAVIOUR_NAME).enable();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On every event
|
* On every event
|
||||||
@@ -61,11 +77,14 @@ public class TransferContainerType extends BaseBehaviourBean
|
|||||||
* boolean)
|
* boolean)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Behaviour(kind = BehaviourKind.ASSOCIATION)
|
@Behaviour
|
||||||
|
(
|
||||||
|
kind = BehaviourKind.ASSOCIATION,
|
||||||
|
name = BEHAVIOUR_NAME
|
||||||
|
)
|
||||||
public void onCreateChildAssociation(ChildAssociationRef childAssocRef, boolean bNew)
|
public void onCreateChildAssociation(ChildAssociationRef childAssocRef, boolean bNew)
|
||||||
{
|
{
|
||||||
// check the created child is of an accepted type
|
throw new InvalidParameterException("Operation failed. Creation is not allowed in Transfer Container");
|
||||||
validateNewChildAssociationSubTypesIncluded(childAssocRef.getChildRef(), ACCEPTED_NON_UNIQUE_CHILD_TYPES);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -41,6 +41,7 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService
|
|||||||
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.model.rma.type.TransferContainerType;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.util.ServiceBaseImpl;
|
import org.alfresco.module.org_alfresco_module_rm.util.ServiceBaseImpl;
|
||||||
@@ -87,6 +88,8 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
|||||||
/** Freeze Service */
|
/** Freeze Service */
|
||||||
protected FreezeService freezeService;
|
protected FreezeService freezeService;
|
||||||
|
|
||||||
|
protected TransferContainerType transferContainerType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param filePlanService file plan service
|
* @param filePlanService file plan service
|
||||||
*/
|
*/
|
||||||
@@ -127,6 +130,11 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
|||||||
this.freezeService = freezeService;
|
this.freezeService = freezeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransferContainerType(TransferContainerType transferContainerType)
|
||||||
|
{
|
||||||
|
this.transferContainerType = transferContainerType;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.alfresco.module.org_alfresco_module_rm.transfer.TransferService#transfer(NodeRef, boolean)
|
* @see org.alfresco.module.org_alfresco_module_rm.transfer.TransferService#transfer(NodeRef, boolean)
|
||||||
*/
|
*/
|
||||||
@@ -164,12 +172,21 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
NodeRef transferContainer = filePlanService.getTransferContainer(root);
|
NodeRef transferContainer = filePlanService.getTransferContainer(root);
|
||||||
transferNodeRef = nodeService.createNode(transferContainer,
|
|
||||||
ContentModel.ASSOC_CONTAINS,
|
|
||||||
QName.createQName(RM_URI, transferName),
|
|
||||||
TYPE_TRANSFER,
|
|
||||||
transferProps).getChildRef();
|
|
||||||
|
|
||||||
|
transferContainerType.disable();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
transferNodeRef = nodeService.createNode(transferContainer,
|
||||||
|
ContentModel.ASSOC_CONTAINS,
|
||||||
|
QName.createQName(RM_URI, transferName),
|
||||||
|
TYPE_TRANSFER,
|
||||||
|
transferProps).getChildRef();
|
||||||
|
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
transferContainerType.enable();
|
||||||
|
}
|
||||||
// Bind the hold node reference to the transaction
|
// Bind the hold node reference to the transaction
|
||||||
AlfrescoTransactionSupport.bindResource(KEY_TRANSFER_NODEREF, transferNodeRef);
|
AlfrescoTransactionSupport.bindResource(KEY_TRANSFER_NODEREF, transferNodeRef);
|
||||||
}
|
}
|
||||||
@@ -253,12 +270,12 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
|||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Could not complete a transfer that contains held folders");
|
throw new AlfrescoRuntimeException("Could not complete a transfer that contains held folders");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(freezeService.hasFrozenChildren(assoc.getChildRef()))
|
if(freezeService.hasFrozenChildren(assoc.getChildRef()))
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Cound not complete a transfer that contains folders with held children");
|
throw new AlfrescoRuntimeException("Cound not complete a transfer that contains folders with held children");
|
||||||
}
|
}
|
||||||
|
|
||||||
markComplete(assoc.getChildRef(), accessionIndicator, transferLocation);
|
markComplete(assoc.getChildRef(), accessionIndicator, transferLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -413,10 +413,6 @@ public class RMNodesImpl extends NodesImpl implements RMNodes
|
|||||||
{
|
{
|
||||||
throw new PermissionDeniedException("POST request not allowed in Transfer Folder.");
|
throw new PermissionDeniedException("POST request not allowed in Transfer Folder.");
|
||||||
}
|
}
|
||||||
else if(RecordsManagementModel.TYPE_TRANSFER_CONTAINER.equals(parentNodeRefType))
|
|
||||||
{
|
|
||||||
throw new PermissionDeniedException("POST request not allowed in Transfer Container.");
|
|
||||||
}
|
|
||||||
else if(RecordsManagementModel.TYPE_HOLD.equals(parentNodeRefType))
|
else if(RecordsManagementModel.TYPE_HOLD.equals(parentNodeRefType))
|
||||||
{
|
{
|
||||||
throw new PermissionDeniedException("POST request not allowed in Hold Folder.");
|
throw new PermissionDeniedException("POST request not allowed in Hold Folder.");
|
||||||
|
@@ -68,22 +68,4 @@ public class TransferContainerTypeUnitTest extends BaseUnitTest
|
|||||||
when(mockedChildAssoc.getParentRef()).thenReturn(transferContainer);
|
when(mockedChildAssoc.getParentRef()).thenReturn(transferContainer);
|
||||||
transferContainerType.onCreateChildAssociation(mockedChildAssoc, true);
|
transferContainerType.onCreateChildAssociation(mockedChildAssoc, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Given that we try to add "rma:transfer" type to transfer container,
|
|
||||||
* Then the operation is successful.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testAddTransferFolderToTransferContainer()
|
|
||||||
{
|
|
||||||
QName type = AlfMock.generateQName();
|
|
||||||
when(mockedDictionaryService.isSubClass(type, TYPE_TRANSFER)).thenReturn(true);
|
|
||||||
NodeRef transferFolder= AlfMock.generateNodeRef(mockedNodeService, type);
|
|
||||||
|
|
||||||
NodeRef transferContainer = generateNodeRef(TYPE_TRANSFER_CONTAINER, true);
|
|
||||||
ChildAssociationRef mockedChildAssoc = mock(ChildAssociationRef.class);
|
|
||||||
when(mockedChildAssoc.getChildRef()).thenReturn(transferFolder);
|
|
||||||
when(mockedChildAssoc.getParentRef()).thenReturn(transferContainer);
|
|
||||||
transferContainerType.onCreateChildAssociation(mockedChildAssoc, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -755,22 +755,6 @@ public class RMNodesImplUnitTest extends BaseUnitTest
|
|||||||
rmNodesImpl.checkPostPermission(parentNodeRef.getId());
|
rmNodesImpl.checkPostPermission(parentNodeRef.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testCheckPostPermissionForTransferContainer() throws Exception
|
|
||||||
{
|
|
||||||
NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService);
|
|
||||||
when(mockedNodeService.getType(parentNodeRef)).thenReturn(RecordsManagementModel.TYPE_TRANSFER_CONTAINER);
|
|
||||||
try
|
|
||||||
{
|
|
||||||
rmNodesImpl.checkPostPermission(parentNodeRef.getId());
|
|
||||||
fail("Expected ecxeption as post should not be permitted on the Transfer Container");
|
|
||||||
}
|
|
||||||
catch(PermissionDeniedException ex)
|
|
||||||
{
|
|
||||||
assertEquals("POST request not allowed in Transfer Container.", ex.getMsgId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCheckPostPermissionForTransferFolder() throws Exception
|
public void testCheckPostPermissionForTransferFolder() throws Exception
|
||||||
{
|
{
|
||||||
|
@@ -122,29 +122,6 @@ public class FileplanComponentChildrenRelationUnitTest extends BaseUnitTest
|
|||||||
verify(mockedRMNodes, never()).createNode(parentNodeRef.getId(), nodeInfos.get(0), mockedParameters);
|
verify(mockedRMNodes, never()).createNode(parentNodeRef.getId(), nodeInfos.get(0), mockedParameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testCreateOnTransferContainer() throws Exception
|
|
||||||
{
|
|
||||||
Parameters mockedParameters = mock(Parameters.class);
|
|
||||||
NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService);
|
|
||||||
|
|
||||||
List<Node> nodeInfos = new ArrayList<Node>();
|
|
||||||
Node mokedNodeInfo = mock(Node.class);
|
|
||||||
nodeInfos.add(mokedNodeInfo);
|
|
||||||
|
|
||||||
Mockito.doThrow(new PermissionDeniedException("POST request not allowed in Transfer Container.")).when(mockedRMNodes).checkPostPermission(parentNodeRef.getId());
|
|
||||||
try
|
|
||||||
{
|
|
||||||
filePlanComponentChildrenRelation.create(parentNodeRef.getId(), nodeInfos, mockedParameters);
|
|
||||||
fail("Expected ecxeption as POST request is not allowed in Transfer Container.");
|
|
||||||
}
|
|
||||||
catch(PermissionDeniedException ex)
|
|
||||||
{
|
|
||||||
assertEquals("POST request not allowed in Transfer Container.", ex.getMsgId());
|
|
||||||
}
|
|
||||||
verify(mockedRMNodes, never()).createNode(parentNodeRef.getId(), nodeInfos.get(0), mockedParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateOnHoldFolder() throws Exception
|
public void testCreateOnHoldFolder() throws Exception
|
||||||
{
|
{
|
||||||
@@ -223,27 +200,6 @@ public class FileplanComponentChildrenRelationUnitTest extends BaseUnitTest
|
|||||||
verify(mockedRMNodes, never()).upload(parentNodeRef.getId(), mockedFormData, mockedParameters);
|
verify(mockedRMNodes, never()).upload(parentNodeRef.getId(), mockedFormData, mockedParameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testUploadOnTransferContainer() throws Exception
|
|
||||||
{
|
|
||||||
Parameters mockedParameters = mock(Parameters.class);
|
|
||||||
NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService);
|
|
||||||
FormData mockedFormData = mock(FormData.class);
|
|
||||||
WithResponse mockedWithResponse = mock(WithResponse.class);
|
|
||||||
|
|
||||||
Mockito.doThrow(new PermissionDeniedException("POST request not allowed in Transfer Container.")).when(mockedRMNodes).checkPostPermission(parentNodeRef.getId());
|
|
||||||
try
|
|
||||||
{
|
|
||||||
filePlanComponentChildrenRelation.create(parentNodeRef.getId(), mockedFormData, mockedParameters, mockedWithResponse);
|
|
||||||
fail("Expected ecxeption as POST request is not allowed in Transfer Container.");
|
|
||||||
}
|
|
||||||
catch(PermissionDeniedException ex)
|
|
||||||
{
|
|
||||||
assertEquals("POST request not allowed in Transfer Container.", ex.getMsgId());
|
|
||||||
}
|
|
||||||
verify(mockedRMNodes, never()).upload(parentNodeRef.getId(), mockedFormData, mockedParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUploadOnHoldFolder() throws Exception
|
public void testUploadOnHoldFolder() throws Exception
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user