2026-06-20 06:31:53.910 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:31:54.023 [Test worker] INFO io.ktor.server.Application - Application started in 0.248 seconds. 2026-06-20 06:31:54.121 [DefaultDispatcher-worker-1 @coroutine#2] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41267 2026-06-20 06:31:54.955 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41267/resources/index.json 2026-06-20 06:31:54.956 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41267/resources/index.json. 2026-06-20 06:31:54.956 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41267/resources/index.json 2026-06-20 06:31:55.089 [eventLoopGroupProxy-4-1 @call-handler#12] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-20 06:31:55.175 [DefaultDispatcher-worker-2 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41267/resources/index.json 2026-06-20 06:31:55.177 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41267/resources/index.json 2026-06-20 06:31:55.177 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41267/resources/index.json 2026-06-20 06:31:55.178 [DefaultDispatcher-worker-1 @call-handler#12] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 94ms 2026-06-20 06:31:55.199 [DefaultDispatcher-worker-2 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:41267/resources/index.json. 2026-06-20 06:31:55.244 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41267/resources/index.json 2026-06-20 06:31:55.245 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41267/resources/index.json. 2026-06-20 06:31:55.245 [DefaultDispatcher-worker-4 @coroutine#20] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41267/resources/index.json 2026-06-20 06:31:55.247 [eventLoopGroupProxy-4-1 @call-handler#22] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-20 06:31:55.251 [eventLoopGroupProxy-4-1 @call-handler#22] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 4ms 2026-06-20 06:31:55.256 [DefaultDispatcher-worker-3 @coroutine#20] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41267/resources/index.json 2026-06-20 06:31:55.256 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41267/resources/index.json 2026-06-20 06:31:55.257 [DefaultDispatcher-worker-3 @coroutine#20] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41267/resources/index.json 2026-06-20 06:31:57.280 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:31:57.281 [Test worker] INFO io.ktor.server.Application - Application started in 0.001 seconds. 2026-06-20 06:31:57.284 [DefaultDispatcher-worker-3 @coroutine#26] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38533 2026-06-20 06:31:57.380 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38533/resources/index.json 2026-06-20 06:31:57.381 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38533/resources/index.json. 2026-06-20 06:31:57.381 [Test worker @coroutine#30] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38533/resources/index.json 2026-06-20 06:31:57.397 [eventLoopGroupProxy-7-1 @call-handler#35] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-20 06:31:57.398 [DefaultDispatcher-worker-4 @call-handler#35] INFO io.ktor.server.Application - 200 OK: GET - /resources/index.json in 2ms 2026-06-20 06:31:57.399 [Test worker @coroutine#30] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38533/resources/index.json 2026-06-20 06:31:57.401 [Test worker @coroutine#30] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38533/resources/index.json 2026-06-20 06:31:57.401 [Test worker @coroutine#30] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38533/resources/index.json 2026-06-20 06:31:57.402 [Test worker @coroutine#30] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:38533/resources/index.json. 2026-06-20 06:31:57.407 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38533/resources/index.json 2026-06-20 06:31:57.407 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38533/resources/index.json. 2026-06-20 06:31:57.407 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38533/resources/index.json 2026-06-20 06:31:57.408 [eventLoopGroupProxy-7-1 @call-handler#45] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-20 06:31:57.409 [eventLoopGroupProxy-7-1 @call-handler#45] INFO io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 1ms 2026-06-20 06:31:57.409 [DefaultDispatcher-worker-6 @coroutine#43] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38533/resources/index.json 2026-06-20 06:31:57.409 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38533/resources/index.json 2026-06-20 06:31:57.409 [DefaultDispatcher-worker-6 @coroutine#43] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38533/resources/index.json 2026-06-20 06:31:59.425 [Test worker] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:31:59.425 [Test worker] INFO io.ktor.server.Application - Application started in 0.0 seconds. 2026-06-20 06:31:59.427 [DefaultDispatcher-worker-6 @coroutine#49] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41717 2026-06-20 06:31:59.433 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41717/resources/lesson001.json 2026-06-20 06:31:59.434 [Test worker @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41717/resources/lesson001.json. 2026-06-20 06:31:59.434 [Test worker @coroutine#55] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41717/resources/lesson001.json 2026-06-20 06:31:59.437 [eventLoopGroupProxy-10-1 @call-handler#59] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json] /, segment:0 -> SUCCESS @ / /(staticContent), segment:0 -> SUCCESS @ /(staticContent) /(staticContent)/resources, segment:1 -> SUCCESS @ /(staticContent)/resources /(staticContent)/resources/{...}, segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...} /(staticContent)/resources/{...}/(method:GET), segment:2 -> SUCCESS @ /(staticContent)/resources/{...}/(method:GET) Matched routes: "" -> "(staticContent)" -> "resources" -> "{...}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /(staticContent)/resources/{...}/(method:GET) 2026-06-20 06:31:59.439 [DefaultDispatcher-worker-3 @call-handler#59] INFO io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 2ms 2026-06-20 06:31:59.439 [DefaultDispatcher-worker-3 @coroutine#55] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41717/resources/lesson001.json 2026-06-20 06:31:59.440 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41717/resources/lesson001.json 2026-06-20 06:31:59.440 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41717/resources/lesson001.json 2026-06-20 06:31:59.443 [DefaultDispatcher-worker-4 @coroutine#55] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:41717/resources/lesson001.json. 2026-06-20 06:32:01.907 [Test worker @coroutine#65] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:01.936 [Test worker @coroutine#65] INFO io.ktor.server.Application - Application started in 0.257 seconds. 2026-06-20 06:32:01.956 [DefaultDispatcher-worker-4 @coroutine#74] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34113 2026-06-20 06:32:01.983 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34113/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:01.984 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34113/api/school/respect/schoolpermissiongrant. 2026-06-20 06:32:01.984 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34113/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:02.018 [eventLoopGroupProxy-13-1 @call-handler#78] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-20 06:32:02.077 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34113/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:02.078 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34113/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:02.078 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34113/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:02.081 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34113/api/school/respect/schoolpermissiongrant. 2026-06-20 06:32:02.278 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.278 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34113/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:02.278 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.285 [eventLoopGroupProxy-13-1 @call-handler#84] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:02.346 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.347 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.347 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.350 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34113/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:02.362 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.362 [Test worker @coroutine#65] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34113/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:02.362 [Test worker @coroutine#65] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.366 [eventLoopGroupProxy-13-1 @call-handler#90] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:02.370 [DefaultDispatcher-worker-4 @call-handler#90] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the GET /api/school/respect/person?includeRelated=false request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-20 06:32:02.373 [Test worker @coroutine#65] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.374 [Test worker @coroutine#65] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:02.374 [Test worker @coroutine#65] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34113/api/school/respect/person?includeRelated=false 2026-06-20 06:32:04.528 [Test worker @coroutine#94] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:04.529 [Test worker @coroutine#94] INFO io.ktor.server.Application - Application started in 0.061 seconds. 2026-06-20 06:32:04.531 [DefaultDispatcher-worker-5 @coroutine#102] INFO io.ktor.server.Application - Responding at http://0.0.0.0:41997 2026-06-20 06:32:04.532 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41997/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:04.532 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41997/api/school/respect/schoolpermissiongrant. 2026-06-20 06:32:04.532 [Test worker @coroutine#94] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41997/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:04.536 [eventLoopGroupProxy-16-1 @call-handler#106] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-20 06:32:04.539 [Test worker @coroutine#94] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41997/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:04.539 [Test worker @coroutine#94] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41997/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:04.539 [Test worker @coroutine#94] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41997/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:04.540 [Test worker @coroutine#94] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41997/api/school/respect/schoolpermissiongrant. 2026-06-20 06:32:04.597 [DefaultDispatcher-worker-1 @coroutine#112] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-20 06:32:04.597 [DefaultDispatcher-worker-1 @coroutine#112] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-20 06:32:04.597 [DefaultDispatcher-worker-1 @coroutine#112] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-20 06:32:04.599 [eventLoopGroupProxy-16-1 @call-handler#116] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:04.604 [DefaultDispatcher-worker-1 @coroutine#112] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-20 06:32:04.604 [DefaultDispatcher-worker-2 @coroutine#112] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-20 06:32:04.604 [DefaultDispatcher-worker-2 @coroutine#112] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100 2026-06-20 06:32:04.608 [DefaultDispatcher-worker-2 @coroutine#112] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41997/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100. 2026-06-20 06:32:06.792 [Test worker @coroutine#121] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:06.797 [Test worker @coroutine#121] INFO io.ktor.server.Application - Application started in 0.065 seconds. 2026-06-20 06:32:06.802 [DefaultDispatcher-worker-2 @coroutine#130] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37221 2026-06-20 06:32:06.812 [Test worker @coroutine#121] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37221/api/school/respect/person?includeRelated=false 2026-06-20 06:32:06.812 [Test worker @coroutine#121] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37221/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:06.812 [Test worker @coroutine#121] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37221/api/school/respect/person?includeRelated=false 2026-06-20 06:32:06.823 [eventLoopGroupProxy-19-1 @call-handler#135] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:06.834 [Test worker @coroutine#121] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37221/api/school/respect/person?includeRelated=false 2026-06-20 06:32:06.834 [Test worker @coroutine#121] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37221/api/school/respect/person?includeRelated=false 2026-06-20 06:32:06.834 [Test worker @coroutine#121] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37221/api/school/respect/person?includeRelated=false 2026-06-20 06:32:06.840 [Test worker @coroutine#121] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37221/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:06.959 [Test worker @coroutine#121] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false 2026-06-20 06:32:06.963 [Test worker @coroutine#121] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false. 2026-06-20 06:32:06.963 [Test worker @coroutine#121] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false 2026-06-20 06:32:06.974 [eventLoopGroupProxy-19-1 @call-handler#141] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:06.980 [Test worker @coroutine#121] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false 2026-06-20 06:32:06.980 [Test worker @coroutine#121] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false 2026-06-20 06:32:06.980 [Test worker @coroutine#121] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false 2026-06-20 06:32:06.984 [Test worker @coroutine#121] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37221/api/school/respect/person?since=2026-06-20T02%3A32%3A06.824650998Z&includeRelated=false. 2026-06-20 06:32:09.126 [Test worker @coroutine#147] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:09.127 [Test worker @coroutine#147] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-20 06:32:09.128 [DefaultDispatcher-worker-4 @coroutine#156] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33491 2026-06-20 06:32:09.205 [DefaultDispatcher-worker-2 @coroutine#154] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33491/api/school/respect/person 2026-06-20 06:32:09.205 [DefaultDispatcher-worker-2 @coroutine#154] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@44f11879 for http://localhost:33491/api/school/respect/person 2026-06-20 06:32:09.205 [DefaultDispatcher-worker-2 @coroutine#154] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33491/api/school/respect/person 2026-06-20 06:32:09.205 [DefaultDispatcher-worker-2 @coroutine#154] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:33491/api/school/respect/person from class io.ktor.http.content.TextContent 2026-06-20 06:32:09.223 [eventLoopGroupProxy-22-1 @call-handler#166] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> SUCCESS @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:POST) 2026-06-20 06:32:09.243 [eventLoopGroupProxy-22-1 @call-handler#166] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List) for call /api/school/respect/person 2026-06-20 06:32:09.252 [DefaultDispatcher-worker-2 @call-handler#166] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /api/school/respect/person request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-20 06:32:09.262 [DefaultDispatcher-worker-7 @coroutine#154] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33491/api/school/respect/person 2026-06-20 06:32:09.262 [DefaultDispatcher-worker-7 @coroutine#154] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33491/api/school/respect/person 2026-06-20 06:32:09.262 [DefaultDispatcher-worker-7 @coroutine#154] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33491/api/school/respect/person 2026-06-20 06:32:11.464 [Test worker @coroutine#171] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:11.466 [Test worker @coroutine#171] INFO io.ktor.server.Application - Application started in 0.046 seconds. 2026-06-20 06:32:11.473 [DefaultDispatcher-worker-2 @coroutine#180] INFO io.ktor.server.Application - Responding at http://0.0.0.0:37589 2026-06-20 06:32:11.474 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37589/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:11.475 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37589/api/school/respect/schoolpermissiongrant. 2026-06-20 06:32:11.475 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37589/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:11.491 [eventLoopGroupProxy-25-1 @call-handler#184] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, schoolpermissiongrant] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/person /api/school/respect/schoolpermissiongrant, segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant /api/school/respect/schoolpermissiongrant/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) Matched routes: "" -> "api" -> "school" -> "respect" -> "schoolpermissiongrant" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/schoolpermissiongrant/(method:GET) 2026-06-20 06:32:11.499 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37589/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:11.499 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37589/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:11.499 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37589/api/school/respect/schoolpermissiongrant 2026-06-20 06:32:11.504 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37589/api/school/respect/schoolpermissiongrant. 2026-06-20 06:32:11.554 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:11.554 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37589/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:11.554 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:11.556 [eventLoopGroupProxy-25-1 @call-handler#190] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:11.562 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:11.563 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:11.563 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:11.564 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37589/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:13.570 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:13.570 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:37589/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:13.570 [Test worker @coroutine#171] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:13.572 [eventLoopGroupProxy-25-1 @call-handler#197] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) /api/school/respect/schoolpermissiongrant, segment:3 -> FAILURE "Selector didn't match" @ /api/school/respect/schoolpermissiongrant Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:13.576 [Test worker @coroutine#171] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:13.576 [Test worker @coroutine#171] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:13.576 [Test worker @coroutine#171] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:37589/api/school/respect/person?includeRelated=false 2026-06-20 06:32:13.577 [Test worker @coroutine#171] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:37589/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:15.693 [Test worker @coroutine#203] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:15.694 [Test worker @coroutine#203] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-20 06:32:15.703 [DefaultDispatcher-worker-2 @coroutine#212] INFO io.ktor.server.Application - Responding at http://0.0.0.0:34203 2026-06-20 06:32:15.709 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34203/api/school/respect/person?includeRelated=false 2026-06-20 06:32:15.709 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34203/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:15.709 [Test worker @coroutine#203] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34203/api/school/respect/person?includeRelated=false 2026-06-20 06:32:15.717 [eventLoopGroupProxy-28-1 @call-handler#217] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:15.725 [Test worker @coroutine#203] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34203/api/school/respect/person?includeRelated=false 2026-06-20 06:32:15.726 [Test worker @coroutine#203] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34203/api/school/respect/person?includeRelated=false 2026-06-20 06:32:15.726 [Test worker @coroutine#203] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34203/api/school/respect/person?includeRelated=false 2026-06-20 06:32:15.727 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34203/api/school/respect/person?includeRelated=false. 2026-06-20 06:32:15.784 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false 2026-06-20 06:32:15.784 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false. 2026-06-20 06:32:15.784 [Test worker @coroutine#203] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false 2026-06-20 06:32:15.786 [eventLoopGroupProxy-28-1 @call-handler#224] TRACE io.ktor.server.routing.Routing - Trace for [api, school, respect, person] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/respect, segment:3 -> SUCCESS @ /api/school/respect /api/school/respect/person, segment:4 -> SUCCESS @ /api/school/respect/person /api/school/respect/person/(method:GET), segment:4 -> SUCCESS @ /api/school/respect/person/(method:GET) /api/school/respect/person/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/respect/person/(method:POST) Matched routes: "" -> "api" -> "school" -> "respect" -> "person" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/respect/person/(method:GET) 2026-06-20 06:32:15.789 [Test worker @coroutine#203] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false 2026-06-20 06:32:15.789 [Test worker @coroutine#203] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false 2026-06-20 06:32:15.789 [Test worker @coroutine#203] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false 2026-06-20 06:32:15.790 [Test worker @coroutine#203] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:34203/api/school/respect/person?since=2026-06-20T02%3A32%3A15.718659103Z&includeRelated=false. 2026-06-20 06:32:17.907 [Test worker @coroutine#230] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:17.908 [Test worker @coroutine#230] INFO io.ktor.server.Application - Application started in 0.048 seconds. 2026-06-20 06:32:17.909 [DefaultDispatcher-worker-2 @coroutine#240] INFO io.ktor.server.Application - Responding at http://0.0.0.0:36037 2026-06-20 06:32:17.911 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a 2026-06-20 06:32:17.911 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a. 2026-06-20 06:32:17.911 [Test worker @coroutine#230] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a 2026-06-20 06:32:17.914 [eventLoopGroupProxy-31-1 @call-handler#244] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 5ac33892-0f67-4772-8c22-9043fb4cb48a] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[5ac33892-0f67-4772-8c22-9043fb4cb48a]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:GET)" Routing resolve result: SUCCESS; Parameters [uuid=[5ac33892-0f67-4772-8c22-9043fb4cb48a]] @ /playlist/{uuid}/(method:GET) 2026-06-20 06:32:17.919 [Test worker @coroutine#230] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a 2026-06-20 06:32:17.920 [Test worker @coroutine#230] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a 2026-06-20 06:32:17.920 [Test worker @coroutine#230] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a 2026-06-20 06:32:17.920 [Test worker @coroutine#230] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:36037/playlist/5ac33892-0f67-4772-8c22-9043fb4cb48a. 2026-06-20 06:32:20.085 [Test worker @coroutine#248] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:20.086 [Test worker @coroutine#248] INFO io.ktor.server.Application - Application started in 0.043 seconds. 2026-06-20 06:32:20.087 [DefaultDispatcher-worker-7 @coroutine#257] INFO io.ktor.server.Application - Responding at http://0.0.0.0:38339 2026-06-20 06:32:20.137 [DefaultDispatcher-worker-7 @coroutine#255] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:20.138 [DefaultDispatcher-worker-7 @coroutine#255] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@189a254 for http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:20.138 [DefaultDispatcher-worker-7 @coroutine#255] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:20.138 [DefaultDispatcher-worker-7 @coroutine#255] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 from class io.ktor.http.content.TextContent 2026-06-20 06:32:20.140 [eventLoopGroupProxy-34-1 @call-handler#265] TRACE io.ktor.server.routing.Routing - Trace for [playlist, 8372d47f-f0ca-4c12-811c-695e1619df02] /, segment:0 -> SUCCESS @ / /playlist, segment:1 -> SUCCESS @ /playlist /playlist/{uuid}, segment:2 -> SUCCESS; Parameters [uuid=[8372d47f-f0ca-4c12-811c-695e1619df02]] @ /playlist/{uuid} /playlist/{uuid}/(method:GET), segment:2 -> FAILURE "Selector didn't match" @ /playlist/{uuid}/(method:GET) /playlist/{uuid}/(method:POST), segment:2 -> SUCCESS @ /playlist/{uuid}/(method:POST) Matched routes: "" -> "playlist" -> "{uuid}" -> "(method:POST)" Routing resolve result: SUCCESS; Parameters [uuid=[8372d47f-f0ca-4c12-811c-695e1619df02]] @ /playlist/{uuid}/(method:POST) 2026-06-20 06:32:20.140 [eventLoopGroupProxy-34-1 @call-handler#265] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(world.respect.lib.opds.model.OpdsFeed) for call /playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:20.141 [DefaultDispatcher-worker-7 @call-handler#265] TRACE i.k.s.p.c.ContentNegotiation - Skipping response body transformation from HttpStatusCode to OutgoingContent for the POST /playlist/8372d47f-f0ca-4c12-811c-695e1619df02 request because the HttpStatusCode type is ignored. See [ContentNegotiationConfig::ignoreType]. 2026-06-20 06:32:20.142 [DefaultDispatcher-worker-3 @coroutine#255] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:20.142 [DefaultDispatcher-worker-3 @coroutine#255] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:20.142 [DefaultDispatcher-worker-3 @coroutine#255] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38339/playlist/8372d47f-f0ca-4c12-811c-695e1619df02 2026-06-20 06:32:22.301 [Test worker @coroutine#270] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:22.303 [Test worker @coroutine#270] INFO io.ktor.server.Application - Application started in 0.07 seconds. 2026-06-20 06:32:22.304 [DefaultDispatcher-worker-3 @coroutine#279] INFO io.ktor.server.Application - Responding at http://0.0.0.0:46857 2026-06-20 06:32:22.387 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:46857/api/school/xapi/statements 2026-06-20 06:32:22.388 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@4de374fb for http://localhost:46857/api/school/xapi/statements 2026-06-20 06:32:22.388 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:46857/api/school/xapi/statements 2026-06-20 06:32:22.388 [DefaultDispatcher-worker-1 @coroutine#277] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:46857/api/school/xapi/statements from class io.ktor.http.content.TextContent 2026-06-20 06:32:22.391 [eventLoopGroupProxy-37-1 @call-handler#289] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:POST)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:POST) 2026-06-20 06:32:22.391 [eventLoopGroupProxy-37-1 @call-handler#289] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlinx.serialization.json.JsonElement) for call /api/school/xapi/statements 2026-06-20 06:32:22.401 [DefaultDispatcher-worker-3 @coroutine#277] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:46857/api/school/xapi/statements 2026-06-20 06:32:22.401 [DefaultDispatcher-worker-3 @coroutine#277] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:46857/api/school/xapi/statements 2026-06-20 06:32:22.401 [DefaultDispatcher-worker-3 @coroutine#277] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:46857/api/school/xapi/statements 2026-06-20 06:32:22.401 [DefaultDispatcher-worker-3 @coroutine#277] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:46857/api/school/xapi/statements. 2026-06-20 06:32:24.533 [Test worker @coroutine#295] INFO io.ktor.server.Application - Autoreload is disabled because the development mode is off. 2026-06-20 06:32:24.534 [Test worker @coroutine#295] INFO io.ktor.server.Application - Application started in 0.04 seconds. 2026-06-20 06:32:24.535 [DefaultDispatcher-worker-3 @coroutine#304] INFO io.ktor.server.Application - Responding at http://0.0.0.0:33609 2026-06-20 06:32:24.615 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-20 06:32:24.616 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false. 2026-06-20 06:32:24.616 [Test worker @coroutine#295] TRACE i.ktor.client.plugins.HttpPlainText - Adding Accept-Charset=UTF-8 to http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-20 06:32:24.618 [eventLoopGroupProxy-40-1 @call-handler#312] TRACE io.ktor.server.routing.Routing - Trace for [api, school, xapi, statements] /, segment:0 -> SUCCESS @ / /api, segment:1 -> SUCCESS @ /api /api/school, segment:2 -> SUCCESS @ /api/school /api/school/xapi, segment:3 -> SUCCESS @ /api/school/xapi /api/school/xapi/statements, segment:4 -> SUCCESS @ /api/school/xapi/statements /api/school/xapi/statements/(method:GET), segment:4 -> SUCCESS @ /api/school/xapi/statements/(method:GET) /api/school/xapi/statements/(method:POST), segment:4 -> FAILURE "Selector didn't match" @ /api/school/xapi/statements/(method:POST) Matched routes: "" -> "api" -> "school" -> "xapi" -> "statements" -> "(method:GET)" Routing resolve result: SUCCESS @ /api/school/xapi/statements/(method:GET) 2026-06-20 06:32:24.621 [Test worker @coroutine#295] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-20 06:32:24.622 [Test worker @coroutine#295] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-20 06:32:24.622 [Test worker @coroutine#295] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false 2026-06-20 06:32:24.623 [Test worker @coroutine#295] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.xapi.model.XapiStatementResult for http://localhost:33609/api/school/xapi/statements?statementId=6690e6c9-3ef0-4ed3-8b37-7f3964730bee&related_activities=false&related_agents=false&format=exact&attachments=false&ascending=false.