TSK-1105 Make attributes in ClassificationResource private

TSK-1105 Converted tests to AssertJ
This commit is contained in:
Sofie Hofmann 2020-02-11 13:45:10 +01:00
parent f3f71a66b5
commit 38d5c8535c
5 changed files with 85 additions and 89 deletions

View File

@ -173,7 +173,7 @@ public class ClassificationController extends AbstractPagingController {
} }
ResponseEntity<ClassificationResource> result; ResponseEntity<ClassificationResource> result;
if (classificationId.equals(resource.classificationId)) { if (classificationId.equals(resource.getClassificationId())) {
Classification classification = classificationResourceAssembler.toModel(resource); Classification classification = classificationResourceAssembler.toModel(resource);
classification = classificationService.updateClassification(classification); classification = classificationService.updateClassification(classification);
result = ResponseEntity.ok(classificationResourceAssembler.toResource(classification)); result = ResponseEntity.ok(classificationResourceAssembler.toResource(classification));

View File

@ -38,6 +38,7 @@ import pro.taskana.rest.resource.ClassificationResource;
import pro.taskana.rest.resource.ClassificationResourceAssembler; import pro.taskana.rest.resource.ClassificationResourceAssembler;
/** Controller for Importing / Exporting classifications. */ /** Controller for Importing / Exporting classifications. */
@SuppressWarnings("unused")
@RestController @RestController
@EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL) @EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL)
public class ClassificationDefinitionController { public class ClassificationDefinitionController {
@ -104,30 +105,24 @@ public class ClassificationDefinitionController {
} }
private Map<String, String> getSystemIds() { private Map<String, String> getSystemIds() {
Map<String, String> systemIds = return classificationService.createClassificationQuery().list().stream()
classificationService.createClassificationQuery().list().stream() .collect(
.collect( Collectors.toMap(i -> i.getKey() + "|" + i.getDomain(), ClassificationSummary::getId));
Collectors.toMap(
i -> i.getKey() + "|" + i.getDomain(), ClassificationSummary::getId));
return systemIds;
} }
private List<ClassificationResource> extractClassificationResourcesFromFile(MultipartFile file) private List<ClassificationResource> extractClassificationResourcesFromFile(MultipartFile file)
throws IOException { throws IOException {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
List<ClassificationResource> classificationsDefinitions = return mapper.readValue(
mapper.readValue( file.getInputStream(), new TypeReference<List<ClassificationResource>>() {});
file.getInputStream(), new TypeReference<List<ClassificationResource>>() {});
return classificationsDefinitions;
} }
private void checkForDuplicates(List<ClassificationResource> classificationList) { private void checkForDuplicates(List<ClassificationResource> classificationList) {
List<String> identifiers = new ArrayList<>(); List<String> identifiers = new ArrayList<>();
Set<String> duplicates = new HashSet<>(); Set<String> duplicates = new HashSet<>();
for (ClassificationResource classification : classificationList) { for (ClassificationResource classification : classificationList) {
String identifier = classification.key + "|" + classification.domain; String identifier = classification.getKey() + "|" + classification.getDomain();
if (identifiers.contains(identifier)) { if (identifiers.contains(identifier)) {
duplicates.add(identifier); duplicates.add(identifier);
} else { } else {
@ -149,8 +144,8 @@ public class ClassificationDefinitionController {
cl -> newKeysWithDomain.add(cl.getKey() + "|" + cl.getDomain())); cl -> newKeysWithDomain.add(cl.getKey() + "|" + cl.getDomain()));
for (ClassificationResource cl : classificationResources) { for (ClassificationResource cl : classificationResources) {
cl.parentId = cl.parentId == null ? "" : cl.parentId; cl.setParentId(cl.getParentId() == null ? "" : cl.getParentId());
cl.parentKey = cl.parentKey == null ? "" : cl.parentKey; cl.setParentKey(cl.getParentKey() == null ? "" : cl.getParentKey());
if (!cl.getParentId().equals("") && cl.getParentKey().equals("")) { if (!cl.getParentId().equals("") && cl.getParentKey().equals("")) {
for (ClassificationResource parent : classificationResources) { for (ClassificationResource parent : classificationResources) {
@ -160,7 +155,7 @@ public class ClassificationDefinitionController {
} }
} }
String parentKeyAndDomain = cl.parentKey + "|" + cl.domain; String parentKeyAndDomain = cl.getParentKey() + "|" + cl.getDomain();
if (!cl.getParentKey().isEmpty() && !cl.getParentKey().equals("")) { if (!cl.getParentKey().isEmpty() && !cl.getParentKey().equals("")) {
if (newKeysWithDomain.contains(parentKeyAndDomain) if (newKeysWithDomain.contains(parentKeyAndDomain)
|| systemIds.containsKey(parentKeyAndDomain)) { || systemIds.containsKey(parentKeyAndDomain)) {
@ -189,7 +184,7 @@ public class ClassificationDefinitionController {
classificationResource.setClassificationId(null); classificationResource.setClassificationId(null);
String systemId = String systemId =
systemIds.get(classificationResource.key + "|" + classificationResource.domain); systemIds.get(classificationResource.getKey() + "|" + classificationResource.getDomain());
if (systemId != null) { if (systemId != null) {
updateExistingClassification(classificationResource, systemId); updateExistingClassification(classificationResource, systemId);
} else { } else {
@ -234,23 +229,23 @@ public class ClassificationDefinitionController {
if (cl.getType() != null && !cl.getType().equals(currentClassification.getType())) { if (cl.getType() != null && !cl.getType().equals(currentClassification.getType())) {
throw new InvalidArgumentException("Can not change the type of a classification."); throw new InvalidArgumentException("Can not change the type of a classification.");
} }
currentClassification.setCategory(cl.category); currentClassification.setCategory(cl.getCategory());
currentClassification.setIsValidInDomain(cl.isValidInDomain); currentClassification.setIsValidInDomain(cl.getIsValidInDomain());
currentClassification.setName(cl.name); currentClassification.setName(cl.getName());
currentClassification.setParentId(cl.parentId); currentClassification.setParentId(cl.getParentId());
currentClassification.setParentKey(cl.parentKey); currentClassification.setParentKey(cl.getParentKey());
currentClassification.setDescription(cl.description); currentClassification.setDescription(cl.getDescription());
currentClassification.setPriority(cl.priority); currentClassification.setPriority(cl.getPriority());
currentClassification.setServiceLevel(cl.serviceLevel); currentClassification.setServiceLevel(cl.getServiceLevel());
currentClassification.setApplicationEntryPoint(cl.applicationEntryPoint); currentClassification.setApplicationEntryPoint(cl.getApplicationEntryPoint());
currentClassification.setCustom1(cl.custom1); currentClassification.setCustom1(cl.getCustom1());
currentClassification.setCustom2(cl.custom2); currentClassification.setCustom2(cl.getCustom2());
currentClassification.setCustom3(cl.custom3); currentClassification.setCustom3(cl.getCustom3());
currentClassification.setCustom4(cl.custom4); currentClassification.setCustom4(cl.getCustom4());
currentClassification.setCustom5(cl.custom5); currentClassification.setCustom5(cl.getCustom5());
currentClassification.setCustom6(cl.custom6); currentClassification.setCustom6(cl.getCustom6());
currentClassification.setCustom7(cl.custom7); currentClassification.setCustom7(cl.getCustom7());
currentClassification.setCustom8(cl.custom8); currentClassification.setCustom8(cl.getCustom8());
classificationService.updateClassification(currentClassification); classificationService.updateClassification(currentClassification);
LOGGER.debug("Exit from updateExistingClassification()"); LOGGER.debug("Exit from updateExistingClassification()");
} }

View File

@ -8,29 +8,29 @@ import pro.taskana.classification.api.Classification;
/** Resource class for {@link Classification}. */ /** Resource class for {@link Classification}. */
public class ClassificationResource extends ResourceSupport { public class ClassificationResource extends ResourceSupport {
@NotNull public String classificationId; @NotNull private String classificationId;
@NotNull public String key; @NotNull private String key;
public String parentId; private String parentId;
public String parentKey; private String parentKey;
public String category; private String category;
public String type; private String type;
public String domain; private String domain;
public Boolean isValidInDomain; private Boolean isValidInDomain;
public String created; // ISO-8601 private String created; // ISO-8601
public String modified; // ISO-8601 private String modified; // ISO-8601
public String name; private String name;
public String description; private String description;
public int priority; private int priority;
public String serviceLevel; // PddDThhHmmM private String serviceLevel; // PddDThhHmmM
public String applicationEntryPoint; private String applicationEntryPoint;
public String custom1; private String custom1;
public String custom2; private String custom2;
public String custom3; private String custom3;
public String custom4; private String custom4;
public String custom5; private String custom5;
public String custom6; private String custom6;
public String custom7; private String custom7;
public String custom8; private String custom8;
public ClassificationResource() {} public ClassificationResource() {}

View File

@ -55,9 +55,9 @@ public class ClassificationResourceAssembler
ClassificationImpl classification = ClassificationImpl classification =
(ClassificationImpl) (ClassificationImpl)
classificationService.newClassification( classificationService.newClassification(
classificationResource.domain, classificationResource.getDomain(),
classificationResource.key, classificationResource.getKey(),
classificationResource.type); classificationResource.getType());
BeanUtils.copyProperties(classificationResource, classification); BeanUtils.copyProperties(classificationResource, classification);
classification.setId(classificationResource.getClassificationId()); classification.setId(classificationResource.getClassificationId());

View File

@ -1,7 +1,8 @@
package pro.taskana.rest.resource; package pro.taskana.rest.resource;
import static org.assertj.core.api.Assertions.assertThat;
import java.time.Instant; import java.time.Instant;
import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -15,9 +16,9 @@ import pro.taskana.rest.Mapping;
@TaskanaSpringBootTest @TaskanaSpringBootTest
class ClassificationAssemblerTest { class ClassificationAssemblerTest {
@Autowired private ClassificationResourceAssembler classificationResourceAssembler; @Autowired ClassificationResourceAssembler classificationResourceAssembler;
@Autowired private ClassificationService classificationService; @Autowired ClassificationService classificationService;
@Test @Test
void classificationToResource() { void classificationToResource() {
@ -90,35 +91,35 @@ class ClassificationAssemblerTest {
} }
private void testLinks(ClassificationResource resource) { private void testLinks(ClassificationResource resource) {
Assert.assertEquals(1, resource.getLinks().size()); assertThat(resource.getLinks()).hasSize(1);
Assert.assertEquals( assertThat(Mapping.URL_CLASSIFICATIONS_ID.replaceAll("\\{.*}", resource.getClassificationId()))
Mapping.URL_CLASSIFICATIONS_ID.replaceAll("\\{.*}", resource.getClassificationId()), .isEqualTo(resource.getLink("self").getHref());
resource.getLink("self").getHref());
} }
private void testEquality( private void testEquality(
Classification classification, ClassificationResource classificationResource) { Classification classification, ClassificationResource classificationResource) {
Assert.assertEquals( assertThat(classification.getApplicationEntryPoint())
classification.getApplicationEntryPoint(), classificationResource.applicationEntryPoint); .isEqualTo(classificationResource.getApplicationEntryPoint());
Assert.assertEquals(classification.getKey(), classificationResource.key); assertThat(classification.getKey()).isEqualTo(classificationResource.getKey());
Assert.assertEquals(classification.getDomain(), classificationResource.domain); assertThat(classification.getDomain()).isEqualTo(classificationResource.getDomain());
Assert.assertEquals(classification.getId(), classificationResource.classificationId); assertThat(classification.getId()).isEqualTo(classificationResource.getClassificationId());
Assert.assertEquals(classification.getDescription(), classificationResource.description); assertThat(classification.getDescription()).isEqualTo(classificationResource.getDescription());
Assert.assertEquals(classification.getName(), classificationResource.name); assertThat(classification.getName()).isEqualTo(classificationResource.getName());
Assert.assertEquals(classification.getServiceLevel(), classificationResource.serviceLevel); assertThat(classification.getServiceLevel())
Assert.assertEquals(classification.getCategory(), classificationResource.category); .isEqualTo(classificationResource.getServiceLevel());
Assert.assertEquals(classification.getCustom1(), classificationResource.custom1); assertThat(classification.getCategory()).isEqualTo(classificationResource.getCategory());
Assert.assertEquals(classification.getCustom2(), classificationResource.custom2); assertThat(classification.getCustom1()).isEqualTo(classificationResource.getCustom1());
Assert.assertEquals(classification.getCustom3(), classificationResource.custom3); assertThat(classification.getCustom2()).isEqualTo(classificationResource.getCustom2());
Assert.assertEquals(classification.getCustom4(), classificationResource.custom4); assertThat(classification.getCustom3()).isEqualTo(classificationResource.getCustom3());
Assert.assertEquals(classification.getCustom5(), classificationResource.custom5); assertThat(classification.getCustom4()).isEqualTo(classificationResource.getCustom4());
Assert.assertEquals(classification.getCustom6(), classificationResource.custom6); assertThat(classification.getCustom5()).isEqualTo(classificationResource.getCustom5());
Assert.assertEquals(classification.getCustom7(), classificationResource.custom7); assertThat(classification.getCustom6()).isEqualTo(classificationResource.getCustom6());
Assert.assertEquals(classification.getCustom8(), classificationResource.custom8); assertThat(classification.getCustom7()).isEqualTo(classificationResource.getCustom7());
Assert.assertEquals(classification.getParentId(), classificationResource.parentId); assertThat(classification.getCustom8()).isEqualTo(classificationResource.getCustom8());
Assert.assertEquals(classification.getType(), classificationResource.type); assertThat(classification.getParentId()).isEqualTo(classificationResource.getParentId());
Assert.assertEquals(classification.getPriority(), classificationResource.priority); assertThat(classification.getType()).isEqualTo(classificationResource.getType());
Assert.assertEquals( assertThat(classification.getPriority()).isEqualTo(classificationResource.getPriority());
classification.getIsValidInDomain(), classificationResource.isValidInDomain); assertThat(classification.getIsValidInDomain())
.isEqualTo(classificationResource.getIsValidInDomain());
} }
} }