Skip to content
Snippets Groups Projects
Commit 0118c13f authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4428 create vorgang

parent 8484e431
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,17 @@
</properties>
<dependencies>
<!--ozg-Cloud-->
<dependency>
<groupId>de.itvsh.kop.eingangsadapter</groupId>
<artifactId>common</artifactId>
</dependency>
<dependency>
<groupId>de.itvsh.kop.eingangsadapter</groupId>
<artifactId>semantik-adapter</artifactId>
</dependency>
<!--spring-->
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -26,10 +37,8 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.itvsh.kop.eingangsadapter</groupId>
<artifactId>common</artifactId>
</dependency>
<!--dev tools-->
<dependency>
......
......@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import de.ozgcloud.eingang.semantik.SemantikAdapter;
@Controller
@ResponseBody
@RequestMapping("antrag")
......@@ -21,9 +23,14 @@ public class EntryController {
@Autowired
private EntryDataMapper mapper;
@Autowired
private SemantikAdapter semantikAdapter;
@ResponseStatus(HttpStatus.ACCEPTED)
@PostMapping(consumes = "multipart/form-data", produces = MediaType.APPLICATION_JSON_VALUE)
public void receiveAntrag(@RequestPart Resource formData) throws IOException {
mapper.mapEntryData(formData.getInputStream());
var mapped = mapper.mapEntryData(formData.getInputStream());
semantikAdapter.processFormData(mapped);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %c{1.} %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="WARN">
<appender-ref ref="CONSOLE" />
</Root>
</Loggers>
</configuration>
\ No newline at end of file
package de.ozgcloud.eingang.enterprise.entry;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import de.itvsh.kop.common.test.TestUtils;
import de.ozgcloud.eingang.Application;
import de.ozgcloud.eingang.router.VorgangService;
import lombok.SneakyThrows;
@SpringBootTest(classes = Application.class)
@AutoConfigureMockMvc
class EnterpriseEntryITCase {
@MockBean
private VorgangService vorgangService;
@Autowired
private MockMvc mockMvc;
@Test
void shouldCallVorgangService() {
doPostRequest();
verify(vorgangService).createVorgang(any());
}
@SneakyThrows
private ResultActions doPostRequest() {
return mockMvc.perform(multipart("/antrag")
.file(new MockMultipartFile("formData", TestUtils.loadTextFile("request/simple.json").getBytes())))
.andExpect(status().is2xxSuccessful());
}
}
package de.ozgcloud.eingang.enterprise.entry;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
......@@ -21,6 +22,9 @@ import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import de.itvsh.kop.common.test.TestUtils;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
import de.ozgcloud.eingang.semantik.SemantikAdapter;
import lombok.SneakyThrows;
class EntryControllerTest {
......@@ -30,6 +34,8 @@ class EntryControllerTest {
@Mock
private EntryDataMapper mapper;
@Mock
private SemantikAdapter semantikAdapter;
private MockMvc mockMvc;
......@@ -62,10 +68,21 @@ class EntryControllerTest {
assertThat(inputBytes).hasSameSizeAs(request.getBytes()).isEqualTo(request.getBytes());
}
@Test
void shouldCallSemantikAdapter() {
FormData formData = FormDataTestFactory.create();
when(mapper.mapEntryData(any())).thenReturn(formData);
doPostRequest();
verify(semantikAdapter).processFormData(formData);
}
@SneakyThrows
private ResultActions doPostRequest() {
return mockMvc.perform(multipart("/antrag")
.file(new MockMultipartFile("formData", TestUtils.loadTextFile("request/simple.json").getBytes())));
.file(new MockMultipartFile("formData", TestUtils.loadTextFile("request/simple.json").getBytes())))
.andExpect(status().is2xxSuccessful());
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment