diff options
| author | Paul-Christian Volkmer | 2026-03-12 11:23:32 +0100 |
|---|---|---|
| committer | GitHub | 2026-03-12 11:23:32 +0100 |
| commit | dc3aa929216b26d46ce134ac98c279a68d5679c1 (patch) | |
| tree | d86a42a14ee8bd35046d4304fb30e618f56c6d17 /src/integrationTest/kotlin/dev/dnpm/etl | |
| parent | a8f8d5f137c9776a20b2bc91cd3bdd99c9b96991 (diff) | |
feat: save error request for non json (#266)
Diffstat (limited to 'src/integrationTest/kotlin/dev/dnpm/etl')
| -rw-r--r-- | src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt b/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt index ed9d910..e0e8162 100644 --- a/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt +++ b/src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt @@ -20,6 +20,7 @@ package dev.dnpm.etl.processor.input import com.fasterxml.jackson.databind.ObjectMapper +import dev.dnpm.etl.processor.CustomMediaType import dev.dnpm.etl.processor.config.AppSecurityConfiguration import dev.dnpm.etl.processor.consent.ConsentEvaluation import dev.dnpm.etl.processor.consent.ConsentEvaluator @@ -29,11 +30,14 @@ import dev.dnpm.etl.processor.security.TokenRepository import dev.dnpm.etl.processor.security.UserRoleRepository import dev.dnpm.etl.processor.services.RequestProcessor import dev.pcvolkmer.mv64e.mtb.* +import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Nested import org.junit.jupiter.api.extension.ExtendWith import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.ValueSource +import org.mockito.ArgumentCaptor +import org.mockito.Mockito import org.mockito.junit.jupiter.MockitoExtension import org.mockito.kotlin.* import org.springframework.beans.factory.annotation.Autowired @@ -58,6 +62,7 @@ import java.util.* classes = [ MtbFileRestController::class, + MtbFileRestControllerAdvice::class, AppSecurityConfiguration::class, MtbFileConsentService::class, ] @@ -253,6 +258,22 @@ class MtbFileRestControllerTest { verify(requestProcessor, never()).processDeletion(anyValueClass(), any()) } + + @ParameterizedTest + @ValueSource(strings = ["[]", "null", "X", ""]) + fun shouldNotAcceptNonJsonObjectPostRequestContent(requestContent: String) { + mockMvc + .post("/mtbfile") { + content = requestContent + contentType = CustomMediaType.APPLICATION_VND_DNPM_V2_MTB_JSON + with(user("onkostarserver").roles("MTBFILE")) + } + .andExpect { status { isBadRequest() } } + + val result = verify(requestProcessor, times(1)).processMtbFile(any<Mtb>()) + assertThat(result).isFalse() + } + @Nested @MockitoBean(types = [UserRoleRepository::class, ClientRegistrationRepository::class]) @TestPropertySource( |
