summaryrefslogtreecommitdiff
path: root/src/integrationTest/kotlin/dev
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2026-03-12 11:23:32 +0100
committerGitHub2026-03-12 11:23:32 +0100
commitdc3aa929216b26d46ce134ac98c279a68d5679c1 (patch)
treed86a42a14ee8bd35046d4304fb30e618f56c6d17 /src/integrationTest/kotlin/dev
parenta8f8d5f137c9776a20b2bc91cd3bdd99c9b96991 (diff)
feat: save error request for non json (#266)
Diffstat (limited to 'src/integrationTest/kotlin/dev')
-rw-r--r--src/integrationTest/kotlin/dev/dnpm/etl/processor/input/MtbFileRestControllerTest.kt21
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(