Skip to content

Commit 410f4c8

Browse files
committed
chore: added test
1 parent 5df2785 commit 410f4c8

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/execution/SpringGraphQLRequestParserTest.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import org.springframework.http.HttpMethod
2929
import org.springframework.http.MediaType
3030
import org.springframework.mock.web.reactive.function.server.MockServerRequest
3131
import org.springframework.web.reactive.function.server.ServerRequest
32+
import org.springframework.web.reactive.function.server.ServerRequest.Headers
3233
import reactor.core.publisher.Mono
3334
import java.util.Optional
3435
import kotlin.test.assertEquals
@@ -113,6 +114,30 @@ class SpringGraphQLRequestParserTest {
113114
assertNull(graphQLRequest.variables)
114115
}
115116

117+
@Test
118+
fun `parseRequest should return request if method is POST with content-type json and persisted query extension`() = runTest {
119+
val mockRequest = GraphQLRequest("query MyFoo { foo }", "MyFoo", mapOf("a" to 1))
120+
val serverRequest = MockServerRequest.builder()
121+
.method(HttpMethod.POST)
122+
.queryParam(REQUEST_PARAM_EXTENSIONS, """
123+
{
124+
"persistedQuery": {
125+
"version": 1,
126+
"sha256Hash": "some-hash"
127+
}
128+
}
129+
""".trimIndent())
130+
.header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
131+
.body(Mono.justOrEmpty(mockRequest))
132+
133+
val graphQLRequest = parser.parseRequest(serverRequest)
134+
assertNotNull(graphQLRequest)
135+
assertTrue(graphQLRequest is GraphQLRequest)
136+
assertEquals("query MyFoo { foo }", graphQLRequest.query)
137+
assertEquals("MyFoo", graphQLRequest.operationName)
138+
assertEquals(1, graphQLRequest.variables?.get("a"))
139+
}
140+
116141
@Test
117142
fun `parseRequest should return request if method is POST with no content-type`() = runTest {
118143
val mockRequest = GraphQLRequest("query MyFoo { foo }", "MyFoo", mapOf("a" to 1))

0 commit comments

Comments
 (0)