diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareDocumentAsRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareDocumentAsRecordTests.java
index f59ed50108..077703bca5 100644
--- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareDocumentAsRecordTests.java
+++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareDocumentAsRecordTests.java
@@ -28,6 +28,7 @@ package org.alfresco.rest.rm.community.files;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentAlias.UNFILED_RECORDS_CONTAINER_ALIAS;
import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentType.NON_ELECTRONIC_RECORD_TYPE;
+import static org.alfresco.utility.report.log.Step.STEP;
import static org.springframework.http.HttpStatus.CREATED;
import static org.springframework.http.HttpStatus.FORBIDDEN;
import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY;
@@ -45,6 +46,7 @@ import org.alfresco.rest.rm.community.model.record.Record;
import org.alfresco.rest.rm.community.model.record.RecordProperties;
import org.alfresco.rest.rm.community.model.unfiledcontainer.UnfiledContainerChildEntry;
import org.alfresco.rest.rm.community.requests.gscore.api.UnfiledContainerAPI;
+import org.alfresco.rest.v0.RecordsAPI;
import org.alfresco.test.AlfrescoTest;
import org.alfresco.utility.constants.UserRole;
import org.alfresco.utility.model.FileModel;
@@ -54,6 +56,7 @@ import org.alfresco.utility.model.UserModel;
import org.apache.chemistry.opencmis.client.api.Document;
import org.apache.chemistry.opencmis.client.api.SecondaryType;
import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -69,6 +72,9 @@ public class DeclareDocumentAsRecordTests extends BaseRMRestTest
private SiteModel testSite;
private FolderModel testFolder;
+ @Autowired
+ RecordsAPI recordsAPI;
+
@BeforeClass(alwaysRun=true)
public void declareDocumentAsRecordSetup() throws Exception
{
@@ -239,6 +245,27 @@ public class DeclareDocumentAsRecordTests extends BaseRMRestTest
assertStatusCode(UNPROCESSABLE_ENTITY);
}
+ /**
+ * Given a file that has version declared as record
+ * When the file is declared as record
+ * Then the action is successful
+ */
+ @Test (description = "Declaring as record a file that already has its version declared as record is successful")
+ @AlfrescoTest (jira = "RM-6786")
+ public void declareAsRecordAFileWithARecordVersion() throws Exception
+ {
+ STEP("Create a file.");
+ FileModel testFile = dataContent.usingSite(testSite).createContent(CMISUtil.DocumentType.TEXT_PLAIN);
+
+ STEP("Declare file version as record and check that record is successfully created.");
+ recordsAPI.declareDocumentVersionAsRecord(getAdminUser().getUsername(), getAdminUser().getPassword(), testSite.getId(),
+ testFile.getName());
+
+ STEP("Declare file as record and check that record is successfully created.");
+ getRestAPIFactory().getFilesAPI().declareAsRecord(testFile.getNodeRefWithoutVersion());
+ assertStatusCode(CREATED);
+ }
+
// @Test(description = "Create 500 documents and declare them ass records concurently.")
// public void declare500DocumentsAsRecordsConcurrently() throws Exception
// {
diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/records/DeclareRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/records/DeclareRecordTests.java
deleted file mode 100644
index 245d905969..0000000000
--- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/records/DeclareRecordTests.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * #%L
- * Alfresco Records Management Module
- * %%
- * Copyright (C) 2005 - 2019 Alfresco Software Limited
- * %%
- * This file is part of the Alfresco software.
- * -
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
- * provided under the following open source license terms:
- * -
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * -
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- * -
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see
- * Given a file that has version declared as record - * When the file is declared as record - * Then the action is successful - *- */ - @Test (description = "Declaring as record a file that has a version declared as record is successful") - @AlfrescoTest (jira = "RM-6786") - public void declareAsRecordAFileWithARecordVersion() throws Exception - { - STEP("Create a file."); - testSite = dataSite.usingAdmin().createPublicRandomSite(); - FileModel testFile = dataContent.usingSite(testSite).createContent(CMISUtil.DocumentType.TEXT_PLAIN); - - STEP("Declare file version as record and check that record is successfully created."); - recordsAPI.declareDocumentVersionAsRecord(getAdminUser().getUsername(), getAdminUser().getPassword(), testSite.getId(), - testFile.getName()); - - STEP("Declare file as record and check that record is successfully created."); - recordsAPI.declareDocumentAsRecord(getAdminUser().getUsername(), getAdminUser().getPassword(), testSite.getId(), - testFile.getName()); - } - - @AfterClass - public void cleanUp() - { - STEP("Clean up."); - dataSite.deleteSite(testSite); - } -}