Fixes after master merge

This commit is contained in:
Raf Ponsaerts
2020-05-28 09:41:58 +02:00
parent 2a554cbd14
commit bc7cf1484c
2 changed files with 88 additions and 34 deletions

View File

@@ -7,6 +7,7 @@
*/
package org.dspace.app.rest.repository;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Collections;
import java.util.List;
@@ -14,6 +15,7 @@ import java.util.stream.Collectors;
import org.apache.log4j.Logger;
import org.dspace.app.rest.converter.ConverterService;
import org.dspace.app.rest.exception.RepositoryMethodNotImplementedException;
import org.dspace.app.rest.model.BitstreamRest;
import org.dspace.app.rest.model.ProcessFileWrapperRest;
import org.dspace.app.rest.model.ProcessRest;
@@ -167,6 +169,18 @@ public class ProcessRestRepository extends DSpaceRestRepository<ProcessRest, Int
return converterService.toRest(bitstream, Projection.DEFAULT);
}
@Override
protected void delete(Context context, Integer integer)
throws AuthorizeException, RepositoryMethodNotImplementedException {
try {
processService.delete(context, processService.find(context, integer));
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public Class<ProcessRest> getDomainClass() {
return ProcessRest.class;

View File

@@ -10,6 +10,7 @@ package org.dspace.app.rest;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.is;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.fileUpload;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
@@ -21,8 +22,10 @@ import java.sql.SQLException;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import org.apache.commons.collections4.CollectionUtils;
import org.dspace.app.rest.builder.CollectionBuilder;
@@ -50,6 +53,7 @@ import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.web.servlet.MvcResult;
public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
@@ -174,12 +178,22 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
String token = getAuthToken(admin.getEmail(), password);
getClient(token).perform(post("/api/system/scripts/mock-script/processes").contentType("multipart/form-data"))
MvcResult mvcResult = getClient(token)
.perform(post("/api/system/scripts/mock-script/processes").contentType("multipart/form-data"))
.andExpect(status().isAccepted())
.andExpect(jsonPath("$", is(
ProcessMatcher.matchProcess("mock-script",
String.valueOf(admin.getID()), new LinkedList<>(),
ProcessStatus.FAILED))));
ProcessStatus.FAILED)))).andReturn();
ObjectMapper mapper = new ObjectMapper();
String content = mvcResult.getResponse().getContentAsString();
Map<String, Object> map = mapper.readValue(content, Map.class);
Integer processId = Integer.valueOf(String.valueOf(map.get("processId")));
getClient(token).perform(delete("/api/system/processes/" + processId));
}
@Test
@@ -207,14 +221,22 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
String token = getAuthToken(admin.getEmail(), password);
getClient(token).perform(post("/api/system/scripts/mock-script/processes").contentType("multipart/form-data")
MvcResult mvcResult = getClient(token)
.perform(post("/api/system/scripts/mock-script/processes").contentType("multipart/form-data")
.param("properties",
new Gson().toJson(list)))
.andExpect(status().isAccepted())
.andExpect(jsonPath("$", is(
ProcessMatcher.matchProcess("mock-script",
String.valueOf(admin.getID()), parameters,
ProcessStatus.FAILED))));
ProcessStatus.FAILED)))).andReturn();
ObjectMapper mapper = new ObjectMapper();
String content = mvcResult.getResponse().getContentAsString();
Map<String, Object> map = mapper.readValue(content, Map.class);
Integer processId = Integer.valueOf(String.valueOf(map.get("processId")));
getClient(token).perform(delete("/api/system/processes/" + processId));
}
@Test
@@ -244,7 +266,8 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
ProcessStatus.RUNNING,
ProcessStatus.COMPLETED));
getClient(token).perform(post("/api/system/scripts/mock-script/processes").contentType("multipart/form-data")
MvcResult mvcResult = getClient(token)
.perform(post("/api/system/scripts/mock-script/processes").contentType("multipart/form-data")
.param("properties",
new Gson().toJson(list)))
.andExpect(status().isAccepted())
@@ -252,7 +275,15 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
ProcessMatcher.matchProcess("mock-script",
String.valueOf(admin.getID()),
parameters,
acceptableProcessStatuses))));
acceptableProcessStatuses)))).andReturn();
ObjectMapper mapper = new ObjectMapper();
String content = mvcResult.getResponse().getContentAsString();
Map<String, Object> map = mapper.readValue(content, Map.class);
Integer processId = Integer.valueOf(String.valueOf(map.get("processId")));
getClient(token).perform(delete("/api/system/processes/" + processId));
}
@@ -293,9 +324,9 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
String bitstreamContent = "Hello, World!";
MockMultipartFile bitstreamFile = new MockMultipartFile("file",
"hello.txt", MediaType.TEXT_PLAIN_VALUE,
"helloProcessFile.txt", MediaType.TEXT_PLAIN_VALUE,
bitstreamContent.getBytes());
parameters.add(new DSpaceCommandLineParameter("-f", "hello.txt"));
parameters.add(new DSpaceCommandLineParameter("-f", "helloProcessFile.txt"));
List<ParameterValueRest> list = parameters.stream()
.map(dSpaceCommandLineParameter -> dSpaceRunnableParameterConverter
@@ -308,7 +339,8 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
ProcessStatus.RUNNING,
ProcessStatus.COMPLETED));
getClient(token).perform(fileUpload("/api/system/scripts/mock-script/processes").file(bitstreamFile)
MvcResult mvcResult = getClient(token)
.perform(fileUpload("/api/system/scripts/mock-script/processes").file(bitstreamFile)
.param("properties",
new Gson().toJson(list)))
.andExpect(status().isAccepted())
@@ -316,7 +348,15 @@ public class ScriptRestRepositoryIT extends AbstractControllerIntegrationTest {
ProcessMatcher.matchProcess("mock-script",
String.valueOf(admin.getID()),
parameters,
acceptableProcessStatuses))));
acceptableProcessStatuses)))).andReturn();
ObjectMapper mapper = new ObjectMapper();
String content = mvcResult.getResponse().getContentAsString();
Map<String, Object> map = mapper.readValue(content, Map.class);
Integer processId = Integer.valueOf(String.valueOf(map.get("processId")));
getClient(token).perform(delete("/api/system/processes/" + processId));
}