From 522d64cc8a336b797f14067128594e88ba99d1ee Mon Sep 17 00:00:00 2001 From: pricelees Date: Thu, 18 Sep 2025 15:41:24 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20RestAssured=20=EC=9D=91=EB=8B=B5?= =?UTF-8?q?=EC=9D=84=20=EA=B0=9D=EC=B2=B4=EB=A1=9C=20=EB=B3=80=ED=99=98?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EC=9C=A0=ED=8B=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/roomescape/supports/RestAssuredUtils.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/kotlin/roomescape/supports/RestAssuredUtils.kt b/src/test/kotlin/roomescape/supports/RestAssuredUtils.kt index 31aaa1c7..689184d2 100644 --- a/src/test/kotlin/roomescape/supports/RestAssuredUtils.kt +++ b/src/test/kotlin/roomescape/supports/RestAssuredUtils.kt @@ -1,5 +1,6 @@ package roomescape.supports +import com.fasterxml.jackson.module.kotlin.convertValue import io.restassured.module.kotlin.extensions.Given import io.restassured.module.kotlin.extensions.Then import io.restassured.module.kotlin.extensions.When @@ -9,6 +10,7 @@ import io.restassured.specification.RequestSpecification import org.hamcrest.CoreMatchers.equalTo import org.springframework.http.HttpMethod import org.springframework.http.MediaType +import roomescape.common.config.JacksonConfig import roomescape.common.exception.ErrorCode fun runTest( @@ -96,3 +98,15 @@ fun ValidatableResponse.assertProperties(props: Set, propsNameIfList: St else -> error("Unexpected data type: ${json::class}") } } + +object ResponseParser { + val objectMapper = JacksonConfig().objectMapper() + + inline fun parseListResponse(response: List>): List { + return response.map { objectMapper.convertValue(it) } + } + + inline fun parseSingleResponse(response: LinkedHashMap): T { + return objectMapper.convertValue(response) + } +}