TSK-1414: Fixed most of the new SonaCloud Code Smells since 4.0.2-SNAPSHOT
This commit is contained in:
parent
f113410ef4
commit
5dd1de4d58
|
@ -35,7 +35,7 @@ class JaasExtensionTest {
|
||||||
dynamicTest("dynamic test", () -> assertThat(CURRENT_USER_CONTEXT.getUserid()).isNotNull());
|
dynamicTest("dynamic test", () -> assertThat(CURRENT_USER_CONTEXT.getUserid()).isNotNull());
|
||||||
private static final DynamicTest NULL_DYNAMIC_TEST =
|
private static final DynamicTest NULL_DYNAMIC_TEST =
|
||||||
dynamicTest(
|
dynamicTest(
|
||||||
"dynamic test", () -> assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null));
|
"dynamic test", () -> assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull());
|
||||||
private static final DynamicTest DYNAMIC_TEST_USER_DYNAMIC_TEST =
|
private static final DynamicTest DYNAMIC_TEST_USER_DYNAMIC_TEST =
|
||||||
dynamicTest(
|
dynamicTest(
|
||||||
"dynamic test",
|
"dynamic test",
|
||||||
|
@ -45,7 +45,7 @@ class JaasExtensionTest {
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void should_NotSetJaasSubject_When_AnnotationIsMissing_On_BeforeAll() {
|
static void should_NotSetJaasSubject_When_AnnotationIsMissing_On_BeforeAll() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "beforeall")
|
@WithAccessId(user = "beforeall")
|
||||||
|
@ -58,7 +58,7 @@ class JaasExtensionTest {
|
||||||
@WithAccessId(user = "beforeall2")
|
@WithAccessId(user = "beforeall2")
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
static void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_BeforeAll() {
|
static void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_BeforeAll() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
@ -67,7 +67,7 @@ class JaasExtensionTest {
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void should_NotSetJaasSubject_When_AnnotationIsMissing_On_BeforeEach() {
|
void should_NotSetJaasSubject_When_AnnotationIsMissing_On_BeforeEach() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "beforeeach")
|
@WithAccessId(user = "beforeeach")
|
||||||
|
@ -80,7 +80,7 @@ class JaasExtensionTest {
|
||||||
@WithAccessId(user = "beforeeach2")
|
@WithAccessId(user = "beforeeach2")
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_BeforeEach() {
|
void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_BeforeEach() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
@ -89,7 +89,7 @@ class JaasExtensionTest {
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
void should_NotSetJaasSubject_When_AnnotationIsMissing_On_AfterEach() {
|
void should_NotSetJaasSubject_When_AnnotationIsMissing_On_AfterEach() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "aftereach")
|
@WithAccessId(user = "aftereach")
|
||||||
|
@ -102,7 +102,7 @@ class JaasExtensionTest {
|
||||||
@WithAccessId(user = "afterach2")
|
@WithAccessId(user = "afterach2")
|
||||||
@AfterEach
|
@AfterEach
|
||||||
void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_AfterEach() {
|
void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_AfterEach() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
@ -111,7 +111,7 @@ class JaasExtensionTest {
|
||||||
|
|
||||||
@AfterAll
|
@AfterAll
|
||||||
static void should_NotSetJaasSubject_When_AnnotationIsMissing_On_AfterAll() {
|
static void should_NotSetJaasSubject_When_AnnotationIsMissing_On_AfterAll() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "afterall")
|
@WithAccessId(user = "afterall")
|
||||||
|
@ -124,7 +124,7 @@ class JaasExtensionTest {
|
||||||
@WithAccessId(user = "afterall2")
|
@WithAccessId(user = "afterall2")
|
||||||
@AfterAll
|
@AfterAll
|
||||||
static void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_AfterAll() {
|
static void should_NotSetJaasSubject_When_MultipleAnnotationsExist_On_AfterAll() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
@ -133,7 +133,7 @@ class JaasExtensionTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void should_NotSetJaasSubject_When_AnnotationIsMissing_On_Test() {
|
void should_NotSetJaasSubject_When_AnnotationIsMissing_On_Test() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "user")
|
@WithAccessId(user = "user")
|
||||||
|
@ -164,7 +164,7 @@ class JaasExtensionTest {
|
||||||
@Test
|
@Test
|
||||||
@Disabled("this can be tested with a org.junit.platform.launcher.TestExecutionListener")
|
@Disabled("this can be tested with a org.junit.platform.launcher.TestExecutionListener")
|
||||||
void should_ThrowException_When_MultipleAnnotationsExist_On_Test() {
|
void should_ThrowException_When_MultipleAnnotationsExist_On_Test() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
@ -173,7 +173,7 @@ class JaasExtensionTest {
|
||||||
|
|
||||||
@TestFactory
|
@TestFactory
|
||||||
List<DynamicTest> should_NotSetJaasSubject_When_AnnotationIsMissing_On_TestFactory() {
|
List<DynamicTest> should_NotSetJaasSubject_When_AnnotationIsMissing_On_TestFactory() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -708,7 +708,7 @@ class JaasExtensionTest {
|
||||||
@Nested
|
@Nested
|
||||||
class ConstructorWithoutAccessId {
|
class ConstructorWithoutAccessId {
|
||||||
ConstructorWithoutAccessId() {
|
ConstructorWithoutAccessId() {
|
||||||
assertThat(CURRENT_USER_CONTEXT.getUserid()).isEqualTo(null);
|
assertThat(CURRENT_USER_CONTEXT.getUserid()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -32,12 +32,11 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
private static final String SQL_EXCEPTION_MESSAGE =
|
private static final String SQL_EXCEPTION_MESSAGE =
|
||||||
"Method openConnection() could not open a connection to the database.";
|
"Method openConnection() could not open a connection to the database.";
|
||||||
|
|
||||||
private TaskanaHistoryEngineImpl taskanaHistoryEngine;
|
private final TaskanaHistoryEngineImpl taskanaHistoryEngine;
|
||||||
|
|
||||||
|
private final List<String> orderBy = new ArrayList<>();
|
||||||
|
private final List<String> orderColumns = new ArrayList<>();
|
||||||
private ClassificationHistoryQueryColumnName columnName;
|
private ClassificationHistoryQueryColumnName columnName;
|
||||||
private List<String> orderBy;
|
|
||||||
private List<String> orderColumns;
|
|
||||||
|
|
||||||
private String[] idIn;
|
private String[] idIn;
|
||||||
private String[] eventTypeIn;
|
private String[] eventTypeIn;
|
||||||
private TimeInterval[] createdIn;
|
private TimeInterval[] createdIn;
|
||||||
|
@ -61,7 +60,6 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
private String[] custom6In;
|
private String[] custom6In;
|
||||||
private String[] custom7In;
|
private String[] custom7In;
|
||||||
private String[] custom8In;
|
private String[] custom8In;
|
||||||
|
|
||||||
private String[] eventTypeLike;
|
private String[] eventTypeLike;
|
||||||
private String[] userIdLike;
|
private String[] userIdLike;
|
||||||
private String[] classificationIdLike;
|
private String[] classificationIdLike;
|
||||||
|
@ -85,8 +83,6 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
|
|
||||||
public ClassificationHistoryQueryImpl(TaskanaHistoryEngineImpl internalTaskanaHistoryEngine) {
|
public ClassificationHistoryQueryImpl(TaskanaHistoryEngineImpl internalTaskanaHistoryEngine) {
|
||||||
this.taskanaHistoryEngine = internalTaskanaHistoryEngine;
|
this.taskanaHistoryEngine = internalTaskanaHistoryEngine;
|
||||||
this.orderBy = new ArrayList<>();
|
|
||||||
this.orderColumns = new ArrayList<>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -469,7 +465,7 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
this);
|
this);
|
||||||
List<String> result = new ArrayList<>();
|
List<String> result = new ArrayList<>();
|
||||||
this.columnName = dbColumnName;
|
this.columnName = dbColumnName;
|
||||||
List<String> cacheOrderBy = this.orderBy;
|
List<String> cacheOrderBy = new ArrayList<>(this.orderBy);
|
||||||
this.orderBy.clear();
|
this.orderBy.clear();
|
||||||
this.addOrderCriteria(columnName.toString(), sortDirection);
|
this.addOrderCriteria(columnName.toString(), sortDirection);
|
||||||
|
|
||||||
|
@ -481,7 +477,7 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
LOGGER.error(SQL_EXCEPTION_MESSAGE, e.getCause());
|
LOGGER.error(SQL_EXCEPTION_MESSAGE, e.getCause());
|
||||||
return result;
|
return result;
|
||||||
} finally {
|
} finally {
|
||||||
this.orderBy = cacheOrderBy;
|
this.orderBy.addAll(cacheOrderBy);
|
||||||
this.columnName = null;
|
this.columnName = null;
|
||||||
this.orderColumns.remove(orderColumns.size() - 1);
|
this.orderColumns.remove(orderColumns.size() - 1);
|
||||||
taskanaHistoryEngine.returnConnection();
|
taskanaHistoryEngine.returnConnection();
|
||||||
|
@ -532,15 +528,6 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ClassificationHistoryQueryImpl addOrderCriteria(
|
|
||||||
String columnName, SortDirection sortDirection) {
|
|
||||||
String orderByDirection =
|
|
||||||
" " + (sortDirection == null ? SortDirection.ASCENDING : sortDirection);
|
|
||||||
orderBy.add(columnName + orderByDirection);
|
|
||||||
orderColumns.add(columnName);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String[] getIdIn() {
|
public String[] getIdIn() {
|
||||||
return idIn;
|
return idIn;
|
||||||
}
|
}
|
||||||
|
@ -712,4 +699,25 @@ public class ClassificationHistoryQueryImpl implements ClassificationHistoryQuer
|
||||||
public String[] getCustom8Like() {
|
public String[] getCustom8Like() {
|
||||||
return custom8Like;
|
return custom8Like;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ClassificationHistoryQueryColumnName getColumnName() {
|
||||||
|
return columnName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getOrderBy() {
|
||||||
|
return orderBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getOrderColumns() {
|
||||||
|
return orderColumns;
|
||||||
|
}
|
||||||
|
|
||||||
|
private ClassificationHistoryQueryImpl addOrderCriteria(
|
||||||
|
String columnName, SortDirection sortDirection) {
|
||||||
|
String orderByDirection =
|
||||||
|
" " + (sortDirection == null ? SortDirection.ASCENDING : sortDirection);
|
||||||
|
orderBy.add(columnName + orderByDirection);
|
||||||
|
orderColumns.add(columnName);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
|
||||||
import pro.taskana.common.test.doc.api.BaseRestDocumentation;
|
import pro.taskana.common.test.doc.api.BaseRestDocumentation;
|
||||||
|
|
||||||
/** Generate documentation for the history event controller. */
|
/** Generate documentation for the history event controller. */
|
||||||
public class TaskHistoryEventControllerRestDocumentation extends BaseRestDocumentation {
|
class TaskHistoryEventControllerRestDocumentation extends BaseRestDocumentation {
|
||||||
|
|
||||||
|
|
||||||
private final HashMap<String, String> taskHistoryEventFieldDescriptionsMap = new HashMap<>();
|
private final HashMap<String, String> taskHistoryEventFieldDescriptionsMap = new HashMap<>();
|
||||||
|
@ -24,7 +24,7 @@ public class TaskHistoryEventControllerRestDocumentation extends BaseRestDocumen
|
||||||
private FieldDescriptor[] taskHistoryEventFieldDescriptors;
|
private FieldDescriptor[] taskHistoryEventFieldDescriptors;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setUp() {
|
void setUp() {
|
||||||
taskHistoryEventFieldDescriptionsMap.put("taskHistoryId", "Unique ID");
|
taskHistoryEventFieldDescriptionsMap.put("taskHistoryId", "Unique ID");
|
||||||
taskHistoryEventFieldDescriptionsMap.put("businessProcessId", "The id of the business process");
|
taskHistoryEventFieldDescriptionsMap.put("businessProcessId", "The id of the business process");
|
||||||
taskHistoryEventFieldDescriptionsMap.put(
|
taskHistoryEventFieldDescriptionsMap.put(
|
||||||
|
|
|
@ -2,12 +2,18 @@ package pro.taskana.workbasket.rest;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
|
import static pro.taskana.common.test.rest.RestHelper.TEMPLATE;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Stream;
|
||||||
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
|
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.DynamicTest;
|
||||||
import org.junit.jupiter.api.MethodOrderer;
|
import org.junit.jupiter.api.MethodOrderer;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.TestFactory;
|
||||||
import org.junit.jupiter.api.TestMethodOrder;
|
import org.junit.jupiter.api.TestMethodOrder;
|
||||||
|
import org.junit.jupiter.api.function.ThrowingConsumer;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.core.ParameterizedTypeReference;
|
import org.springframework.core.ParameterizedTypeReference;
|
||||||
import org.springframework.hateoas.IanaLinkRelations;
|
import org.springframework.hateoas.IanaLinkRelations;
|
||||||
|
@ -15,7 +21,6 @@ import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.client.HttpClientErrorException;
|
import org.springframework.web.client.HttpClientErrorException;
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
|
|
||||||
import pro.taskana.common.rest.Mapping;
|
import pro.taskana.common.rest.Mapping;
|
||||||
import pro.taskana.common.rest.models.TaskanaPagedModel;
|
import pro.taskana.common.rest.models.TaskanaPagedModel;
|
||||||
|
@ -33,18 +38,18 @@ class WorkbasketAccessItemControllerIntTest {
|
||||||
WORKBASKET_ACCESS_ITEM_PAGE_MODEL_TYPE =
|
WORKBASKET_ACCESS_ITEM_PAGE_MODEL_TYPE =
|
||||||
new ParameterizedTypeReference<
|
new ParameterizedTypeReference<
|
||||||
TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>>() {};
|
TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>>() {};
|
||||||
private static RestTemplate template;
|
|
||||||
@Autowired RestHelper restHelper;
|
|
||||||
|
|
||||||
@BeforeAll
|
private final RestHelper restHelper;
|
||||||
static void init() {
|
|
||||||
template = RestHelper.TEMPLATE;
|
@Autowired
|
||||||
|
WorkbasketAccessItemControllerIntTest(RestHelper restHelper) {
|
||||||
|
this.restHelper = restHelper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testGetAllWorkbasketAccessItems() {
|
void testGetAllWorkbasketAccessItems() {
|
||||||
ResponseEntity<TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>> response =
|
ResponseEntity<TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>> response =
|
||||||
template.exchange(
|
TEMPLATE.exchange(
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS),
|
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS),
|
||||||
HttpMethod.GET,
|
HttpMethod.GET,
|
||||||
restHelper.defaultRequest(),
|
restHelper.defaultRequest(),
|
||||||
|
@ -57,7 +62,7 @@ class WorkbasketAccessItemControllerIntTest {
|
||||||
void testGetWorkbasketAccessItemsKeepingFilters() {
|
void testGetWorkbasketAccessItemsKeepingFilters() {
|
||||||
String parameters = "?sort-by=workbasket-key&order=asc&page-size=9&access-ids=user-1-1&page=1";
|
String parameters = "?sort-by=workbasket-key&order=asc&page-size=9&access-ids=user-1-1&page=1";
|
||||||
ResponseEntity<TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>> response =
|
ResponseEntity<TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>> response =
|
||||||
template.exchange(
|
TEMPLATE.exchange(
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
||||||
HttpMethod.GET,
|
HttpMethod.GET,
|
||||||
restHelper.defaultRequest(),
|
restHelper.defaultRequest(),
|
||||||
|
@ -77,7 +82,7 @@ class WorkbasketAccessItemControllerIntTest {
|
||||||
void testThrowsExceptionIfInvalidFilterIsUsed() {
|
void testThrowsExceptionIfInvalidFilterIsUsed() {
|
||||||
ThrowingCallable httpCall =
|
ThrowingCallable httpCall =
|
||||||
() ->
|
() ->
|
||||||
template.exchange(
|
TEMPLATE.exchange(
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS)
|
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS)
|
||||||
+ "?sort-by=workbasket-key&order=asc&page=1&page-size=9&invalid=user-1-1",
|
+ "?sort-by=workbasket-key&order=asc&page=1&page-size=9&invalid=user-1-1",
|
||||||
HttpMethod.GET,
|
HttpMethod.GET,
|
||||||
|
@ -94,7 +99,7 @@ class WorkbasketAccessItemControllerIntTest {
|
||||||
void testGetSecondPageSortedByWorkbasketKey() {
|
void testGetSecondPageSortedByWorkbasketKey() {
|
||||||
String parameters = "?sort-by=workbasket-key&order=asc&page=2&page-size=9&access-ids=user-1-1";
|
String parameters = "?sort-by=workbasket-key&order=asc&page=2&page-size=9&access-ids=user-1-1";
|
||||||
ResponseEntity<TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>> response =
|
ResponseEntity<TaskanaPagedModel<WorkbasketAccessItemRepresentationModel>> response =
|
||||||
template.exchange(
|
TEMPLATE.exchange(
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
||||||
HttpMethod.GET,
|
HttpMethod.GET,
|
||||||
restHelper.defaultRequest(),
|
restHelper.defaultRequest(),
|
||||||
|
@ -124,7 +129,7 @@ class WorkbasketAccessItemControllerIntTest {
|
||||||
|
|
||||||
String parameters = "?access-id=teamlead-2";
|
String parameters = "?access-id=teamlead-2";
|
||||||
ResponseEntity<Void> response =
|
ResponseEntity<Void> response =
|
||||||
template.exchange(
|
TEMPLATE.exchange(
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
||||||
HttpMethod.DELETE,
|
HttpMethod.DELETE,
|
||||||
restHelper.defaultRequest(),
|
restHelper.defaultRequest(),
|
||||||
|
@ -133,51 +138,29 @@ class WorkbasketAccessItemControllerIntTest {
|
||||||
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT);
|
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@TestFactory
|
||||||
void should_ReturnBadRequest_ifAccessIdIsSubStringOfUser() {
|
Stream<DynamicTest> should_ReturnBadRequest_When_AccessIdIsInvalid() {
|
||||||
String parameters = "?access-id=user-1";
|
List<String> accessIds =
|
||||||
ThrowingCallable httpCall =
|
Arrays.asList(
|
||||||
() ->
|
"cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana",
|
||||||
template.exchange(
|
"cn=monitor-users,cn=groups,ou=test,o=taskana",
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
"user-1");
|
||||||
HttpMethod.DELETE,
|
|
||||||
restHelper.defaultRequest(),
|
|
||||||
ParameterizedTypeReference.forType(Void.class));
|
|
||||||
assertThatThrownBy(httpCall)
|
|
||||||
.isInstanceOf(HttpClientErrorException.class)
|
|
||||||
.extracting(ex -> ((HttpClientErrorException) ex).getStatusCode())
|
|
||||||
.isEqualTo(HttpStatus.BAD_REQUEST);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
ThrowingConsumer<String> test =
|
||||||
void should_ReturnBadRequest_ifAccessIdIsGroup() {
|
accessId -> {
|
||||||
String parameters = "?access-id=cn=monitor-users,cn=groups,ou=test,o=taskana";
|
String parameters = "?access-id=" + accessId;
|
||||||
ThrowingCallable httpCall =
|
ThrowingCallable httpCall =
|
||||||
() ->
|
() ->
|
||||||
template.exchange(
|
TEMPLATE.exchange(
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
||||||
HttpMethod.DELETE,
|
HttpMethod.DELETE,
|
||||||
restHelper.defaultRequest(),
|
restHelper.defaultRequest(),
|
||||||
ParameterizedTypeReference.forType(Void.class));
|
ParameterizedTypeReference.forType(Void.class));
|
||||||
assertThatThrownBy(httpCall)
|
assertThatThrownBy(httpCall)
|
||||||
.isInstanceOf(HttpClientErrorException.class)
|
.isInstanceOf(HttpClientErrorException.class)
|
||||||
.extracting(ex -> ((HttpClientErrorException) ex).getStatusCode())
|
.extracting(ex -> ((HttpClientErrorException) ex).getStatusCode())
|
||||||
.isEqualTo(HttpStatus.BAD_REQUEST);
|
.isEqualTo(HttpStatus.BAD_REQUEST);
|
||||||
}
|
};
|
||||||
|
return DynamicTest.stream(accessIds.iterator(), s -> String.format("for user '%s'", s), test);
|
||||||
@Test
|
|
||||||
void should_ReturnBadRequest_ifAccessIdIsOrganizationalGroup() {
|
|
||||||
String parameters = "?access-id=cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana";
|
|
||||||
ThrowingCallable httpCall =
|
|
||||||
() ->
|
|
||||||
template.exchange(
|
|
||||||
restHelper.toUrl(Mapping.URL_WORKBASKET_ACCESS_ITEMS) + parameters,
|
|
||||||
HttpMethod.DELETE,
|
|
||||||
restHelper.defaultRequest(),
|
|
||||||
ParameterizedTypeReference.forType(Void.class));
|
|
||||||
assertThatThrownBy(httpCall)
|
|
||||||
.isInstanceOf(HttpClientErrorException.class)
|
|
||||||
.extracting(ex -> ((HttpClientErrorException) ex).getStatusCode())
|
|
||||||
.isEqualTo(HttpStatus.BAD_REQUEST);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue