<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="PersonRepositoryIntegrationTest[jvm]" tests="6" skipped="0" failures="0" errors="0" timestamp="2026-09-18T08:05:18.263Z" hostname="devserver3.ustadmobile.com" time="9.167">
  <properties/>
  <testcase name="givenRequestMade_whenSameRequestMadeAgain_thenRemoteDataWillReturnNotModified[jvm]" classname="world.respect.datalayer.repository.school.PersonRepositoryIntegrationTest" time="1.326"/>
  <testcase name="givenRemotePagingSourceWillLoad[jvm]" classname="world.respect.datalayer.repository.school.PersonRepositoryIntegrationTest" time="1.164"/>
  <testcase name="givenRequestMade_whenNextRequestSinceParamSetToPreviousConsistentThroughValue_thenRemoteResultShouldBeEmpty[jvm]" classname="world.respect.datalayer.repository.school.PersonRepositoryIntegrationTest" time="1.186"/>
  <testcase name="givenPersonWrittenLocally_whenStored_thenWillSendToRemote[jvm]" classname="world.respect.datalayer.repository.school.PersonRepositoryIntegrationTest" time="1.156"/>
  <testcase name="givenRequestMade_whenDataChangedAndSameRequestMadeAgain_thenRemoteDataWillBeLoaded[jvm]" classname="world.respect.datalayer.repository.school.PersonRepositoryIntegrationTest" time="3.172"/>
  <testcase name="givenRequestMade_whenDataChangedAndNextRequestSinceParamSetToPreviousConsistentThroughValue_thenRemoteResultShouldBeUpdated[jvm]" classname="world.respect.datalayer.repository.school.PersonRepositoryIntegrationTest" time="1.163"/>
  <system-out><![CDATA[2026-09-18 12:05:18.442 [Test worker @coroutine#62] INFO  io.ktor.server.Application - Autoreload is disabled because the development mode is off.
2026-09-18 12:05:18.450 [Test worker @coroutine#62] INFO  io.ktor.server.Application - Application started in 0.118 seconds.
2026-09-18 12:05:18.452 [DefaultDispatcher-worker-1 @coroutine#71] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:35365
2026-09-18 12:05:18.465 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35365/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:18.465 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35365/api/school/respect/schoolpermissiongrant.
2026-09-18 12:05:18.469 [eventLoopGroupProxy-13-1 @call-handler#74] 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-09-18 12:05:18.483 [Test worker @coroutine#62] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35365/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:18.483 [Test worker @coroutine#62] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35365/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:18.483 [Test worker @coroutine#62] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35365/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:18.485 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35365/api/school/respect/schoolpermissiongrant.
2026-09-18 12:05:18.549 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.549 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35365/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:18.551 [eventLoopGroupProxy-13-1 @call-handler#80] 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-09-18 12:05:18.572 [Test worker @coroutine#62] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.573 [Test worker @coroutine#62] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.573 [Test worker @coroutine#62] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.574 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:35365/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:18.579 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.579 [Test worker @coroutine#62] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35365/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:18.581 [eventLoopGroupProxy-13-1 @call-handler#86] 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-09-18 12:05:18.583 [eventLoopGroupProxy-13-1 @call-handler#86] 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-09-18 12:05:18.583 [Test worker @coroutine#62] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.584 [Test worker @coroutine#62] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:18.584 [Test worker @coroutine#62] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35365/api/school/respect/person?includeRelated=false
2026-09-18 12:05:19.680 [Test worker @coroutine#90] INFO  io.ktor.server.Application - Autoreload is disabled because the development mode is off.
2026-09-18 12:05:19.681 [Test worker @coroutine#90] INFO  io.ktor.server.Application - Application started in 0.04 seconds.
2026-09-18 12:05:19.682 [DefaultDispatcher-worker-4 @coroutine#99] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:43295
2026-09-18 12:05:19.683 [Test worker @coroutine#90] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43295/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:19.683 [Test worker @coroutine#90] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43295/api/school/respect/schoolpermissiongrant.
2026-09-18 12:05:19.686 [eventLoopGroupProxy-16-1 @call-handler#102] 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-09-18 12:05:19.688 [Test worker @coroutine#90] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43295/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:19.688 [Test worker @coroutine#90] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43295/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:19.688 [Test worker @coroutine#90] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43295/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:19.688 [Test worker @coroutine#90] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43295/api/school/respect/schoolpermissiongrant.
2026-09-18 12:05:19.737 [DefaultDispatcher-worker-3 @coroutine#108] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43295/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100
2026-09-18 12:05:19.738 [DefaultDispatcher-worker-3 @coroutine#108] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43295/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100.
2026-09-18 12:05:19.739 [eventLoopGroupProxy-16-1 @call-handler#112] 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-09-18 12:05:19.742 [DefaultDispatcher-worker-4 @coroutine#108] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43295/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100
2026-09-18 12:05:19.742 [DefaultDispatcher-worker-4 @coroutine#108] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43295/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100
2026-09-18 12:05:19.742 [DefaultDispatcher-worker-4 @coroutine#108] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43295/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100
2026-09-18 12:05:19.743 [DefaultDispatcher-worker-4 @coroutine#108] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:43295/api/school/respect/person?includeDeleted=true&includeRelated=false&offset=0&limit=100.
2026-09-18 12:05:20.865 [Test worker @coroutine#117] INFO  io.ktor.server.Application - Autoreload is disabled because the development mode is off.
2026-09-18 12:05:20.866 [Test worker @coroutine#117] INFO  io.ktor.server.Application - Application started in 0.04 seconds.
2026-09-18 12:05:20.867 [DefaultDispatcher-worker-3 @coroutine#126] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:41913
2026-09-18 12:05:20.870 [Test worker @coroutine#117] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41913/api/school/respect/person?includeRelated=false
2026-09-18 12:05:20.870 [Test worker @coroutine#117] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41913/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:20.872 [eventLoopGroupProxy-19-1 @call-handler#130] 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-09-18 12:05:20.876 [Test worker @coroutine#117] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41913/api/school/respect/person?includeRelated=false
2026-09-18 12:05:20.876 [Test worker @coroutine#117] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41913/api/school/respect/person?includeRelated=false
2026-09-18 12:05:20.876 [Test worker @coroutine#117] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41913/api/school/respect/person?includeRelated=false
2026-09-18 12:05:20.877 [Test worker @coroutine#117] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41913/api/school/respect/person?includeRelated=false.
DataReadyState(data=[Person(guid=4242, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:20.754Z, stored=2026-09-18T08:05:20.915Z, metadata=null, userMasterIdentifier=null, username=null, givenName=Admin, familyName=User, middleName=null, gender=UNSPECIFIED, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SYSTEM_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null)], metaInfo=DataLoadMetaInfo(lastModified=1789718720754, lastStored=1789718720915, etag=null, url=http://localhost:41913/api/school/respect/person?includeRelated=false, consistentThrough=2026-09-18T08:05:20.917284624Z, validationInfoKey=0, varyHeader=null, headers=null, permissionsLastModified=null), localState=DataReadyState(data=[Person(guid=4242, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:20.754Z, stored=2026-09-18T08:05:20.915Z, metadata=null, userMasterIdentifier=null, username=null, givenName=Admin, familyName=User, middleName=null, gender=UNSPECIFIED, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SYSTEM_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null)], metaInfo=DataLoadMetaInfo(lastModified=1789718720754, lastStored=1789718720915, etag=null, url=null, consistentThrough=2026-09-18T08:05:20.917284624Z, validationInfoKey=0, varyHeader=null, headers=null, permissionsLastModified=null), localState=null, remoteState=null), remoteState=DataReadyState(data=[Person(guid=4242, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:20.754Z, stored=2026-09-18T08:05:20.825Z, metadata=null, userMasterIdentifier=null, username=null, givenName=Admin, familyName=User, middleName=null, gender=UNSPECIFIED, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SYSTEM_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null), Person(guid=42, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:20.753Z, stored=2026-09-18T08:05:20.868Z, metadata=null, userMasterIdentifier=null, username=test, givenName=test, familyName=test, middleName=null, gender=FEMALE, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SITE_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null)], metaInfo=DataLoadMetaInfo(lastModified=1789718720000, lastStored=-1, etag=null, url=http://localhost:41913/api/school/respect/person?includeRelated=false, consistentThrough=2026-09-18T08:05:20.873155907Z, validationInfoKey=7092960727423664838, varyHeader=Authorization, headers=io.ktor.client.engine.okhttp.OkUtilsKt$fromOkHttp$1@646e6d07, permissionsLastModified=null), localState=null, remoteState=null))
2026-09-18 12:05:20.930 [Test worker @coroutine#117] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:41913/api/school/respect/person?since=2026-09-18T08%3A05%3A20.873155907Z&includeRelated=false
2026-09-18 12:05:20.930 [Test worker @coroutine#117] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:41913/api/school/respect/person?since=2026-09-18T08%3A05%3A20.873155907Z&includeRelated=false.
2026-09-18 12:05:20.932 [eventLoopGroupProxy-19-1 @call-handler#136] 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-09-18 12:05:20.933 [Test worker @coroutine#117] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:41913/api/school/respect/person?since=2026-09-18T08%3A05%3A20.873155907Z&includeRelated=false
2026-09-18 12:05:20.934 [Test worker @coroutine#117] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:41913/api/school/respect/person?since=2026-09-18T08%3A05%3A20.873155907Z&includeRelated=false
2026-09-18 12:05:20.934 [Test worker @coroutine#117] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:41913/api/school/respect/person?since=2026-09-18T08%3A05%3A20.873155907Z&includeRelated=false
2026-09-18 12:05:20.934 [Test worker @coroutine#117] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:41913/api/school/respect/person?since=2026-09-18T08%3A05%3A20.873155907Z&includeRelated=false.
Run time: 67.032710ms
2026-09-18 12:05:22.033 [Test worker @coroutine#142] INFO  io.ktor.server.Application - Autoreload is disabled because the development mode is off.
2026-09-18 12:05:22.034 [Test worker @coroutine#142] INFO  io.ktor.server.Application - Application started in 0.039 seconds.
2026-09-18 12:05:22.035 [DefaultDispatcher-worker-4 @coroutine#151] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:36417
2026-09-18 12:05:22.079 [DefaultDispatcher-worker-3 @coroutine#149] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36417/api/school/respect/person
2026-09-18 12:05:22.079 [DefaultDispatcher-worker-3 @coroutine#149] TRACE i.k.c.p.c.ContentNegotiation - Converted request body using io.ktor.serialization.kotlinx.KotlinxSerializationConverter@58adf4e8 for http://localhost:36417/api/school/respect/person
2026-09-18 12:05:22.080 [DefaultDispatcher-worker-3 @coroutine#149] TRACE i.k.c.plugins.defaultTransformers - Transformed with default transformers request body for http://localhost:36417/api/school/respect/person from class io.ktor.http.content.TextContent
2026-09-18 12:05:22.084 [eventLoopGroupProxy-22-1 @call-handler#160] 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-09-18 12:05:22.088 [eventLoopGroupProxy-22-1 @call-handler#160] TRACE i.k.server.engine.DefaultTransform - No Default Transformations found for class io.ktor.utils.io.ByteChannel and expected type TypeInfo(kotlin.collections.List<world.respect.datalayer.school.model.Person>) for call /api/school/respect/person
2026-09-18 12:05:22.089 [eventLoopGroupProxy-22-1 @call-handler#160] 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-09-18 12:05:22.090 [DefaultDispatcher-worker-6 @coroutine#149] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36417/api/school/respect/person
2026-09-18 12:05:22.091 [DefaultDispatcher-worker-6 @coroutine#149] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36417/api/school/respect/person
2026-09-18 12:05:22.091 [DefaultDispatcher-worker-6 @coroutine#149] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36417/api/school/respect/person
2026-09-18 12:05:23.195 [Test worker @coroutine#165] INFO  io.ktor.server.Application - Autoreload is disabled because the development mode is off.
2026-09-18 12:05:23.196 [Test worker @coroutine#165] INFO  io.ktor.server.Application - Application started in 0.04 seconds.
2026-09-18 12:05:23.197 [DefaultDispatcher-worker-3 @coroutine#174] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:40157
2026-09-18 12:05:23.198 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40157/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:23.198 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40157/api/school/respect/schoolpermissiongrant.
2026-09-18 12:05:23.200 [eventLoopGroupProxy-25-1 @call-handler#177] 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-09-18 12:05:23.202 [Test worker @coroutine#165] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40157/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:23.203 [Test worker @coroutine#165] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40157/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:23.203 [Test worker @coroutine#165] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40157/api/school/respect/schoolpermissiongrant
2026-09-18 12:05:23.203 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40157/api/school/respect/schoolpermissiongrant.
2026-09-18 12:05:23.245 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:23.245 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40157/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:23.246 [eventLoopGroupProxy-25-1 @call-handler#183] 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-09-18 12:05:23.251 [Test worker @coroutine#165] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:23.251 [Test worker @coroutine#165] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:23.251 [Test worker @coroutine#165] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:23.252 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40157/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:25.257 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:25.257 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:40157/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:25.259 [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-09-18 12:05:25.261 [Test worker @coroutine#165] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:25.261 [Test worker @coroutine#165] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:25.261 [Test worker @coroutine#165] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:40157/api/school/respect/person?includeRelated=false
2026-09-18 12:05:25.262 [Test worker @coroutine#165] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:40157/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:26.369 [Test worker @coroutine#196] INFO  io.ktor.server.Application - Autoreload is disabled because the development mode is off.
2026-09-18 12:05:26.370 [Test worker @coroutine#196] INFO  io.ktor.server.Application - Application started in 0.039 seconds.
2026-09-18 12:05:26.371 [DefaultDispatcher-worker-3 @coroutine#205] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:36983
2026-09-18 12:05:26.373 [Test worker @coroutine#196] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36983/api/school/respect/person?includeRelated=false
2026-09-18 12:05:26.373 [Test worker @coroutine#196] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36983/api/school/respect/person?includeRelated=false.
2026-09-18 12:05:26.376 [eventLoopGroupProxy-28-1 @call-handler#209] 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-09-18 12:05:26.379 [Test worker @coroutine#196] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36983/api/school/respect/person?includeRelated=false
2026-09-18 12:05:26.379 [Test worker @coroutine#196] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36983/api/school/respect/person?includeRelated=false
2026-09-18 12:05:26.379 [Test worker @coroutine#196] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36983/api/school/respect/person?includeRelated=false
2026-09-18 12:05:26.380 [Test worker @coroutine#196] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36983/api/school/respect/person?includeRelated=false.
DataReadyState(data=[Person(guid=4242, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:26.269Z, stored=2026-09-18T08:05:26.417Z, metadata=null, userMasterIdentifier=null, username=null, givenName=Admin, familyName=User, middleName=null, gender=UNSPECIFIED, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SYSTEM_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null)], metaInfo=DataLoadMetaInfo(lastModified=1789718726269, lastStored=1789718726417, etag=null, url=http://localhost:36983/api/school/respect/person?includeRelated=false, consistentThrough=2026-09-18T08:05:26.418498968Z, validationInfoKey=0, varyHeader=null, headers=null, permissionsLastModified=null), localState=DataReadyState(data=[Person(guid=4242, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:26.269Z, stored=2026-09-18T08:05:26.417Z, metadata=null, userMasterIdentifier=null, username=null, givenName=Admin, familyName=User, middleName=null, gender=UNSPECIFIED, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SYSTEM_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null)], metaInfo=DataLoadMetaInfo(lastModified=1789718726269, lastStored=1789718726417, etag=null, url=null, consistentThrough=2026-09-18T08:05:26.418498968Z, validationInfoKey=0, varyHeader=null, headers=null, permissionsLastModified=null), localState=null, remoteState=null), remoteState=DataReadyState(data=[Person(guid=4242, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:26.269Z, stored=2026-09-18T08:05:26.330Z, metadata=null, userMasterIdentifier=null, username=null, givenName=Admin, familyName=User, middleName=null, gender=UNSPECIFIED, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SYSTEM_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null), Person(guid=42, userActive=true, status=ACTIVE, lastModified=2026-09-18T08:05:26.267Z, stored=2026-09-18T08:05:26.371Z, metadata=null, userMasterIdentifier=null, username=test, givenName=test, familyName=test, middleName=null, gender=FEMALE, preferredFirstName=null, preferredMiddleName=null, preferredLastName=null, pronouns=null, roles=[PersonRole(isPrimaryRole=true, roleEnum=SITE_ADMINISTRATOR, beginDate=null, endDate=null)], relatedPersonUids=[], dateOfBirth=null, email=null, phoneNumber=null)], metaInfo=DataLoadMetaInfo(lastModified=1789718726000, lastStored=-1, etag=null, url=http://localhost:36983/api/school/respect/person?includeRelated=false, consistentThrough=2026-09-18T08:05:26.376439982Z, validationInfoKey=7092960727423664838, varyHeader=Authorization, headers=io.ktor.client.engine.okhttp.OkUtilsKt$fromOkHttp$1@29aa4bc9, permissionsLastModified=null), localState=null, remoteState=null))
2026-09-18 12:05:26.422 [Test worker @coroutine#196] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:36983/api/school/respect/person?since=2026-09-18T08%3A05%3A26.376439982Z&includeRelated=false
2026-09-18 12:05:26.422 [Test worker @coroutine#196] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:36983/api/school/respect/person?since=2026-09-18T08%3A05%3A26.376439982Z&includeRelated=false.
2026-09-18 12:05:26.423 [eventLoopGroupProxy-28-1 @call-handler#216] 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-09-18 12:05:26.425 [Test worker @coroutine#196] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:36983/api/school/respect/person?since=2026-09-18T08%3A05%3A26.376439982Z&includeRelated=false
2026-09-18 12:05:26.425 [Test worker @coroutine#196] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:36983/api/school/respect/person?since=2026-09-18T08%3A05%3A26.376439982Z&includeRelated=false
2026-09-18 12:05:26.425 [Test worker @coroutine#196] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:36983/api/school/respect/person?since=2026-09-18T08%3A05%3A26.376439982Z&includeRelated=false
2026-09-18 12:05:26.425 [Test worker @coroutine#196] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class java.util.ArrayList for http://localhost:36983/api/school/respect/person?since=2026-09-18T08%3A05%3A26.376439982Z&includeRelated=false.
Run time: 54.635381ms
]]></system-out>
  <system-err><![CDATA[Sep 18, 2026 12:05:23 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] MapPagingSource$load - MapPagingSource(tag=PersonDataSourceDb/listAsPagingSource(params=GetListParams(common=GetListCommonParams(guid=null, searchQuery=null, since=null, sinceIfPermissionsNotChangedSince=null, includeDeleted=null), filterByClazzUid=null, filterByEnrolmentRole=null, filterByName=null, filterByPersonStatus=null, filterByPersonRole=null, includeRelated=false, inClassOnDay=null))): load Refresh(key=0, loadSize=1000)
Sep 18, 2026 12:05:25 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] DelegatedInvalidationPagingSource$onSrcInvalidated - RPaging/DelegatedInvalidationPagingSource(extra=PersonDataSourceDb/listAsPagingSource(params=GetListParams(common=GetListCommonParams(guid=null, searchQuery=null, since=null, sinceIfPermissionsNotChangedSince=null, includeDeleted=null), filterByClazzUid=null, filterByEnrolmentRole=null, filterByName=null, filterByPersonStatus=null, filterByPersonRole=null, includeRelated=false, inClassOnDay=null))) src invalidated
Sep 18, 2026 12:05:25 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] HttpRequestBuilderExtKt$addCacheValidationHeaders - addCacheValidationHeaders = If-Modified-Since = Fri, 18 Sep 2026 08:05:23 GMT for http://localhost:40157/api/school/respect/person?includeRelated=false
Sep 18, 2026 12:05:25 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] MapPagingSource$load - MapPagingSource(tag=PersonDataSourceDb/listAsPagingSource(params=GetListParams(common=GetListCommonParams(guid=null, searchQuery=null, since=null, sinceIfPermissionsNotChangedSince=null, includeDeleted=null), filterByClazzUid=null, filterByEnrolmentRole=null, filterByName=null, filterByPersonStatus=null, filterByPersonRole=null, includeRelated=false, inClassOnDay=null))): load Refresh(key=0, loadSize=1000)
Sep 18, 2026 12:05:26 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] MapPagingSource$load - MapPagingSource(tag=PersonDataSourceDb/listAsPagingSource(params=GetListParams(common=GetListCommonParams(guid=null, searchQuery=null, since=null, sinceIfPermissionsNotChangedSince=null, includeDeleted=null), filterByClazzUid=null, filterByEnrolmentRole=null, filterByName=null, filterByPersonStatus=null, filterByPersonRole=null, includeRelated=false, inClassOnDay=null))): load Refresh(key=0, loadSize=1000)
Sep 18, 2026 12:05:26 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] DelegatedInvalidationPagingSource$onSrcInvalidated - RPaging/DelegatedInvalidationPagingSource(extra=PersonDataSourceDb/listAsPagingSource(params=GetListParams(common=GetListCommonParams(guid=null, searchQuery=null, since=null, sinceIfPermissionsNotChangedSince=null, includeDeleted=null), filterByClazzUid=null, filterByEnrolmentRole=null, filterByName=null, filterByPersonStatus=null, filterByPersonRole=null, includeRelated=false, inClassOnDay=null))) src invalidated
Sep 18, 2026 12:05:26 PM io.github.aakira.napier.DebugAntilog performLog
FINE: [DEBUG] MapPagingSource$load - MapPagingSource(tag=PersonDataSourceDb/listAsPagingSource(params=GetListParams(common=GetListCommonParams(guid=null, searchQuery=null, since=2026-09-18T08:05:26.376439982Z, sinceIfPermissionsNotChangedSince=null, includeDeleted=null), filterByClazzUid=null, filterByEnrolmentRole=null, filterByName=null, filterByPersonStatus=null, filterByPersonRole=null, includeRelated=false, inClassOnDay=null))): load Refresh(key=0, loadSize=1000)
]]></system-err>
</testsuite>
