From 58ae3e800ee055ecaf663bd960b47d01f2f08639 Mon Sep 17 00:00:00 2001 From: estan Date: Tue, 10 Nov 2020 13:21:10 +0200 Subject: [PATCH] MNT-21132 : Search Result points to incorrect link to Folder on Hold --- .../rest/rm/community/audit/AuditAddToHoldTests.java | 7 +++++-- .../rm/community/audit/AuditDeleteHoldTests.java | 2 +- .../rm/community/audit/AuditRemoveFromHoldTests.java | 12 ++++++++---- .../files/DeclareAndFileDocumentAsRecordTests.java | 5 +++-- .../rm/community/files/FileVersionAsRecordTests.java | 5 +++-- .../rest/rm/community/hold/AddToHoldsTests.java | 2 +- .../hold/PreventActionsOnFrozenContentTests.java | 2 +- .../rest/rm/community/hold/RemoveFromHoldsTests.java | 7 ++++--- .../hold/HoldServiceImplUnitTest.java | 6 ++++++ 9 files changed, 32 insertions(+), 16 deletions(-) diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java index b6be5b3c9d..e5303dd90a 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java @@ -41,6 +41,7 @@ import static org.apache.commons.httpclient.HttpStatus.SC_INTERNAL_SERVER_ERROR; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -94,6 +95,7 @@ public class AuditAddToHoldTests extends BaseRMRestTest private RecordCategoryChild recordFolder; private List auditEntries; private List holdsList = asList(HOLD1, HOLD2); + private List holdsListRef = new ArrayList<>(); private String hold1NodeRef; @BeforeClass (alwaysRun = true) @@ -102,7 +104,8 @@ public class AuditAddToHoldTests extends BaseRMRestTest STEP("Create 2 holds."); hold1NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD1, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + String hold2NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef = asList(hold1NodeRef, hold2NodeRef); STEP("Create a new record category with a record folder."); recordCategory = createRootCategory(getRandomName("recordCategory")); @@ -302,7 +305,7 @@ public class AuditAddToHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditAddToHoldTests() { - holdsList.forEach(hold -> holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), hold)); + holdsListRef.forEach(hold -> holdsAPI.deleteHold(getAdminUser(), hold)); dataSite.usingAdmin().deleteSite(privateSite); asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java index 9af4732fce..bfa791e677 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java @@ -133,7 +133,7 @@ public class AuditDeleteHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditDeleteHoldTests() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); asList(rmAdmin, rmManager).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); } } diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java index 743ca7387d..53962228d7 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java @@ -41,6 +41,8 @@ import static org.apache.commons.httpclient.HttpStatus.SC_INTERNAL_SERVER_ERROR; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -97,6 +99,7 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest private Record heldRecord; private List auditEntries; private List holdsList = asList(HOLD1, HOLD2, HOLD3); + private List holdsListRef = new ArrayList<>(); private FileModel heldContent; private String hold1NodeRef; @@ -112,9 +115,10 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest STEP("Create new holds."); hold1NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD1, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD3, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), DELETED_HOLD, HOLD_REASON, HOLD_DESCRIPTION); + String hold2NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + String hold3NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD3, HOLD_REASON, HOLD_DESCRIPTION); + String deleteNodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), DELETED_HOLD, HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef = asList(hold1NodeRef, hold2NodeRef, hold3NodeRef); STEP("Create a new record category with a record folder."); recordCategory = createRootCategory(getRandomName("recordCategory")); @@ -317,7 +321,7 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditRemoveFromHoldTests() { - holdsList.forEach(hold -> holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), hold)); + holdsListRef.forEach(hold -> holdsAPI.deleteHold(getAdminUser(), hold)); dataSite.usingAdmin().deleteSite(privateSite); asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java index 61e91f4517..b9bf38e61d 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java @@ -97,6 +97,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest private RecordCategory recordCategory; private RecordCategoryChild recordFolder, subcategoryRecordFolder, subCategory, closedRecordFolder, recordFolderWithSpacesInName; private UnfiledContainerChild unfiledContainerFolder; + private String holdNodeRef; @Autowired private DockerHelper dockerHelper; @@ -406,7 +407,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest public void declareAndFileToHeldRecordFolderUsingFilesAPI() throws Exception { RecordCategoryChild heldRecordFolder = createFolder(recordCategory.getId(), getRandomName("heldRecordFolder")); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); + holdNodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); holdsAPI.addItemToHold(getAdminUser().getUsername(), getAdminUser().getPassword(), heldRecordFolder.getId(), HOLD_NAME); @@ -457,7 +458,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest public void declareAndFileDocumentAsRecordCleanup() { //delete rm items - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); deleteRecordCategory(recordCategory.getId()); getRestAPIFactory().getUnfiledRecordFoldersAPI().deleteUnfiledRecordFolder(unfiledContainerFolder.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java index dd6d0e453c..630be5e72e 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java @@ -89,6 +89,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest private RecordCategory recordCategory; private RecordCategoryChild recordFolder, closedRecordFolder, heldRecordFolder; private UnfiledContainerChild unfiledContainerFolder; + private String holdNodeRef; @Autowired private RoleService roleService; @@ -114,7 +115,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest unfiledContainerFolder = createUnfiledContainerChild(UNFILED_RECORDS_CONTAINER_ALIAS, "Unfiled Folder " + getRandomAlphanumeric(), UNFILED_RECORD_FOLDER_TYPE); heldRecordFolder = createFolder(recordCategory.getId(), getRandomName("heldRecordFolder")); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); + holdNodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); holdsAPI.addItemToHold(getAdminUser().getUsername(), getAdminUser().getPassword(), heldRecordFolder.getId(), HOLD_NAME); @@ -284,7 +285,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void declareAndFileVersionAsRecordCleanUp() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); deleteRecordCategory(recordCategory.getId()); //delete created collaboration site diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java index 20fb9fa802..97c4157fa0 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java @@ -357,7 +357,7 @@ public class AddToHoldsTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAddContentToHold() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); dataSite.usingAdmin().deleteSite(testSite); users.forEach(user -> getDataUser().usingAdmin().deleteUser(user)); nodesToBeClean.forEach( category -> getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(category)); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java index b2082940dc..903771257c 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java @@ -324,7 +324,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpPreventActionsOnFrozenContent() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_ONE); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); dataSite.usingAdmin().deleteSite(testSite); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordFolder.getParentId()); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(categoryWithRS.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java index 66cbd3f480..49621f0bd0 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java @@ -86,6 +86,7 @@ public class RemoveFromHoldsTests extends BaseRMRestTest private SiteModel testSite, privateSite; private String holdNodeRefOne; + private String holdNodeRefTwo; private FileModel contentHeld, contentAddToManyHolds; private Set usersToBeClean = new HashSet<>(); private Set nodesToBeClean = new HashSet<>(); @@ -100,7 +101,7 @@ public class RemoveFromHoldsTests extends BaseRMRestTest STEP("Create two holds."); holdNodeRefOne = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getUsername(), HOLD_ONE, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser() + holdNodeRefTwo = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser() .getUsername(), HOLD_TWO, HOLD_REASON, HOLD_DESCRIPTION); STEP("Create test files."); @@ -326,8 +327,8 @@ public class RemoveFromHoldsTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpRemoveContentFromHold() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_ONE); - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_TWO); + holdsAPI.deleteHold(getAdminUser(), holdNodeRefOne); + holdsAPI.deleteHold(getAdminUser(), holdNodeRefTwo); dataSite.usingAdmin().deleteSite(testSite); dataSite.usingAdmin().deleteSite(privateSite); usersToBeClean.forEach(user -> getDataUser().usingAdmin().deleteUser(user)); diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java index b2f1314a3d..f4d1246027 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java @@ -98,6 +98,9 @@ public class HoldServiceImplUnitTest extends BaseUnitTest @Mock private CapabilityService mockedCapabilityService; + @Mock + private ChildAssociationRef mockChildAssociationRef; + @Spy @InjectMocks HoldServiceImpl holdService; @Before @@ -120,7 +123,9 @@ public class HoldServiceImplUnitTest extends BaseUnitTest QName contentSubtype = QName.createQName("contentSubtype", "contentSubtype"); when(mockedNodeService.getType(activeContent)).thenReturn(contentSubtype); when(mockedNodeTypeUtility.instanceOf(contentSubtype, ContentModel.TYPE_CONTENT)).thenReturn(true); + when(mockedNodeService.getPrimaryParent(activeContent)).thenReturn(mockChildAssociationRef); + when(mockedNodeService.getPrimaryParent(recordFolder)).thenReturn(mockChildAssociationRef); // setup interactions doReturn(holdContainer).when(mockedFilePlanService).getHoldContainer(filePlan); } @@ -353,6 +358,7 @@ public class HoldServiceImplUnitTest extends BaseUnitTest public void addToHoldNotInHold() { mockPoliciesForAddToHold(); + when(mockedNodeService.getPrimaryParent(record)).thenReturn(mockChildAssociationRef); holdService.addToHold(hold, recordFolder);