TSK-1108 Made attributes in WorkbasketAccessItemResource private and converted tests to AssertJ

TSK-1108
This commit is contained in:
Sofie Hofmann 2020-02-12 12:58:06 +01:00
parent 507a37ba70
commit 71761c1328
4 changed files with 79 additions and 83 deletions

View File

@ -10,33 +10,33 @@ import pro.taskana.workbasket.api.WorkbasketAccessItem;
@Relation(collectionRelation = "accessItems") @Relation(collectionRelation = "accessItems")
public class WorkbasketAccessItemResource extends ResourceSupport { public class WorkbasketAccessItemResource extends ResourceSupport {
public String accessItemId; private String accessItemId;
@NotNull public String workbasketId; @NotNull private String workbasketId;
@NotNull public String workbasketKey; @NotNull private String workbasketKey;
@NotNull public String accessId; @NotNull private String accessId;
public String accessName; private String accessName;
public boolean permRead; private boolean permRead;
public boolean permOpen; private boolean permOpen;
public boolean permAppend; private boolean permAppend;
public boolean permTransfer; private boolean permTransfer;
public boolean permDistribute; private boolean permDistribute;
public boolean permCustom1; private boolean permCustom1;
public boolean permCustom2; private boolean permCustom2;
public boolean permCustom3; private boolean permCustom3;
public boolean permCustom4; private boolean permCustom4;
public boolean permCustom5; private boolean permCustom5;
public boolean permCustom6; private boolean permCustom6;
public boolean permCustom7; private boolean permCustom7;
public boolean permCustom8; private boolean permCustom8;
public boolean permCustom9; private boolean permCustom9;
public boolean permCustom10; private boolean permCustom10;
public boolean permCustom11; private boolean permCustom11;
public boolean permCustom12; private boolean permCustom12;
public WorkbasketAccessItemResource() {} public WorkbasketAccessItemResource() {}

View File

@ -41,10 +41,9 @@ public class WorkbasketAccessItemResourceAssembler
WorkbasketAccessItemImpl wbAccItemModel = WorkbasketAccessItemImpl wbAccItemModel =
(WorkbasketAccessItemImpl) (WorkbasketAccessItemImpl)
workbasketService.newWorkbasketAccessItem( workbasketService.newWorkbasketAccessItem(
wbAccItemResource.workbasketId, wbAccItemResource.accessId); wbAccItemResource.getWorkbasketId(), wbAccItemResource.getAccessId());
BeanUtils.copyProperties(wbAccItemResource, wbAccItemModel); BeanUtils.copyProperties(wbAccItemResource, wbAccItemModel);
wbAccItemModel.setId(wbAccItemResource.getAccessItemId());
wbAccItemModel.setId(wbAccItemResource.accessItemId);
return wbAccItemModel; return wbAccItemModel;
} }

View File

@ -1,12 +1,9 @@
package pro.taskana.rest; package pro.taskana.rest;
import static org.junit.Assert.assertEquals; import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertNotNull; import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertNull; import static org.assertj.core.api.Assertions.fail;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -45,7 +42,7 @@ class WorkbasketAccessItemControllerIntTest {
HttpMethod.GET, HttpMethod.GET,
restHelper.defaultRequest(), restHelper.defaultRequest(),
ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class)); ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class));
assertNotNull(response.getBody().getLink(Link.REL_SELF)); assertThat(response.getBody().getLink(Link.REL_SELF)).isNotNull();
} }
@Test @Test
@ -57,8 +54,8 @@ class WorkbasketAccessItemControllerIntTest {
HttpMethod.GET, HttpMethod.GET,
restHelper.defaultRequest(), restHelper.defaultRequest(),
ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class)); ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class));
assertNotNull(response.getBody().getLink(Link.REL_SELF)); assertThat(response.getBody().getLink(Link.REL_SELF)).isNotNull();
assertTrue(response.getBody().getLink(Link.REL_SELF).getHref().endsWith(parameters)); assertThat(response.getBody().getLink(Link.REL_SELF).getHref().endsWith(parameters)).isTrue();
} }
@Test @Test
@ -70,10 +67,10 @@ class WorkbasketAccessItemControllerIntTest {
HttpMethod.GET, HttpMethod.GET,
restHelper.defaultRequest(), restHelper.defaultRequest(),
ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class)); ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class));
fail(); fail("Invalid filter is used");
} catch (HttpClientErrorException e) { } catch (HttpClientErrorException e) {
assertEquals(HttpStatus.BAD_REQUEST, e.getStatusCode()); assertThat(e.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST);
assertTrue(e.getResponseBodyAsString().contains("[invalid]")); assertThat(e.getResponseBodyAsString().contains("[invalid]")).isTrue();
} }
} }
@ -86,16 +83,17 @@ class WorkbasketAccessItemControllerIntTest {
HttpMethod.GET, HttpMethod.GET,
restHelper.defaultRequest(), restHelper.defaultRequest(),
ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class)); ParameterizedTypeReference.forType(WorkbasketAccessItemListResource.class));
assertEquals(1, response.getBody().getContent().size()); assertThat(response.getBody().getContent()).hasSize(1);
assertEquals("user_1_1", response.getBody().getContent().iterator().next().accessId); assertThat(response.getBody().getContent().iterator().next().getAccessId())
assertNotNull(response.getBody().getLink(Link.REL_SELF)); .isEqualTo("user_1_1");
assertTrue(response.getBody().getLink(Link.REL_SELF).getHref().endsWith(parameters)); assertThat(response.getBody().getLink(Link.REL_SELF)).isNotNull();
assertNotNull(response.getBody().getLink(Link.REL_FIRST)); assertThat(response.getBody().getLink(Link.REL_SELF).getHref().endsWith(parameters)).isTrue();
assertNotNull(response.getBody().getLink(Link.REL_LAST)); assertThat(response.getBody().getLink(Link.REL_FIRST)).isNotNull();
assertEquals(9, response.getBody().getMetadata().getSize()); assertThat(response.getBody().getLink(Link.REL_LAST)).isNotNull();
assertEquals(1, response.getBody().getMetadata().getTotalElements()); assertThat(response.getBody().getMetadata().getSize()).isEqualTo(9);
assertEquals(1, response.getBody().getMetadata().getTotalPages()); assertThat(response.getBody().getMetadata().getTotalElements()).isEqualTo(1);
assertEquals(1, response.getBody().getMetadata().getNumber()); assertThat(response.getBody().getMetadata().getTotalPages()).isEqualTo(1);
assertThat(response.getBody().getMetadata().getNumber()).isEqualTo(1);
} }
@Test @Test
@ -108,24 +106,22 @@ class WorkbasketAccessItemControllerIntTest {
HttpMethod.DELETE, HttpMethod.DELETE,
restHelper.defaultRequest(), restHelper.defaultRequest(),
ParameterizedTypeReference.forType(Void.class)); ParameterizedTypeReference.forType(Void.class));
assertNull(response.getBody()); assertThat(response.getBody()).isNull();
assertEquals(HttpStatus.NO_CONTENT, response.getStatusCode()); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT);
} }
@Test @Test
void testGetBadRequestIfTryingToDeleteAccessItemsForGroup() { void testGetBadRequestIfTryingToDeleteAccessItemsForGroup() {
String parameters = "?access-id=cn=DevelopersGroup,ou=groups,o=TaskanaTest"; String parameters = "?access-id=cn=DevelopersGroup,ou=groups,o=TaskanaTest";
assertThatThrownBy(
HttpClientErrorException e = () ->
Assertions.assertThrows( template.exchange(
HttpClientErrorException.class, restHelper.toUrl(Mapping.URL_WORKBASKETACCESSITEMS) + parameters,
() -> HttpMethod.DELETE,
template.exchange( restHelper.defaultRequest(),
restHelper.toUrl(Mapping.URL_WORKBASKETACCESSITEMS) + parameters, ParameterizedTypeReference.forType(Void.class)))
HttpMethod.DELETE, .isInstanceOf(HttpClientErrorException.class)
restHelper.defaultRequest(), .extracting(ex -> ((HttpClientErrorException) ex).getStatusCode())
ParameterizedTypeReference.forType(Void.class))); .isEqualTo(HttpStatus.BAD_REQUEST);
assertEquals(HttpStatus.BAD_REQUEST, e.getStatusCode());
} }
} }

View File

@ -1,6 +1,7 @@
package pro.taskana.rest.resource; package pro.taskana.rest.resource;
import org.junit.Assert; import static org.assertj.core.api.Assertions.assertThat;
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;
@ -79,26 +80,26 @@ class WorkbasketAccessItemResourceAssemblerTest {
private void testEquality( private void testEquality(
WorkbasketAccessItem accessItem, WorkbasketAccessItemResource resource) { WorkbasketAccessItem accessItem, WorkbasketAccessItemResource resource) {
Assert.assertEquals(accessItem.getAccessId(), resource.accessId); assertThat(resource.getAccessId()).isEqualTo(accessItem.getAccessId());
Assert.assertEquals(accessItem.getWorkbasketKey(), resource.workbasketKey); assertThat(resource.getWorkbasketKey()).isEqualTo(accessItem.getWorkbasketKey());
Assert.assertEquals(accessItem.getId(), resource.accessItemId); assertThat(resource.getAccessItemId()).isEqualTo(accessItem.getId());
Assert.assertEquals(accessItem.getWorkbasketId(), resource.workbasketId); assertThat(resource.getWorkbasketId()).isEqualTo(accessItem.getWorkbasketId());
Assert.assertEquals(accessItem.isPermAppend(), resource.permAppend); assertThat(resource.isPermAppend()).isEqualTo(accessItem.isPermAppend());
Assert.assertEquals(accessItem.isPermCustom1(), resource.permCustom1); assertThat(resource.isPermCustom1()).isEqualTo(accessItem.isPermCustom1());
Assert.assertEquals(accessItem.isPermCustom2(), resource.permCustom2); assertThat(resource.isPermCustom2()).isEqualTo(accessItem.isPermCustom2());
Assert.assertEquals(accessItem.isPermCustom3(), resource.permCustom3); assertThat(resource.isPermCustom3()).isEqualTo(accessItem.isPermCustom3());
Assert.assertEquals(accessItem.isPermCustom4(), resource.permCustom4); assertThat(resource.isPermCustom4()).isEqualTo(accessItem.isPermCustom4());
Assert.assertEquals(accessItem.isPermCustom5(), resource.permCustom5); assertThat(resource.isPermCustom5()).isEqualTo(accessItem.isPermCustom5());
Assert.assertEquals(accessItem.isPermCustom6(), resource.permCustom6); assertThat(resource.isPermCustom6()).isEqualTo(accessItem.isPermCustom6());
Assert.assertEquals(accessItem.isPermCustom7(), resource.permCustom7); assertThat(resource.isPermCustom7()).isEqualTo(accessItem.isPermCustom7());
Assert.assertEquals(accessItem.isPermCustom8(), resource.permCustom8); assertThat(resource.isPermCustom8()).isEqualTo(accessItem.isPermCustom8());
Assert.assertEquals(accessItem.isPermCustom9(), resource.permCustom9); assertThat(resource.isPermCustom9()).isEqualTo(accessItem.isPermCustom9());
Assert.assertEquals(accessItem.isPermCustom10(), resource.permCustom10); assertThat(resource.isPermCustom10()).isEqualTo(accessItem.isPermCustom10());
Assert.assertEquals(accessItem.isPermCustom11(), resource.permCustom11); assertThat(resource.isPermCustom11()).isEqualTo(accessItem.isPermCustom11());
Assert.assertEquals(accessItem.isPermCustom12(), resource.permCustom12); assertThat(resource.isPermCustom12()).isEqualTo(accessItem.isPermCustom12());
Assert.assertEquals(accessItem.isPermDistribute(), resource.permDistribute); assertThat(resource.isPermDistribute()).isEqualTo(accessItem.isPermDistribute());
Assert.assertEquals(accessItem.isPermRead(), resource.permRead); assertThat(resource.isPermRead()).isEqualTo(accessItem.isPermRead());
Assert.assertEquals(accessItem.isPermOpen(), resource.permOpen); assertThat(resource.isPermOpen()).isEqualTo(accessItem.isPermOpen());
Assert.assertEquals(accessItem.isPermTransfer(), resource.permTransfer); assertThat(resource.isPermTransfer()).isEqualTo(accessItem.isPermTransfer());
} }
} }