mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merge remote-tracking branch 'remotes/origin/release/V3.4' into merge/APPS-234_IntegrationTestsOnMySQL_master_no
# Conflicts: # rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/enterprise/security/guides/GuidedClassificationTests.java
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
---
|
||||
import:
|
||||
- source: .travis.env-vars.yml
|
||||
- source: .travis.tests-stage.yml
|
||||
- source: .travis.release-stage.yml
|
||||
- source: .travis.publish-stage.yml
|
||||
- source: travis/.travis.env-vars.yml
|
||||
- source: travis/.travis.tests-stage.yml
|
||||
- source: travis/.travis.integration-test-MySQL.yml
|
||||
- source: travis/.travis.release-stage.yml
|
||||
- source: travis/.travis.publish-stage.yml
|
||||
dist: xenial
|
||||
sudo: required
|
||||
language: java
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<ags.repo>alfresco-governance-services-community-repo</ags.repo>
|
||||
<tas.restapi.version>1.38</tas.restapi.version>
|
||||
<fluent.json.version>2.0.0</fluent.json.version>
|
||||
<jackson.databind.version>2.7.7</jackson.databind.version>
|
||||
<jackson.databind.version>2.7.9.1</jackson.databind.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@@ -90,10 +90,10 @@
|
||||
<artifactId>docker-java</artifactId>
|
||||
<version>3.0.14</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>${jackson.databind.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>${jackson.databind.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
@@ -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<AuditEntry> auditEntries;
|
||||
private List<String> holdsList = asList(HOLD1, HOLD2);
|
||||
private List<String> 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(holdRef -> holdsAPI.deleteHold(getAdminUser(), holdRef));
|
||||
dataSite.usingAdmin().deleteSite(privateSite);
|
||||
asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user));
|
||||
getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId());
|
||||
|
@@ -37,6 +37,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.List;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
@@ -67,6 +68,7 @@ public class AuditCreateHoldTests extends BaseRMRestTest
|
||||
private final String HOLD1 = PREFIX + "createHold";
|
||||
private final String HOLD2 = PREFIX + "createHold2";
|
||||
private final String HOLD3 = PREFIX + "createHold3";
|
||||
private List<String> holdsListRef = new ArrayList<>();
|
||||
|
||||
@Autowired
|
||||
private RMAuditService rmAuditService;
|
||||
@@ -100,8 +102,9 @@ public class AuditCreateHoldTests extends BaseRMRestTest
|
||||
rmAuditService.clearAuditLog();
|
||||
|
||||
STEP("Create a new hold.");
|
||||
holdsAPI.createHold(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD1, HOLD_REASON, HOLD_DESCRIPTION);
|
||||
|
||||
String hold1NodeRef = holdsAPI.createHoldAndGetNodeRef(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD1,
|
||||
HOLD_REASON, HOLD_DESCRIPTION);
|
||||
holdsListRef.add(hold1NodeRef);
|
||||
STEP("Check the audit log contains the entry for the created hold with the hold details.");
|
||||
rmAuditService.checkAuditLogForEvent(getAdminUser(), CREATE_HOLD, rmAdmin, HOLD1,
|
||||
asList(ImmutableMap.of("new", HOLD_REASON, "previous", "", "name", "Hold Reason"),
|
||||
@@ -117,8 +120,8 @@ public class AuditCreateHoldTests extends BaseRMRestTest
|
||||
public void createHoldEventIsNotAuditedForExistingHold()
|
||||
{
|
||||
STEP("Create a new hold.");
|
||||
holdsAPI.createHold(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION);
|
||||
|
||||
String hold2NodeRef = holdsAPI.createHoldAndGetNodeRef(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION);
|
||||
holdsListRef.add(hold2NodeRef);
|
||||
rmAuditService.clearAuditLog();
|
||||
|
||||
STEP("Try to create again the same hold and expect action to fail.");
|
||||
@@ -168,7 +171,9 @@ public class AuditCreateHoldTests extends BaseRMRestTest
|
||||
rmAuditService.clearAuditLog();
|
||||
|
||||
STEP("Create a new hold.");
|
||||
holdsAPI.createHold(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD3, HOLD_REASON, HOLD_DESCRIPTION);
|
||||
String hold3NodeRef = holdsAPI.createHoldAndGetNodeRef(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD3,
|
||||
HOLD_REASON, HOLD_DESCRIPTION);
|
||||
holdsListRef.add(hold3NodeRef);
|
||||
|
||||
STEP("Check that an user with no Read permissions over the hold can't see the entry for the create hold event");
|
||||
assertTrue("The list of events should not contain Create Hold entry ",
|
||||
@@ -178,8 +183,7 @@ public class AuditCreateHoldTests extends BaseRMRestTest
|
||||
@AfterClass (alwaysRun = true)
|
||||
public void cleanUpAuditCreateHoldTests()
|
||||
{
|
||||
asList(HOLD1, HOLD2, HOLD3).forEach(hold ->
|
||||
holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), hold));
|
||||
holdsListRef.forEach(holdRef -> holdsAPI.deleteHold(getAdminUser(), holdRef));
|
||||
asList(rmAdmin, rmManager).forEach(user -> getDataUser().usingAdmin().deleteUser(user));
|
||||
}
|
||||
}
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
@@ -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<AuditEntry> auditEntries;
|
||||
private List<String> holdsList = asList(HOLD1, HOLD2, HOLD3);
|
||||
private List<String> 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(holdRef -> holdsAPI.deleteHold(getAdminUser(), holdRef));
|
||||
dataSite.usingAdmin().deleteSite(privateSite);
|
||||
asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user));
|
||||
getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId());
|
||||
|
@@ -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());
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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));
|
||||
|
@@ -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());
|
||||
|
@@ -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<UserModel> usersToBeClean = new HashSet<>();
|
||||
private Set<String> 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));
|
||||
|
@@ -28,6 +28,7 @@
|
||||
package org.alfresco.module.org_alfresco_module_rm.hold;
|
||||
|
||||
import static org.alfresco.model.ContentModel.ASPECT_LOCKABLE;
|
||||
import static org.alfresco.model.ContentModel.ASSOC_CONTAINS;
|
||||
import static org.alfresco.model.ContentModel.PROP_NAME;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -312,7 +313,7 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
if (holdContainer != null)
|
||||
{
|
||||
// get the children of the root hold container
|
||||
List<ChildAssociationRef> holdsAssocs = nodeService.getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
||||
List<ChildAssociationRef> holdsAssocs = nodeService.getChildAssocs(holdContainer, ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
||||
for (ChildAssociationRef holdAssoc : holdsAssocs)
|
||||
{
|
||||
NodeRef hold = holdAssoc.getChildRef();
|
||||
@@ -405,7 +406,7 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
NodeRef holdContainer = filePlanService.getHoldContainer(filePlan);
|
||||
|
||||
// get the hold by name
|
||||
NodeRef hold = nodeService.getChildByName(holdContainer, ContentModel.ASSOC_CONTAINS, name);
|
||||
NodeRef hold = nodeService.getChildByName(holdContainer, ASSOC_CONTAINS, name);
|
||||
if (hold != null && !isHold(hold))
|
||||
{
|
||||
throw new AlfrescoRuntimeException("Can not get hold, because the named node reference isn't a hold.");
|
||||
@@ -468,7 +469,7 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
QName assocName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, name);
|
||||
|
||||
// create hold
|
||||
ChildAssociationRef childAssocRef = nodeService.createNode(holdContainer, ContentModel.ASSOC_CONTAINS, assocName, TYPE_HOLD, properties);
|
||||
ChildAssociationRef childAssocRef = nodeService.createNode(holdContainer, ASSOC_CONTAINS, assocName, TYPE_HOLD, properties);
|
||||
|
||||
NodeRef holdNodeRef = childAssocRef.getChildRef();
|
||||
|
||||
@@ -658,6 +659,9 @@ public class HoldServiceImpl extends ServiceBaseImpl
|
||||
//set in transaction cache in order not to trigger update policy when adding the association
|
||||
transactionalResourceHelper.getSet("frozen").add(nodeRef);
|
||||
nodeService.addChild(hold, nodeRef, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT);
|
||||
// get the documents primary parent assoc
|
||||
ChildAssociationRef parentAssoc = nodeService.getPrimaryParent(nodeRef);
|
||||
nodeService.addChild(hold, nodeRef, ASSOC_CONTAINS, parentAssoc.getQName());
|
||||
|
||||
// Mark all the folders contents as frozen
|
||||
if (isRecordFolder(nodeRef))
|
||||
|
@@ -435,7 +435,7 @@ public class RecordAspect extends AbstractDisposableItem
|
||||
{
|
||||
if (contentBefore != null && !contentBefore.equals(contentAfter))
|
||||
{
|
||||
throw new IntegrityException(MSG_WORM_RECORD_LOCKED, null);
|
||||
throw new IntegrityException(I18NUtil.getMessage(MSG_WORM_RECORD_LOCKED), null);
|
||||
}
|
||||
}
|
||||
if (contentAfter != null)
|
||||
|
@@ -126,7 +126,7 @@ public class HoldReportTest extends BaseRMTestCase implements ReportModel
|
||||
{
|
||||
// crate a hold
|
||||
hold = holdService.createHold(filePlan, HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION);
|
||||
|
||||
|
||||
// add some items to the hold
|
||||
folder1 = recordFolderService.createRecordFolder(rmContainer, FOLDER1_NAME);
|
||||
holdService.addToHold(hold, folder1);
|
||||
@@ -168,8 +168,7 @@ public class HoldReportTest extends BaseRMTestCase implements ReportModel
|
||||
public void after()
|
||||
{
|
||||
holdService.deleteHold(hold);
|
||||
nodeService.deleteNode(folder1);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -131,14 +131,9 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDownImpl()
|
||||
protected void tearDown() throws Exception
|
||||
{
|
||||
// Unfreeze stuff so it can be deleted
|
||||
holdService.removeFromHold(hold, frozenRecord);
|
||||
holdService.removeFromHold(hold, frozenRecordFolder);
|
||||
holdService.removeFromHold(hold, frozenRecord2);
|
||||
|
||||
super.tearDownImpl();
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -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);
|
||||
|
||||
|
12
scripts/getLogs.sh
Normal file
12
scripts/getLogs.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -x
|
||||
|
||||
alfrescoContainerId=$(docker ps -a | grep '_alfresco_' | awk '{print $1}')
|
||||
shareContainerId=$(docker ps -a | grep '_share_' | awk '{print $1}')
|
||||
solrContainerId=$(docker ps -a | grep '_search_' | awk '{print $1}')
|
||||
|
||||
docker logs $alfrescoContainerId > alfresco.log
|
||||
if [ -n "$shareContainerId" ]; then
|
||||
docker logs $shareContainerId > share.log
|
||||
fi
|
||||
docker logs $solrContainerId > solr.log
|
22
travis/.travis.integration-test-MySQL.yml
Normal file
22
travis/.travis.integration-test-MySQL.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
### Integration tests on MySQL are running:
|
||||
## - on stable branch
|
||||
## - on demand with commit message [execute tests on MySQL]
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- &integration_test_on_MYSQL
|
||||
name: "Community Integrations Tests on MySQL"
|
||||
services: docker
|
||||
stage: Tests
|
||||
if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/
|
||||
install:
|
||||
- docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:5.7.23 --transaction-isolation='READ-COMMITTED'
|
||||
- docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8
|
||||
script:
|
||||
- travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
|
||||
- <<: *integration_test_on_MYSQL
|
||||
name: "Enterprise Integrations Tests on MySQL"
|
||||
install:
|
||||
- travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -am
|
||||
script: travis_retry travis_wait 80 mvn -B -q clean install ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -amd -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
@@ -1,14 +1,5 @@
|
||||
jobs:
|
||||
include:
|
||||
- name: "Community Integrations Tests on MySQL"
|
||||
stage: Tests
|
||||
script:
|
||||
- echo "Community Integrations Tests on MySQL"
|
||||
- name: "Enterprise Integrations Tests on MySQL"
|
||||
stage: Tests
|
||||
script:
|
||||
- echo "Enterprise Integrations Tests on MySQL"
|
||||
|
||||
- name: "Community Rest API Tests"
|
||||
stage: Tests
|
||||
install:
|
||||
@@ -67,6 +58,9 @@ jobs:
|
||||
- ./rm-automation/rm-automation-ui/target/surefire-reports
|
||||
- ./rm-automation/rm-automation-ui/target/reports
|
||||
- ./rm-automation/rm-automation-ui/target/screenshots
|
||||
- alfresco.log
|
||||
- solr.log
|
||||
- share.log
|
||||
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
|
||||
install:
|
||||
- |
|
||||
@@ -84,6 +78,7 @@ jobs:
|
||||
- travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-ui -am
|
||||
script:
|
||||
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
|
||||
after_failure: bash scripts/getLogs.sh
|
||||
|
||||
- <<: *community_shared_UI_configuration
|
||||
name: "Community Smoke UI Tests for actions in RM site"
|
||||
@@ -94,7 +89,7 @@ jobs:
|
||||
name: "Community Level 2: Disposition Schedules, Holds, Records UI Tests"
|
||||
script:
|
||||
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communityLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
|
||||
|
||||
|
||||
- <<: *community_shared_UI_configuration
|
||||
name: "Community Level 2: Audit, Rules, User Dashboard and Node Browser UI Tests"
|
||||
script:
|
||||
@@ -111,6 +106,9 @@ jobs:
|
||||
- ./rm-automation/rm-automation-ui/target/surefire-reports
|
||||
- ./rm-automation/rm-automation-ui/target/reports
|
||||
- ./rm-automation/rm-automation-ui/target/screenshots
|
||||
- alfresco.log
|
||||
- solr.log
|
||||
- share.log
|
||||
target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER
|
||||
install:
|
||||
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am
|
||||
@@ -121,6 +119,7 @@ jobs:
|
||||
- sudo free -m -t
|
||||
script:
|
||||
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
|
||||
after_failure: bash scripts/getLogs.sh
|
||||
|
||||
- <<: *enterprise_shared_UI_configuration
|
||||
name: "Enterprise Classification Level 2 UI Tests"
|
||||
@@ -164,4 +163,3 @@ jobs:
|
||||
script:
|
||||
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -DsuiteXmlFile=wormTestSuite.xml -Dskip.automationtests=false -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
|
||||
after_script: bash scripts/cleanup.sh
|
||||
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
|
Reference in New Issue
Block a user