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 @@ ...@@ -17,6 +17,17 @@
</properties> </properties>
<dependencies> <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--> <!--spring-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -26,10 +37,8 @@ ...@@ -26,10 +37,8 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<dependency>
<groupId>de.itvsh.kop.eingangsadapter</groupId>
<artifactId>common</artifactId>
</dependency>
<!--dev tools--> <!--dev tools-->
<dependency> <dependency>
......
...@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestPart; ...@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.ResponseStatus;
import de.ozgcloud.eingang.semantik.SemantikAdapter;
@Controller @Controller
@ResponseBody @ResponseBody
@RequestMapping("antrag") @RequestMapping("antrag")
...@@ -21,9 +23,14 @@ public class EntryController { ...@@ -21,9 +23,14 @@ public class EntryController {
@Autowired @Autowired
private EntryDataMapper mapper; private EntryDataMapper mapper;
@Autowired
private SemantikAdapter semantikAdapter;
@ResponseStatus(HttpStatus.ACCEPTED) @ResponseStatus(HttpStatus.ACCEPTED)
@PostMapping(consumes = "multipart/form-data", produces = MediaType.APPLICATION_JSON_VALUE) @PostMapping(consumes = "multipart/form-data", produces = MediaType.APPLICATION_JSON_VALUE)
public void receiveAntrag(@RequestPart Resource formData) throws IOException { 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; package de.ozgcloud.eingang.enterprise.entry;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
...@@ -21,6 +22,9 @@ import org.springframework.test.web.servlet.ResultActions; ...@@ -21,6 +22,9 @@ import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import de.itvsh.kop.common.test.TestUtils; 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; import lombok.SneakyThrows;
class EntryControllerTest { class EntryControllerTest {
...@@ -30,6 +34,8 @@ class EntryControllerTest { ...@@ -30,6 +34,8 @@ class EntryControllerTest {
@Mock @Mock
private EntryDataMapper mapper; private EntryDataMapper mapper;
@Mock
private SemantikAdapter semantikAdapter;
private MockMvc mockMvc; private MockMvc mockMvc;
...@@ -62,10 +68,21 @@ class EntryControllerTest { ...@@ -62,10 +68,21 @@ class EntryControllerTest {
assertThat(inputBytes).hasSameSizeAs(request.getBytes()).isEqualTo(request.getBytes()); 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 @SneakyThrows
private ResultActions doPostRequest() { private ResultActions doPostRequest() {
return mockMvc.perform(multipart("/antrag") 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