mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Acceptance Criteria Automation for RM-1997: Content store data cleansing
* added @AlfrescoTest annotation dependency to help track AC's back to JIRA * feedback from previous review * see RM-2460, RM-2461, RM-2462, RM-2505, RM-2506, RM-2507 +review RM git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109733 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -18,24 +18,20 @@
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.content;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.classification.ContentClassificationService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.content.cleanser.ContentCleanser;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest;
|
||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||
import org.alfresco.service.cmr.dictionary.PropertyDefinition;
|
||||
import org.alfresco.service.cmr.repository.ContentData;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
@@ -79,8 +75,10 @@ public class ContentDestructionComponentUnitTest extends BaseUnitTest
|
||||
|
||||
/**
|
||||
* Given a record
|
||||
* And that by default cleansing is off
|
||||
* When it is deleted
|
||||
* Then it is sent for immediate destruction
|
||||
* And not cleansed
|
||||
*/
|
||||
@Test
|
||||
public void deleteRecord()
|
||||
@@ -100,8 +98,10 @@ public class ContentDestructionComponentUnitTest extends BaseUnitTest
|
||||
|
||||
/**
|
||||
* Given classified content
|
||||
* And that by default cleansing is off
|
||||
* When it is deleted
|
||||
* Then it is send for immediate destruction
|
||||
* And not cleansed
|
||||
*/
|
||||
@Test
|
||||
public void deleteClassifiedContent()
|
||||
@@ -122,7 +122,7 @@ public class ContentDestructionComponentUnitTest extends BaseUnitTest
|
||||
/**
|
||||
* Given that content cleansing is turned on
|
||||
* When a sensitive node is deleted
|
||||
* Then it is not scheduled for cleansing before destruction
|
||||
* Then it is scheduled for cleansing before destruction
|
||||
*/
|
||||
@Test
|
||||
public void contentCleansingOn()
|
||||
@@ -144,7 +144,7 @@ public class ContentDestructionComponentUnitTest extends BaseUnitTest
|
||||
/**
|
||||
* Given that content cleansing is turned off
|
||||
* When a sensitive node is deleted
|
||||
* Then it is scheduled for cleansing before destruction
|
||||
* Then it is not scheduled for cleansing before destruction
|
||||
*/
|
||||
@Test
|
||||
public void contentCleansingOff()
|
||||
@@ -202,31 +202,18 @@ public class ContentDestructionComponentUnitTest extends BaseUnitTest
|
||||
{
|
||||
NodeRef nodeRef = generateCmContent("myContent.txt");
|
||||
|
||||
List<QName> contentProperties = new ArrayList<QName>(contentPropertiesCount);
|
||||
for (int i = 0; i < contentPropertiesCount; i++)
|
||||
{
|
||||
contentProperties.add(AlfMock.generateQName());
|
||||
}
|
||||
|
||||
when(mockedDictionaryService.getAllProperties(ContentModel.TYPE_CONTENT))
|
||||
.thenReturn(contentProperties);
|
||||
|
||||
DataTypeDefinition mockedDataTypeDefinition = mock(DataTypeDefinition.class);
|
||||
when(mockedDataTypeDefinition.getName())
|
||||
.thenReturn(DataTypeDefinition.CONTENT);
|
||||
|
||||
PropertyDefinition mockedPropertyDefinition = mock(PropertyDefinition.class);
|
||||
when(mockedPropertyDefinition.getDataType())
|
||||
.thenReturn(mockedDataTypeDefinition);
|
||||
|
||||
when(mockedDictionaryService.getProperty(any(QName.class)))
|
||||
.thenReturn(mockedPropertyDefinition);
|
||||
|
||||
ContentData mockedDataContent = mock(ContentData.class);
|
||||
when(mockedDataContent.getContentUrl())
|
||||
ContentData mockedContentData = mock(ContentData.class);
|
||||
when(mockedContentData.getContentUrl())
|
||||
.thenReturn(contentURL);
|
||||
when(mockedNodeService.getProperty(eq(nodeRef), any(QName.class)))
|
||||
.thenReturn(mockedDataContent);
|
||||
|
||||
Map<QName, Serializable> propertiesMap = new HashMap<QName, Serializable>(contentPropertiesCount);
|
||||
for(int i = 0; i < contentPropertiesCount; i++)
|
||||
{
|
||||
propertiesMap.put(AlfMock.generateQName(), mockedContentData);
|
||||
}
|
||||
|
||||
when(mockedNodeService.getProperties(nodeRef))
|
||||
.thenReturn(propertiesMap);
|
||||
|
||||
return nodeRef;
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
package org.alfresco.module.org_alfresco_module_rm.content.cleanser;
|
||||
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.io.File;
|
||||
@@ -26,6 +26,7 @@ import java.io.File;
|
||||
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest;
|
||||
import org.alfresco.service.cmr.repository.ContentIOException;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InOrder;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Spy;
|
||||
@@ -61,12 +62,14 @@ public class ContentCleanser522022MUnitTest extends BaseUnitTest
|
||||
|
||||
contentCleanser522022M.cleanse(mockedFile);
|
||||
|
||||
verify(contentCleanser522022M)
|
||||
InOrder inOrder = inOrder(contentCleanser522022M);
|
||||
|
||||
inOrder.verify(contentCleanser522022M)
|
||||
.overwrite(mockedFile, contentCleanser522022M.overwriteOnes);
|
||||
verify(contentCleanser522022M)
|
||||
inOrder.verify(contentCleanser522022M)
|
||||
.overwrite(mockedFile, contentCleanser522022M.overwriteZeros);
|
||||
verify(contentCleanser522022M)
|
||||
.overwrite(mockedFile, contentCleanser522022M.overwriteOnes);
|
||||
inOrder.verify(contentCleanser522022M)
|
||||
.overwrite(mockedFile, contentCleanser522022M.overwriteRandom);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user