updates to use Lombok library

This commit is contained in:
Rodica Sutu
2016-12-12 15:43:18 +02:00
parent f08e294d63
commit 5144e40b3c
12 changed files with 195 additions and 390 deletions

View File

@@ -37,77 +37,14 @@ public class FilePlanComponentContent
{ {
@JsonProperty (required = true) @JsonProperty (required = true)
private String encoding; private String encoding;
@JsonProperty (required = true) @JsonProperty (required = true)
private String mimeType; private String mimeType;
@JsonProperty (required = true) @JsonProperty (required = true)
private String mimeTypeName; private String mimeTypeName;
@JsonProperty (required = true) @JsonProperty (required = true)
private Integer sizeInBytes; private Integer sizeInBytes;
/**
* @return the encoding
*/
public String getEncoding()
{
return this.encoding;
}
/**
* @param encoding the encoding to set
*/
public void setEncoding(String encoding)
{
this.encoding = encoding;
}
/**
* @return the mimeType
*/
public String getMimeType()
{
return this.mimeType;
}
/**
* @param mimeType the mimeType to set
*/
public void setMimeType(String mimeType)
{
this.mimeType = mimeType;
}
/**
* @return the mimeTypeName
*/
public String getMimeTypeName()
{
return this.mimeTypeName;
}
/**
* @param mimeTypeName the mimeTypeName to set
*/
public void setMimeTypeName(String mimeTypeName)
{
this.mimeTypeName = mimeTypeName;
}
/**
* @return the sizeInBytes
*/
public Integer getSizeInBytes()
{
return this.sizeInBytes;
}
/**
* @param sizeInBytes the sizeInBytes to set
*/
public void setSizeInBytes(Integer sizeInBytes)
{
this.sizeInBytes = sizeInBytes;
}
} }

View File

@@ -30,6 +30,10 @@ import static org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanCo
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.alfresco.rest.core.RestModels; import org.alfresco.rest.core.RestModels;
/** /**
@@ -38,13 +42,13 @@ import org.alfresco.rest.core.RestModels;
* @author Tuna Aksoy * @author Tuna Aksoy
* @since 2.6 * @since 2.6
*/ */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FilePlanComponentEntry extends RestModels<FilePlanComponent, FilePlanComponentEntry> public class FilePlanComponentEntry extends RestModels<FilePlanComponent, FilePlanComponentEntry>
{ {
@JsonProperty(ENTRY) @JsonProperty(ENTRY)
FilePlanComponent filePlanComponent; FilePlanComponent filePlanComponent;
public FilePlanComponent getFilePlanComponent()
{
return filePlanComponent;
}
} }

View File

@@ -26,46 +26,24 @@
*/ */
package org.alfresco.rest.rm.community.model.fileplancomponents; package org.alfresco.rest.rm.community.model.fileplancomponents;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* POJO for id/name pair * POJO for id/name pair
* *
* @author Kristijan Conkas * @author Kristijan Conkas
* @since 2.6 * @since 2.6
*/ */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FilePlanComponentIdNamePair public class FilePlanComponentIdNamePair
{ {
public String id; public String id;
public String name; public String name;
/**
* @return the id
*/
public String getId()
{
return this.id;
}
/**
* @param id the id to set
*/
public void setId(String id)
{
this.id = id;
}
/**
* @return the name
*/
public String getName()
{
return this.name;
}
/**
* @param name the name to set
*/
public void setName(String name)
{
this.name = name;
}
} }

View File

@@ -30,12 +30,21 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* POJO for FilePlanComponent path parameter * POJO for FilePlanComponent path parameter
* <br> * <br>
* @author Kristijan Conkas * @author Kristijan Conkas
* @since 2.6 * @since 2.6
*/ */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class FilePlanComponentPath public class FilePlanComponentPath
{ {
@@ -43,51 +52,4 @@ public class FilePlanComponentPath
private Boolean isComplete; private Boolean isComplete;
private List<FilePlanComponentIdNamePair> elements; private List<FilePlanComponentIdNamePair> elements;
/**
* @return the name
*/
public String getName()
{
return this.name;
}
/**
* @param name the name to set
*/
public void setName(String name)
{
this.name = name;
}
/**
* @return the isComplete
*/
public Boolean isComplete()
{
return this.isComplete;
}
/**
* @param isComplete the isComplete to set
*/
public void setComplete(Boolean isComplete)
{
this.isComplete = isComplete;
}
/**
* @return the elements
*/
public List<FilePlanComponentIdNamePair> getElements()
{
return this.elements;
}
/**
* @param elements the elements to set
*/
public void setElements(List<FilePlanComponentIdNamePair> elements)
{
this.elements = elements;
}
} }

View File

@@ -90,7 +90,6 @@ public class FilePlanComponentProperties
@JsonProperty(PROPERTIES_LOCATION) @JsonProperty(PROPERTIES_LOCATION)
private String location; private String location;
@JsonProperty(value = PROPERTIES_IS_CLOSED, required = false) @JsonProperty(value = PROPERTIES_IS_CLOSED, required = false)
private Boolean isClosed; private Boolean isClosed;

View File

@@ -26,46 +26,24 @@
*/ */
package org.alfresco.rest.rm.community.model.fileplancomponents; package org.alfresco.rest.rm.community.model.fileplancomponents;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* POJO for file plan component created by object * POJO for file plan component created by object
* *
* @author Kristijan Conkas * @author Kristijan Conkas
* @since 2.6 * @since 2.6
*/ */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FilePlanComponentUserInfo public class FilePlanComponentUserInfo
{ {
private String id; private String id;
private String displayName; private String displayName;
/**
* @return the id
*/
public String getId()
{
return this.id;
}
/**
* @param id the id to set
*/
public void setId(String id)
{
this.id = id;
}
/**
* @return the displayName
*/
public String getDisplayName()
{
return this.displayName;
}
/**
* @param displayName the displayName to set
*/
public void setDisplayName(String displayName)
{
this.displayName = displayName;
}
} }

View File

@@ -26,66 +26,23 @@
*/ */
package org.alfresco.rest.rm.community.model.fileplancomponents; package org.alfresco.rest.rm.community.model.fileplancomponents;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* POJO for the review period * POJO for the review period
* *
* @author Rodica Sutu * @author Rodica Sutu
* @since 2.6 * @since 2.6
*/ */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ReviewPeriod public class ReviewPeriod
{ {
private String periodType; private String periodType;
private String expression; private String expression;
/**
* Helper constructor with
*
* @param periodType
* @param expression
*/
public ReviewPeriod(String periodType, String expression)
{
this.periodType = periodType;
this.expression = expression;
}
/**
* Helper constructor
*/
public ReviewPeriod()
{
}
/**
* @return the periodType
*/
public String getPeriodType()
{
return this.periodType;
}
/**
* @param periodType the periodType to set
*/
public void setPeriodType(String periodType)
{
this.periodType = periodType;
}
/**
* @return the expression
*/
public String getExpression()
{
return this.expression;
}
/**
* @param expression the expression to set
*/
public void setExpression(String expression)
{
this.expression = expression;
}
} }

View File

@@ -30,6 +30,10 @@ import static org.alfresco.rest.rm.community.model.site.RMSiteFields.COMPLIANCE;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.alfresco.rest.model.RestSiteModel; import org.alfresco.rest.model.RestSiteModel;
/** /**
@@ -38,59 +42,13 @@ import org.alfresco.rest.model.RestSiteModel;
* @author Rodica Sutu * @author Rodica Sutu
* @since 2.6 * @since 2.6
*/ */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RMSite extends RestSiteModel public class RMSite extends RestSiteModel
{ {
@JsonProperty (value = COMPLIANCE,required = true) @JsonProperty (value = COMPLIANCE,required = true)
private RMSiteCompliance compliance; private RMSiteCompliance compliance;
/**
* Helper constructor to create RM Site object using
*
* @param title
* @param description
* @param compliance
*/
public RMSite(String title, String description, RMSiteCompliance compliance)
{
this.title=title;
this.description=description;
this.compliance=compliance;
}
/**
* Helper constructor for creating the RM Site
*/
public RMSite() { }
/**
* Helper constructor to create RM Site object using
*
* @param compliance RM Site Compliance
*/
public RMSite(RMSiteCompliance compliance)
{
super();
this.compliance = compliance;
}
/**
* Helper method to set RM site compliance
*
* @param compliance {@link RMSiteCompliance} the compliance to set
*/
public void setCompliance(RMSiteCompliance compliance)
{
this.compliance = compliance;
}
/**
* Helper method to get RM site compliance
*
* @return compliance the RM Site compliance to get
*/
public RMSiteCompliance getCompliance()
{
return compliance;
}
} }

View File

@@ -113,7 +113,7 @@ public class BaseRestTest extends RestTest
{ createUnfiledRecordsFolder(UNFILED_RECORDS_CONTAINER_ALIAS.toString(), "Unfiled Folder " + getRandomAlphanumeric()) } { createUnfiledRecordsFolder(UNFILED_RECORDS_CONTAINER_ALIAS.toString(), "Unfiled Folder " + getRandomAlphanumeric()) }
}; };
} }
/** /**
* @see org.alfresco.rest.RestTest#checkServerHealth() * @see org.alfresco.rest.RestTest#checkServerHealth()
*/ */
@@ -141,7 +141,9 @@ public class BaseRestTest extends RestTest
rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
// Create the RM site // Create the RM site
RMSite rmSite = new RMSite(RM_TITLE, RM_DESCRIPTION, STANDARD); RMSite rmSite = RMSite.builder().compliance(STANDARD).build();
rmSite.setTitle(RM_TITLE);
rmSite.setDescription(RM_DESCRIPTION);
rmSiteAPI.createRMSite(rmSite); rmSiteAPI.createRMSite(rmSite);
// Verify the status code // Verify the status code
@@ -217,7 +219,7 @@ public class BaseRestTest extends RestTest
/** /**
* Helper method to close folder * Helper method to close folder
* @param folderToClose * @param folderId
* @return * @return
* @throws Exception * @throws Exception
*/ */

View File

@@ -41,7 +41,6 @@ import static org.testng.Assert.assertTrue;
import org.alfresco.rest.rm.community.base.BaseRestTest; import org.alfresco.rest.rm.community.base.BaseRestTest;
import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponent; import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponent;
import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentProperties;
import org.alfresco.rest.rm.community.requests.FilePlanComponentAPI; import org.alfresco.rest.rm.community.requests.FilePlanComponentAPI;
import org.alfresco.utility.data.DataUser; import org.alfresco.utility.data.DataUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -64,16 +63,16 @@ public class ElectronicRecordTests extends BaseRestTest
@Autowired @Autowired
private DataUser dataUser; private DataUser dataUser;
/** image resource file to be used for records body */ /** image resource file to be used for records body */
private static final String IMAGE_FILE = "money.JPG"; private static final String IMAGE_FILE = "money.JPG";
/** Valid root containers where electronic records can be created */ /** Valid root containers where electronic records can be created */
@DataProvider(name = "invalidParentContainers") @DataProvider(name = "invalidParentContainers")
public Object[][] invalidContainers() throws Exception { public Object[][] invalidContainers() throws Exception {
return new Object[][] { return new Object[][] {
// record category // record category
{ getFilePlanComponentAsUser(dataUser.getAdminUser(), { getFilePlanComponentAsUser(dataUser.getAdminUser(),
createCategoryFolderInFilePlan(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString()).getParentId()) }, createCategoryFolderInFilePlan(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString()).getParentId()) },
// file plan root // file plan root
{ getFilePlanComponentAsUser(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString()) }, { getFilePlanComponentAsUser(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString()) },
@@ -83,7 +82,7 @@ public class ElectronicRecordTests extends BaseRestTest
{ getFilePlanComponentAsUser(dataUser.getAdminUser(), HOLDS_ALIAS.toString()) }, { getFilePlanComponentAsUser(dataUser.getAdminUser(), HOLDS_ALIAS.toString()) },
}; };
} }
/** /**
* <pre> * <pre>
* Given a parent container that is NOT a record folder or an unfiled record folder * Given a parent container that is NOT a record folder or an unfiled record folder
@@ -103,10 +102,13 @@ public class ElectronicRecordTests extends BaseRestTest
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
FilePlanComponent record = new FilePlanComponent("Record " + getRandomAlphanumeric(), CONTENT_TYPE.toString(), // Build object the filePlan
new FilePlanComponentProperties()); FilePlanComponent record = FilePlanComponent.builder()
.name("Record " + getRandomAlphanumeric())
.nodeType(CONTENT_TYPE.toString())
.build();
filePlanComponentAPI.createElectronicRecord(record, IMAGE_FILE, container.getId()); filePlanComponentAPI.createElectronicRecord(record, IMAGE_FILE, container.getId());
// verify the create request status code // verify the create request status code
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY);
} }
@@ -114,7 +116,7 @@ public class ElectronicRecordTests extends BaseRestTest
/** /**
* <pre> * <pre>
* Given a parent container that is a record folder * Given a parent container that is a record folder
* And the record folder is closed * And the record folder is closed
* When I try to create an electronic record within the parent container * When I try to create an electronic record within the parent container
* Then nothing happens * Then nothing happens
* And an error is reported * And an error is reported
@@ -126,22 +128,24 @@ public class ElectronicRecordTests extends BaseRestTest
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
FilePlanComponent recordFolder = createCategoryFolderInFilePlan(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString()); FilePlanComponent recordFolder = createCategoryFolderInFilePlan(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString());
// the folder should be open // the folder should be open
assertFalse(recordFolder.getProperties().getIsClosed()); assertFalse(recordFolder.getProperties().getIsClosed());
// close the folder // close the folder
closeFolder(recordFolder.getId()); closeFolder(recordFolder.getId());
// try to create it, this should fail // try to create it, this should fail
FilePlanComponent record = new FilePlanComponent("Record " + getRandomAlphanumeric(), CONTENT_TYPE.toString(), FilePlanComponent record = FilePlanComponent.builder()
new FilePlanComponentProperties()); .name("Record " + getRandomAlphanumeric())
.nodeType(CONTENT_TYPE.toString())
.build();
filePlanComponentAPI.createElectronicRecord(record, IMAGE_FILE, recordFolder.getId()); filePlanComponentAPI.createElectronicRecord(record, IMAGE_FILE, recordFolder.getId());
// verify the status code // verify the status code
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY);
} }
/** /**
* <pre> * <pre>
* Given a parent container that is a record folder * Given a parent container that is a record folder
@@ -164,13 +168,13 @@ public class ElectronicRecordTests extends BaseRestTest
*/ */
@Test @Test
( (
dataProvider = "validRootContainers", dataProvider = "validRootContainers",
description = "Electronic record can only be created if all mandatory properties are given" description = "Electronic record can only be created if all mandatory properties are given"
) )
public void canCreateElectronicRecordOnlyWithMandatoryProperties(FilePlanComponent container) throws Exception public void canCreateElectronicRecordOnlyWithMandatoryProperties(FilePlanComponent container) throws Exception
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
logger.info("Root container:\n" + toJson(container)); logger.info("Root container:\n" + toJson(container));
if (container.getNodeType().equals(RECORD_FOLDER_TYPE.toString())) if (container.getNodeType().equals(RECORD_FOLDER_TYPE.toString()))
{ {
@@ -179,17 +183,17 @@ public class ElectronicRecordTests extends BaseRestTest
} }
// component without name // component without name
FilePlanComponent record = new FilePlanComponent(); FilePlanComponent record = FilePlanComponent.builder()
record.setNodeType(CONTENT_TYPE.toString()); .nodeType(CONTENT_TYPE.toString())
record.setProperties(new FilePlanComponentProperties()); .build();
// try to create it // try to create it
filePlanComponentAPI.createFilePlanComponent(record, container.getId()); filePlanComponentAPI.createFilePlanComponent(record, container.getId());
// verify the status code is BAD_REQUEST // verify the status code is BAD_REQUEST
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(BAD_REQUEST); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(BAD_REQUEST);
} }
/** /**
* <pre> * <pre>
* Given a parent container that is a record folder * Given a parent container that is a record folder
@@ -216,13 +220,15 @@ public class ElectronicRecordTests extends BaseRestTest
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
FilePlanComponent record = new FilePlanComponent("Record " + getRandomAlphanumeric(), CONTENT_TYPE.toString(), FilePlanComponent record = FilePlanComponent.builder()
new FilePlanComponentProperties()); .name("Record " + getRandomAlphanumeric())
.nodeType(CONTENT_TYPE.toString())
.build();
String newRecordId = filePlanComponentAPI.createElectronicRecord(record, IMAGE_FILE, container.getId()).getId(); String newRecordId = filePlanComponentAPI.createElectronicRecord(record, IMAGE_FILE, container.getId()).getId();
// verify the create request status code // verify the create request status code
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(CREATED); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(CREATED);
// get newly created electonic record and verify its properties // get newly created electonic record and verify its properties
FilePlanComponent electronicRecord = filePlanComponentAPI.getFilePlanComponent(newRecordId); FilePlanComponent electronicRecord = filePlanComponentAPI.getFilePlanComponent(newRecordId);
// record will have record identifier inserted in its name but will for sure start with file name // record will have record identifier inserted in its name but will for sure start with file name

View File

@@ -70,10 +70,10 @@ public class NonElectronicRecordTests extends BaseRestTest
@Autowired @Autowired
private DataUser dataUser; private DataUser dataUser;
@Autowired @Autowired
private RMSiteAPI rmSiteAPI; private RMSiteAPI rmSiteAPI;
/** /**
* <pre> * <pre>
* Given a parent container that is NOT a record folder or an unfiled record folder * Given a parent container that is NOT a record folder or an unfiled record folder
@@ -87,24 +87,25 @@ public class NonElectronicRecordTests extends BaseRestTest
public void cantCreateForInvalidParentIds() throws Exception public void cantCreateForInvalidParentIds() throws Exception
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
// non-electronic record object to be used for create tests // non-electronic record object to be used for create tests
FilePlanComponent nonElectronicRecord = new FilePlanComponent( FilePlanComponent nonElectronicRecord = FilePlanComponent.builder()
"Record " + getRandomAlphanumeric(), .name("Record " + getRandomAlphanumeric())
NON_ELECTRONIC_RECORD_TYPE.toString(), .nodeType(NON_ELECTRONIC_RECORD_TYPE.toString())
new FilePlanComponentProperties()); .build();
// create record category, non-electronic records can't be its children // create record category, non-electronic records can't be its children
FilePlanComponent recordCategory = filePlanComponentAPI.createFilePlanComponent( FilePlanComponent recordCategoryModel = FilePlanComponent.builder()
new FilePlanComponent("Category " + getRandomAlphanumeric(), .name("Category " + getRandomAlphanumeric())
RECORD_CATEGORY_TYPE.toString(), .nodeType(RECORD_CATEGORY_TYPE.toString())
new FilePlanComponentProperties()), .build();
FILE_PLAN_ALIAS.toString());
FilePlanComponent recordCategory = filePlanComponentAPI.createFilePlanComponent(recordCategoryModel, FILE_PLAN_ALIAS.toString());
// iterate through all invalid parent containers and try to create/file an electronic record // iterate through all invalid parent containers and try to create/file an electronic record
asList(FILE_PLAN_ALIAS.toString(), TRANSFERS_ALIAS.toString(), HOLDS_ALIAS.toString(), recordCategory.getId()) asList(FILE_PLAN_ALIAS.toString(), TRANSFERS_ALIAS.toString(), HOLDS_ALIAS.toString(), recordCategory.getId())
.stream() .stream()
.forEach(id -> .forEach(id ->
{ {
try try
{ {
@@ -118,7 +119,7 @@ public class NonElectronicRecordTests extends BaseRestTest
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY);
}); });
} }
/** /**
* <pre> * <pre>
* Given a parent container that is a record folder * Given a parent container that is a record folder
@@ -144,14 +145,14 @@ public class NonElectronicRecordTests extends BaseRestTest
public void canCreateInValidContainers(FilePlanComponent container) throws Exception public void canCreateInValidContainers(FilePlanComponent container) throws Exception
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
logger.info("Root container:\n" + toJson(container)); logger.info("Root container:\n" + toJson(container));
if (container.getNodeType().equals(RECORD_FOLDER_TYPE.toString())) if (container.getNodeType().equals(RECORD_FOLDER_TYPE.toString()))
{ {
// only record folders can be open or closed // only record folders can be open or closed
assertFalse(container.getProperties().getIsClosed()); assertFalse(container.getProperties().getIsClosed());
} }
// use these properties for non-electronic record to be created // use these properties for non-electronic record to be created
String title = "Title " + getRandomAlphanumeric(); String title = "Title " + getRandomAlphanumeric();
String description = "Description " + getRandomAlphanumeric(); String description = "Description " + getRandomAlphanumeric();
@@ -159,33 +160,38 @@ public class NonElectronicRecordTests extends BaseRestTest
String file = "File " + getRandomAlphanumeric(); String file = "File " + getRandomAlphanumeric();
String shelf = "Shelf " + getRandomAlphanumeric(); String shelf = "Shelf " + getRandomAlphanumeric();
String location = "Location " + getRandomAlphanumeric(); String location = "Location " + getRandomAlphanumeric();
Random random = new Random(); Random random = new Random();
Integer copies = random.nextInt(Integer.MAX_VALUE); Integer copies = random.nextInt(Integer.MAX_VALUE);
Integer size = random.nextInt(Integer.MAX_VALUE); Integer size = random.nextInt(Integer.MAX_VALUE);
// set values of all available properties // set values of all available properties for the non electronic records
FilePlanComponentProperties properties = new FilePlanComponentProperties(title, description); FilePlanComponent filePlanComponent = FilePlanComponent.builder()
properties.setBox(box); .name("Record " + getRandomAlphanumeric())
properties.setFile(file); .nodeType(NON_ELECTRONIC_RECORD_TYPE.toString())
properties.setShelf(shelf); .properties(FilePlanComponentProperties.builder()
properties.setLocation(location); .title(title)
properties.setNumberOfCopies(copies); .description(description)
properties.setPhysicalSize(size); .box(box)
.file(file)
.shelf(shelf)
.location(location)
.numberOfCopies(copies)
.physicalSize(size)
.build())
.build();
// create non-electronic record // create non-electronic record
String nonElectronicId = filePlanComponentAPI.createFilePlanComponent( String nonElectronicId = filePlanComponentAPI.createFilePlanComponent(
new FilePlanComponent("Record " + getRandomAlphanumeric(), filePlanComponent,
NON_ELECTRONIC_RECORD_TYPE.toString(),
properties),
container.getId()).getId(); container.getId()).getId();
// verify the create request status code // verify the create request status code
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(CREATED); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(CREATED);
// get newly created non-electonic record and verify its properties // get newly created non-electonic record and verify its properties
FilePlanComponent nonElectronicRecord = filePlanComponentAPI.getFilePlanComponent(nonElectronicId); FilePlanComponent nonElectronicRecord = filePlanComponentAPI.getFilePlanComponent(nonElectronicId);
assertEquals(title, nonElectronicRecord.getProperties().getTitle()); assertEquals(title, nonElectronicRecord.getProperties().getTitle());
assertEquals(description, nonElectronicRecord.getProperties().getDescription()); assertEquals(description, nonElectronicRecord.getProperties().getDescription());
assertEquals(box, nonElectronicRecord.getProperties().getBox()); assertEquals(box, nonElectronicRecord.getProperties().getBox());
@@ -195,11 +201,11 @@ public class NonElectronicRecordTests extends BaseRestTest
assertEquals(copies, nonElectronicRecord.getProperties().getNumberOfCopies()); assertEquals(copies, nonElectronicRecord.getProperties().getNumberOfCopies());
assertEquals(size, nonElectronicRecord.getProperties().getPhysicalSize()); assertEquals(size, nonElectronicRecord.getProperties().getPhysicalSize());
} }
/** /**
* <pre> * <pre>
* Given a parent container that is a record folder * Given a parent container that is a record folder
* And the record folder is closed * And the record folder is closed
* When I try to create a non-electronic record within the parent container * When I try to create a non-electronic record within the parent container
* Then nothing happens * Then nothing happens
* And an error is reported * And an error is reported
@@ -211,21 +217,22 @@ public class NonElectronicRecordTests extends BaseRestTest
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
FilePlanComponent recordFolder = createCategoryFolderInFilePlan(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString()); FilePlanComponent recordFolder = createCategoryFolderInFilePlan(dataUser.getAdminUser(), FILE_PLAN_ALIAS.toString());
// the folder should be open // the folder should be open
assertFalse(recordFolder.getProperties().getIsClosed()); assertFalse(recordFolder.getProperties().getIsClosed());
// close the folder // close the folder
closeFolder(recordFolder.getId()); closeFolder(recordFolder.getId());
// try to create it, this should fail and throw an exception // try to create it, this should fail and throw an exception
filePlanComponentAPI.createFilePlanComponent( filePlanComponentAPI.createFilePlanComponent(FilePlanComponent.builder()
new FilePlanComponent("Record " + getRandomAlphanumeric(), .name("Record " + getRandomAlphanumeric())
NON_ELECTRONIC_RECORD_TYPE.toString(), .nodeType(NON_ELECTRONIC_RECORD_TYPE.toString())
new FilePlanComponentProperties()), .build(),
recordFolder.getId()).getId(); recordFolder.getId())
.getId();
// verify the status code // verify the status code
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(UNPROCESSABLE_ENTITY);
} }
@@ -251,31 +258,32 @@ public class NonElectronicRecordTests extends BaseRestTest
*/ */
@Test @Test
( (
dataProvider = "validRootContainers", dataProvider = "validRootContainers",
description = "Non-electronic record can only be created if all mandatory properties are given" description = "Non-electronic record can only be created if all mandatory properties are given"
) )
public void allMandatoryPropertiesRequired(FilePlanComponent container) throws Exception public void allMandatoryPropertiesRequired(FilePlanComponent container) throws Exception
{ {
filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); filePlanComponentAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
logger.info("Root container:\n" + toJson(container)); logger.info("Root container:\n" + toJson(container));
if (container.getNodeType().equals(RECORD_FOLDER_TYPE.toString())) if (container.getNodeType().equals(RECORD_FOLDER_TYPE.toString()))
{ {
// only record folders can be open or closed // only record folders can be open or closed
assertFalse(container.getProperties().getIsClosed()); assertFalse(container.getProperties().getIsClosed());
} }
// component without name and title // component without name and title
FilePlanComponent noNameOrTitle = getDummyNonElectronicRecord(); FilePlanComponent noNameOrTitle = getDummyNonElectronicRecord();
// component with title only // component with title only
FilePlanComponent titleOnly = getDummyNonElectronicRecord(); FilePlanComponent titleOnly = getDummyNonElectronicRecord();
FilePlanComponentProperties properties = new FilePlanComponentProperties(); FilePlanComponentProperties properties = FilePlanComponentProperties.builder()
properties.setTitle("Title " + getRandomAlphanumeric()); .title("Title " + getRandomAlphanumeric())
.build();
titleOnly.setProperties(properties); titleOnly.setProperties(properties);
// try to create invalid components // try to create invalid components
asList(noNameOrTitle, titleOnly).stream().forEach(c -> asList(noNameOrTitle, titleOnly).stream().forEach(c ->
{ {
try try
{ {
@@ -284,21 +292,21 @@ public class NonElectronicRecordTests extends BaseRestTest
catch (Exception error) catch (Exception error)
{ {
} }
// this should fail and throw an exception // this should fail and throw an exception
try try
{ {
filePlanComponentAPI.createFilePlanComponent(c, container.getId()); filePlanComponentAPI.createFilePlanComponent(c, container.getId());
} }
catch (Exception e) catch (Exception e)
{ {
} }
// verify the status code is BAD_REQUEST // verify the status code is BAD_REQUEST
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(BAD_REQUEST); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(BAD_REQUEST);
}); });
} }
/** /**
* <pre> * <pre>
* Given that I am a user without RM privileges * Given that I am a user without RM privileges
@@ -310,7 +318,7 @@ public class NonElectronicRecordTests extends BaseRestTest
*/ */
@Test @Test
( (
dataProvider = "validRootContainers", dataProvider = "validRootContainers",
description = "Non-electronic record can't be created if user doesn't have RM privileges" description = "Non-electronic record can't be created if user doesn't have RM privileges"
) )
public void cantCreateIfNoRmPrivileges(FilePlanComponent container) throws Exception public void cantCreateIfNoRmPrivileges(FilePlanComponent container) throws Exception
@@ -319,16 +327,23 @@ public class NonElectronicRecordTests extends BaseRestTest
UserModel user = createUserWithRole(username, UserRole.SiteManager); UserModel user = createUserWithRole(username, UserRole.SiteManager);
filePlanComponentAPI.usingRestWrapper().authenticateUser(user); filePlanComponentAPI.usingRestWrapper().authenticateUser(user);
// try to create a fileplan component // try to create a fileplan component
FilePlanComponent record = new FilePlanComponent("Record Name", NON_ELECTRONIC_RECORD_TYPE.toString(), FilePlanComponent record=FilePlanComponent.builder()
new FilePlanComponentProperties("Name", "Title")); .properties(FilePlanComponentProperties.builder()
.description("Description")
.title("Title")
.build())
.name("Record Name")
.nodeType(NON_ELECTRONIC_RECORD_TYPE.toString())
.build();
// this should fail and throw an exception // this should fail and throw an exception
try try
{ {
filePlanComponentAPI.createFilePlanComponent(record, container.getId()); filePlanComponentAPI.createFilePlanComponent(record, container.getId());
} }
catch (Exception e) catch (Exception e)
{ {
} }
@@ -336,18 +351,19 @@ public class NonElectronicRecordTests extends BaseRestTest
// user who isn't an RM site member can't access the container path // user who isn't an RM site member can't access the container path
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(FORBIDDEN); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(FORBIDDEN);
} }
/** /**
* Helper function to return an empty FilePlanComponent for non-electronic record * Helper function to return an empty FilePlanComponent for non-electronic record
* @return * @return
*/ */
private FilePlanComponent getDummyNonElectronicRecord() private FilePlanComponent getDummyNonElectronicRecord()
{ {
FilePlanComponent component = new FilePlanComponent(); FilePlanComponent component=FilePlanComponent.builder()
component.setNodeType(NON_ELECTRONIC_RECORD_TYPE.toString()); .nodeType(NON_ELECTRONIC_RECORD_TYPE.toString())
.build();
return component; return component;
} }
/** /**
* Create user with given role and add it to RM site * Create user with given role and add it to RM site
* <br> * <br>
@@ -369,13 +385,13 @@ public class NonElectronicRecordTests extends BaseRestTest
UserModel user = new UserModel(); UserModel user = new UserModel();
user.setUsername(userName); user.setUsername(userName);
user.setPassword(userName); user.setPassword(userName);
if (!dataUser.isUserInRepo(userName)) if (!dataUser.isUserInRepo(userName))
{ {
// user doesn't exist, create it // user doesn't exist, create it
user = dataUser.createUser(userName, userName); user = dataUser.createUser(userName, userName);
user.setUserRole(userRole); user.setUserRole(userRole);
dataUser.addUserToSite(user, new SiteModel(siteId), userRole); dataUser.addUserToSite(user, new SiteModel(siteId), userRole);
} }

View File

@@ -95,7 +95,10 @@ public class RMSiteTests extends BaseRestTest
} }
// Create the RM site // Create the RM site
RMSite rmSite = new RMSite(RM_TITLE, RM_DESCRIPTION, STANDARD); RMSite rmSite =RMSite.builder().compliance(STANDARD).build();
rmSite.setTitle(RM_TITLE);
rmSite.setDescription(RM_DESCRIPTION);
RMSite rmSiteResponse = rmSiteAPI.createRMSite(rmSite); RMSite rmSiteResponse = rmSiteAPI.createRMSite(rmSite);
// Verify the status code // Verify the status code
@@ -132,7 +135,10 @@ public class RMSiteTests extends BaseRestTest
String newDescription = RM_DESCRIPTION + "createRMSiteWhenSiteExists"; String newDescription = RM_DESCRIPTION + "createRMSiteWhenSiteExists";
// Create the RM site // Create the RM site
RMSite rmSite = new RMSite(newTitle, newDescription, STANDARD); RMSite rmSite = RMSite.builder().compliance(STANDARD).build();
rmSite.setTitle(newTitle);
rmSite.setDescription(newDescription);
rmSiteAPI.createRMSite(rmSite); rmSiteAPI.createRMSite(rmSite);
// Verify the status code // Verify the status code
@@ -236,7 +242,9 @@ public class RMSiteTests extends BaseRestTest
rmSiteAPI.usingRestWrapper().authenticateUser(userModel); rmSiteAPI.usingRestWrapper().authenticateUser(userModel);
// Create the RM site // Create the RM site
RMSite rmSite = new RMSite(RM_TITLE, RM_DESCRIPTION, DOD5015); RMSite rmSite = RMSite.builder().compliance(DOD5015).build();
rmSite.setTitle(RM_TITLE);
rmSite.setDescription(RM_DESCRIPTION);
rmSite=rmSiteAPI.createRMSite(rmSite); rmSite=rmSiteAPI.createRMSite(rmSite);
// Verify the status code // Verify the status code
@@ -325,7 +333,7 @@ public class RMSiteTests extends BaseRestTest
createRMSiteIfNotExists(); createRMSiteIfNotExists();
// Build the RM site properties // Build the RM site properties
RMSite rmSiteToUpdate = new RMSite(DOD5015); RMSite rmSiteToUpdate = RMSite.builder().compliance(DOD5015).build();
// Update the RM site // Update the RM site
rmSiteAPI.updateRMSite(rmSiteToUpdate); rmSiteAPI.updateRMSite(rmSiteToUpdate);