From ece8c4a79c0a50bff9ccfbc8a202f72a80e2ec04 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Sat, 7 Dec 2013 21:41:38 +0000 Subject: [PATCH] RM-1099 (Refactor Transfer and Accession reports) * Fixed failing tests git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58683 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../test/service/ReportServiceImplTest.java | 73 ++++++++++++------- .../test/util/BaseRMTestCase.java | 3 + 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/ReportServiceImplTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/ReportServiceImplTest.java index 728ce4aaa7..414c42f905 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/ReportServiceImplTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/service/ReportServiceImplTest.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionResult; import org.alfresco.module.org_alfresco_module_rm.action.impl.CompleteEventAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.CutOffAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.DestroyAction; @@ -135,14 +136,12 @@ public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel */ private Report generateTransfertReport() { - nodeService.setProperty(rmFolder, PROP_TRANSFER_ACCESSION_INDICATOR, false); - nodeService.setProperty(rmFolder, PROP_TRANSFER_LOCATION, filePlan.toString()); Map properties = new HashMap(2); ArrayList transferNodes = new ArrayList(1); String dispositionAuthority = StringUtils.EMPTY; properties.put("transferNodes", transferNodes); properties.put("dispositionAuthority", dispositionAuthority); - return reportService.generateReport(TYPE_TRANSFER_REPORT, rmFolder, MimetypeMap.MIMETYPE_HTML, properties); + return reportService.generateReport(TYPE_TRANSFER_REPORT, getTransferObject(), MimetypeMap.MIMETYPE_HTML, properties); } /** @@ -195,30 +194,54 @@ public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel @Override public Void run() throws Exception { - NodeRef recordCategory = filePlanService.createRecordCategory(filePlan, GUID.generate()); - utils.createDispositionSchedule( - recordCategory, - CommonRMTestUtils.DEFAULT_DISPOSITION_INSTRUCTIONS, - CommonRMTestUtils.DEFAULT_DISPOSITION_AUTHORITY, - false, // record level - true, // set the default actions - true); // extended disposition schedule - NodeRef recordFolder = recordFolderService.createRecordFolder(recordCategory, GUID.generate()); - - nodeService.setProperty(recordFolder, PROP_TRANSFER_ACCESSION_INDICATOR, false); - nodeService.setProperty(recordFolder, PROP_TRANSFER_LOCATION, filePlan.toString()); - - Map params = new HashMap(1); - params.put(CompleteEventAction.PARAM_EVENT_NAME, CommonRMTestUtils.DEFAULT_EVENT_NAME); - rmActionService.executeRecordsManagementAction(recordFolder, CompleteEventAction.NAME, params); - rmActionService.executeRecordsManagementAction(recordFolder, CutOffAction.NAME); - rmActionService.executeRecordsManagementAction(recordFolder, TransferAction.NAME); - Map fileReportParams = new HashMap(2); - fileReportParams.put(TransferReportAction.REPORT_TYPE, "rmr:transferReport"); - fileReportParams.put(TransferReportAction.DESTINATION, filePlan.toString()); - rmActionService.executeRecordsManagementAction(recordFolder, TransferReportAction.NAME, fileReportParams); + // Create transfer report for the transfer object + Map params = new HashMap(2); + params.put(TransferReportAction.REPORT_TYPE, "rmr:transferReport"); + params.put(TransferReportAction.DESTINATION, filePlan.toString()); + RecordsManagementActionResult transferReportAction = rmActionService.executeRecordsManagementAction(getTransferObject(), TransferReportAction.NAME, params); + // Check transfer report result + String transferReportName = (String) transferReportAction.getValue(); + assertFalse(StringUtils.isBlank(transferReportName)); return null; } }); } + + /** + * Helper method for creating a transfer object + * + * @return Node reference of the transfer object + */ + private NodeRef getTransferObject() + { + NodeRef recordCategory = filePlanService.createRecordCategory(filePlan, GUID.generate()); + utils.createDispositionSchedule( + recordCategory, + CommonRMTestUtils.DEFAULT_DISPOSITION_INSTRUCTIONS, + CommonRMTestUtils.DEFAULT_DISPOSITION_AUTHORITY, + false, // record level + true, // set the default actions + true); // extended disposition schedule + + NodeRef recordFolder = recordFolderService.createRecordFolder(recordCategory, GUID.generate()); + + // Set the record folder identifier + String identifier = identifierService.generateIdentifier(TYPE_RECORD_FOLDER, recordCategory); + nodeService.setProperty(recordFolder, PROP_IDENTIFIER, identifier); + + // Complete event + Map params = new HashMap(1); + params.put(CompleteEventAction.PARAM_EVENT_NAME, CommonRMTestUtils.DEFAULT_EVENT_NAME); + rmActionService.executeRecordsManagementAction(recordFolder, CompleteEventAction.NAME, params); + + // Cut off folder + rmActionService.executeRecordsManagementAction(recordFolder, CutOffAction.NAME); + + // Transfer folder + RecordsManagementActionResult transferAction = rmActionService.executeRecordsManagementAction(recordFolder, TransferAction.NAME); + NodeRef transferObject = (NodeRef) transferAction.getValue(); + assertTrue(transferObject != null); + + return transferObject; + } } diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseRMTestCase.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseRMTestCase.java index 106c35b205..872aea02de 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseRMTestCase.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseRMTestCase.java @@ -35,6 +35,7 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService; 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.identifier.IdentifierService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.model.rma.type.RmSiteType; import org.alfresco.module.org_alfresco_module_rm.record.RecordService; @@ -147,6 +148,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase protected ExtendedSecurityService extendedSecurityService; protected ReportService reportService; protected RecordsManagementAuditService rmAuditService; + protected IdentifierService identifierService; /** test data */ protected String siteId; @@ -385,6 +387,7 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase extendedSecurityService = (ExtendedSecurityService) applicationContext.getBean("ExtendedSecurityService"); reportService = (ReportService) applicationContext.getBean("ReportService"); rmAuditService = (RecordsManagementAuditService) applicationContext.getBean("RecordsManagementAuditService"); + identifierService = (IdentifierService) applicationContext.getBean("recordsManagementIdentifierService"); } /**