TSK-1038 duplicate workbasket errors in Rest tests
This commit is contained in:
parent
3709d98511
commit
16a82efcb5
|
@ -274,7 +274,7 @@ class UpdateWorkbasketAuthorizationsAccTest extends AbstractAccTest {
|
|||
}
|
||||
List<WorkbasketAccessItem> listEqualToOriginal =
|
||||
new ArrayList<>(workbasketService.getWorkbasketAccessItems(wbId));
|
||||
|
||||
|
||||
// with DB2 V 11, the lists are sorted differently...
|
||||
assertEquals(
|
||||
new HashSet<WorkbasketAccessItem>(originalList),
|
||||
|
|
|
@ -25,6 +25,7 @@ import pro.taskana.exceptions.NotAuthorizedException;
|
|||
import pro.taskana.exceptions.NotAuthorizedToQueryWorkbasketException;
|
||||
import pro.taskana.exceptions.TaskAlreadyExistException;
|
||||
import pro.taskana.exceptions.TaskNotFoundException;
|
||||
import pro.taskana.exceptions.WorkbasketAccessItemAlreadyExistException;
|
||||
import pro.taskana.exceptions.WorkbasketAlreadyExistException;
|
||||
import pro.taskana.exceptions.WorkbasketInUseException;
|
||||
import pro.taskana.exceptions.WorkbasketNotFoundException;
|
||||
|
@ -112,6 +113,12 @@ public class TaskanaRestExceptionHandler extends ResponseEntityExceptionHandler
|
|||
WorkbasketAlreadyExistException ex, WebRequest req) {
|
||||
return buildResponse(ex, req, HttpStatus.CONFLICT);
|
||||
}
|
||||
|
||||
@ExceptionHandler(WorkbasketAccessItemAlreadyExistException.class)
|
||||
protected ResponseEntity<Object> handleWorkbasketAccessItemAlreadyExist(
|
||||
WorkbasketAccessItemAlreadyExistException ex, WebRequest req) {
|
||||
return buildResponse(ex, req, HttpStatus.CONFLICT);
|
||||
}
|
||||
|
||||
@ExceptionHandler(WorkbasketNotFoundException.class)
|
||||
protected ResponseEntity<Object> handleWorkbasketNotFound(
|
||||
|
|
|
@ -16,6 +16,7 @@ import java.io.OutputStreamWriter;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.sql.DataSource;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -36,6 +37,7 @@ import org.springframework.web.client.RestTemplate;
|
|||
|
||||
import pro.taskana.RestHelper;
|
||||
import pro.taskana.TaskanaSpringBootTest;
|
||||
import pro.taskana.impl.WorkbasketAccessItemImpl;
|
||||
import pro.taskana.rest.resource.WorkbasketDefinitionResource;
|
||||
import pro.taskana.sampledata.SampleDataGenerator;
|
||||
|
||||
|
@ -155,12 +157,34 @@ class WorkbasketDefinitionControllerIntTest {
|
|||
ObjectMapper objMapper = new ObjectMapper();
|
||||
WorkbasketDefinitionResource wbDef = response.getBody().get(0);
|
||||
list.add(objMapper.writeValueAsString(wbDef));
|
||||
int i = 1;
|
||||
for (WorkbasketAccessItemImpl wbai : wbDef.getAuthorizations()) {
|
||||
wbai.setAccessId("user_" + i++);
|
||||
}
|
||||
wbDef.getWorkbasket().setKey("new Key for this WB");
|
||||
list.add(objMapper.writeValueAsString(wbDef));
|
||||
ResponseEntity<Void> responseImport = importRequest(list);
|
||||
assertEquals(HttpStatus.NO_CONTENT, responseImport.getStatusCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testErrorWhenImportWithSameAccessIdAndWorkbasket() throws IOException {
|
||||
ResponseEntity<List<WorkbasketDefinitionResource>> response =
|
||||
template.exchange(
|
||||
restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=DOMAIN_A",
|
||||
HttpMethod.GET,
|
||||
restHelper.defaultRequest(),
|
||||
new ParameterizedTypeReference<List<WorkbasketDefinitionResource>>() {});
|
||||
|
||||
List<String> list = new ArrayList<>();
|
||||
ObjectMapper objMapper = new ObjectMapper();
|
||||
WorkbasketDefinitionResource wbDef = response.getBody().get(0);
|
||||
list.add(objMapper.writeValueAsString(wbDef));
|
||||
wbDef.getWorkbasket().setKey("new Key for this WB");
|
||||
list.add(objMapper.writeValueAsString(wbDef));
|
||||
Assertions.assertThrows(HttpClientErrorException.class, () -> importRequest(list));
|
||||
}
|
||||
|
||||
private ResponseEntity<Void> importRequest(List<String> clList) throws IOException {
|
||||
File tmpFile = File.createTempFile("test", ".tmp");
|
||||
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tmpFile), UTF_8);
|
||||
|
|
Loading…
Reference in New Issue