{
  "_class" : "hudson.tasks.junit.TestResult",
  "testActions" : [
    
  ],
  "duration" : 41.20201,
  "empty" : False,
  "failCount" : 0,
  "passCount" : 335,
  "skipCount" : 2,
  "suites" : [
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
          "duration" : 0.298,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDatabaseCreated_thenWhenOpened_itShouldBloodyWellBeThereFfs",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "17:32:20,937 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:20,938 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - No custom configurators were discovered as a service.\u000a17:32:20,938 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:20,939 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - Constructed \u000a...[truncated 3437 chars]...\u000alevel of logger [io.netty] to INFO\u000a17:32:21,014 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4c5474f5 - End of configuration.\u000a17:32:21,015 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2f4205be - Registering current configuration as safe fallback point\u000a17:32:21,015 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 71 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.298,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "17:32:20,937 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:20,938 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - No custom configurators were discovered as a service.\u000a17:32:20,938 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:20,939 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - Constructed \u000a...[truncated 3437 chars]...\u000alevel of logger [io.netty] to INFO\u000a17:32:21,014 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4c5474f5 - End of configuration.\u000a17:32:21,015 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2f4205be - Registering current configuration as safe fallback point\u000a17:32:21,015 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c9bfddc - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 71 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-06-26T15:32:20.895Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
          "duration" : 0.998,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCredentials_whenLoginCalled_thenShouldReturnAccount",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a         SELECT PersonAuth2.* FROM PersonAuth2 where PersonAuth2.pauthUid = ?\u000a    \"\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - useNewConnectionAsyncInternal connection #4 : end transaction #4\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
          "duration" : 0.134,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidCredentials_whenLoginCalled_thenShouldRespondForbidden",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a         SELECT PersonAuth2.* FROM PersonAuth2 where PersonAuth2.pauthUid = ?\u000a    \"\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - useNewConnectionAsyncInternal connection #4 : end transaction #4\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
          "duration" : 0.1,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRegisterPersonWithAuth_whenRegisterCalled_thenShouldGenerateAuth",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a         SELECT PersonAuth2.* FROM PersonAuth2 where PersonAuth2.pauthUid = ?\u000a    \"\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - useNewConnectionAsyncInternal connection #4 : end transaction #4\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.232,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJun 26, 2025 5:32:21 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a         SELECT PersonAuth2.* FROM PersonAuth2 where PersonAuth2.pauthUid = ?\u000a    \"\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - useNewConnectionAsyncInternal connection #4 : end transaction #4\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:21.196Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotCached_whenRequested_thenShouldReturn404",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsCached_whenRequested_thenResponseShouldMatch",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.077,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:22.430Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestSiteRoute",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAvailableWorkSpace_whenRequested_thenShouldReturnWorkSpaceObject",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.029,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestSiteRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aJun 26, 2025 5:32:22 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:22.508Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.162,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithValidData",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.007,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithWrongSignature",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.006,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithWrongChallenge",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.175,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:22.539Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLocale_whenFormatCalled_thenShouldFormatDate[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "[log] Now: 6/26/2025\u000a"
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "[log] Now: 6/26/2025\u000a",
      "timestamp" : "2025-06-26T15:32:02.012Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenApiUrlInSearchParams_whenEndpointResolved_thenShouldReturnSearchParam[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRootHref_whenEndpointIsResolved_thenShouldReturnHref[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHrefWithDevelopmentLink_whenEndpointIsResolved_thenShouldReturnHref[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHrefWithProductionLink_whenEndpointIsResolved_thenShouldReturnHref[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.util.WebEndpointResolverTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:02.013Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.navigation.SavedStateHandle2Test",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateSavedToHistory_whenNewHandleCreated_thenValueShouldBeRestored[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.navigation.SavedStateHandle2Test",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:30:45.936Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 1.264,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithWrongPassword_thenShouldReject[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "17:32:26,319 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:26,320 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - No custom configurators were discovered as a service.\u000a17:32:26,320 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:26,321 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - Constructed \u000a...[truncated 3704 chars]...\u000alevel of logger [io.netty] to INFO\u000a17:32:26,414 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@277b8fa4 - End of configuration.\u000a17:32:26,414 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6cd64ee8 - Registering current configuration as safe fallback point\u000a17:32:26,414 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 86 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 0.134,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithValidPassword_thenShouldAccept[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "17:32:26,319 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:26,320 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - No custom configurators were discovered as a service.\u000a17:32:26,320 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:26,321 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - Constructed \u000a...[truncated 3704 chars]...\u000alevel of logger [io.netty] to INFO\u000a17:32:26,414 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@277b8fa4 - End of configuration.\u000a17:32:26,414 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6cd64ee8 - Registering current configuration as safe fallback point\u000a17:32:26,414 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 86 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 1.398,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.AuthManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "17:32:26,319 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:26,320 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - No custom configurators were discovered as a service.\u000a17:32:26,320 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:26,321 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - Constructed \u000a...[truncated 3704 chars]...\u000alevel of logger [io.netty] to INFO\u000a17:32:26,414 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@277b8fa4 - End of configuration.\u000a17:32:26,414 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6cd64ee8 - Registering current configuration as safe fallback point\u000a17:32:26,414 |-INFO in ch.qos.logback.classic.util.ContextInitializer@18d910b3 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 86 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-06-26T15:32:25.740Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.StringEncryptTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSameParams_differentSecret_thenShouldNotMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.StringEncryptTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSameParams_whenEncrypted_thenShoudlMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.029,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.StringEncryptTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:27.140Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.cachestoragepath.GetStoragePathForUrlUseCaseCommonJvmTest",
          "duration" : 0.011,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestForUrl_whenInvoked_thenWillProvideValidPath[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.011,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.cachestoragepath.GetStoragePathForUrlUseCaseCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:27.171Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSocketAvailable_whenInitialized_thenWillEmitConnected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSocketNotAvailable_whenInitialized_thenWillEmitDisconnected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
          "duration" : 0.301,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSocketAVailableThenNot_whenInitialized_thenWillEmitConnectedThenDisconnected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.311,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:27.183Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.278,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidEpubLink_whenExtractMetadataAndProcessJobComplete_thenDataShouldBeDownloaded[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidEpubFormatFile_whenExtractEntryMetaDataFromFile_thenDataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEpubWithoutOpf_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEpubWithoutNav_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEpubWithManifestItemsMissing_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.396,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:27.497Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNavigationDocumentWhereNavIsNotDirectChild_whenParsed_thenMatchesExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNavigationDocument_whenParsed_thenMatchesExpectedVals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.005,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:27.894Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
          "duration" : 0.174,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNcxDoc_whenParsed_thenShouldProvideExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.174,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:27.900Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ocf.TestContainerParse",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidContainer_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ocf.TestContainerParse",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.074Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.opf.TestPackageParse",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPackageDocThenShouldParse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.opf.TestPackageParse",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.076Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.178,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5pFile_whenStoreInCacheCalled_thenShouldStore[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5pFile_whenExtractMetadataCalled_thenMetadataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileNotH5pFile_whenExtractMetadataCalled_thenShouldReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileWithH5pExtensionNotValidH5p_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.226,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.079Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenExtractMetadataCalled_thenShouldReturnEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonVideoFile_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideoFile_whenAddToCacheCalled_thenWillAddToCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidFileWithRecognizedExtension_whenExtractMetadataCalled_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.122,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.306Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.opds.TestOpds",
          "duration" : 0.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidOpds_whenLoaded_thenShouldHavePropertiesLoaded[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.003,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.opds.TestOpds",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.429Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.113,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdfWithUrl_whenImported_thenDataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.154,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenExtractMetadataCalled_thenWillReturnMetadataEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileNotPdf_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.112,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenAddedToCached_thenDataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileShouldBePdf_whenDataIsNotValid_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.423,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.433Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidTinCanFormatFile_whenGetContentEntryCalled_thenShouldReadMetaData[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2044 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(281), \"coroutine#281\":StandaloneCoroutine{Cancelling}@26c49ccb, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiLink_whenExtractMetadataAndProcessJobComplete_thenDataShouldBeDownloaded[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2044 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(281), \"coroutine#281\":StandaloneCoroutine{Cancelling}@26c49ccb, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileNotTincanZip_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2044 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(281), \"coroutine#281\":StandaloneCoroutine{Cancelling}@26c49ccb, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidTinCanXmlFile_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2044 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(281), \"coroutine#281\":StandaloneCoroutine{Cancelling}@26c49ccb, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.092,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Exception in thread \"UI Thread @coroutine#244\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 2044 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(281), \"coroutine#281\":StandaloneCoroutine{Cancelling}@26c49ccb, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.857Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.076,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenSubmissionAlreadyMadeAndPolicyIsAllowMultipleSubmissions_thenWillSaveSubmission[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenSubmissionAlreadyMadeAndPolicyIsSubmitAllAtOnce_thenWillThrowAlreadySubmittedException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenDeadlineAndGracePeriodPassed_thenWillThrowDeadlinePassedException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenNoSubmissionMadeYet_thenWillSaveSubmission[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenTextTooLong_thenWillThrowTextTooLongException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenAccountPersonUidIsNotSubmitter_thenWillThrowNotSubmitterException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.225,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Exception in thread \"UI Thread @coroutine#297\" java.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u0009at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)\u000a\u0009at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)\u000a\u0009at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)\u000a\u0009at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabas\u000a...[truncated 522 chars]...\u000aer.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u0009Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(297), \"coroutine#297\":StandaloneCoroutine{Cancelling}@7627a952, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:28.952Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
          "duration" : 0.133,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:38267/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientU\u000a...[truncated 1319 chars]...\u000aeted\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:38267/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:38267/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:38267/com/ustadmobile/core/container/testfile3.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.133,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:38267/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientU\u000a...[truncated 1319 chars]...\u000aeted\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:38267/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:38267/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:38267/com/ustadmobile/core/container/testfile3.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:29.178Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
          "duration" : 0.14,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryVersionUidAndManifest_whenInvoked_thenWillCreateLockJoinsAndEnqueueBlobDownloadForAllItemsInManifest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 222 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[TransferJob]\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.14,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 222 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[TransferJob]\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:29.312Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 1.4,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenImportedOnClient_thenWilBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1546565 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@1e2bc241 - http://localhost:35203/UmAppDatabase/replication/sse?door-node=1177702938342209043%2Fbecd0212-63e4-4a41-a131-ed30411067b0] close\u000aJun 26, 2025 5:32:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 2.275,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenUploadInterrupted_thenWillRetry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1546565 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@1e2bc241 - http://localhost:35203/UmAppDatabase/replication/sse?door-node=1177702938342209043%2Fbecd0212-63e4-4a41-a131-ed30411067b0] close\u000aJun 26, 2025 5:32:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 1.171,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1546565 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@1e2bc241 - http://localhost:35203/UmAppDatabase/replication/sse?door-node=1177702938342209043%2Fbecd0212-63e4-4a41-a131-ed30411067b0] close\u000aJun 26, 2025 5:32:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 3.676,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5p_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1546565 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@1e2bc241 - http://localhost:35203/UmAppDatabase/replication/sse?door-node=1177702938342209043%2Fbecd0212-63e4-4a41-a131-ed30411067b0] close\u000aJun 26, 2025 5:32:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 8.522,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1546565 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@1e2bc241 - http://localhost:35203/UmAppDatabase/replication/sse?door-node=1177702938342209043%2Fbecd0212-63e4-4a41-a131-ed30411067b0] close\u000aJun 26, 2025 5:32:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:29.452Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
          "duration" : 0.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUrisToManifest_whenInvoked_thenAreStoredInCacheAsPerManifestBodyDataUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUrisAsB\u000a...[truncated 3361 chars]...\u000arieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.031,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUrisAsB\u000a...[truncated 3361 chars]...\u000arieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:37.975Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
          "duration" : 1.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUris_whenInvoked_thenBlobsAreUploadedAndCanBeRetrievedViaCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5701 chars]...\u000ap://localhost:41583/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:41583/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:41583/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.033,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5701 chars]...\u000ap://localhost:41583/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:41583/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aJun 26, 2025 5:32:38 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:41583/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:38.007Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
          "duration" : 0.106,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTransferJobInDatabase_whenErrorOccurs_thenAttemptCountIncrementAndExceptionThrown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatchDataRetrieved_whenOneUploadThrowsException_thenWillRethrow[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatch_whenInvoked_thenWillRetrievePartialDataAndUpload[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.158,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:39.042Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialRequest_whenInitialzedAndBlobsUploaded_thenWillListRemainingItemsAndStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5ef2-4a80-b810-518b75d8fd26):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5e\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5ef2-4a80-b810-518b75d8fd26):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload ca884266-3467-4f89-9b45-06e8cb94473a):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
          "duration" : 0.005,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewRequest_whenInitializedAndBlobsUploaded_thenWillStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5ef2-4a80-b810-518b75d8fd26):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5e\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5ef2-4a80-b810-518b75d8fd26):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload ca884266-3467-4f89-9b45-06e8cb94473a):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.055,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5ef2-4a80-b810-518b75d8fd26):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5e\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload c8aaf843-5ef2-4a80-b810-518b75d8fd26):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload ca884266-3467-4f89-9b45-06e8cb94473a):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:39.201Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.272,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzDoesNotExist_whenInvoked_thenWillCreateNewClazzAndProcessEnrolment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 486 chars]...\u000amLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidImportRows_whenInvoked_thenWillAddNewPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 486 chars]...\u000amLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMissingRequiredColumns_whenInvoked_thenWillThrowIllegalArgumentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 486 chars]...\u000amLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.312,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 486 chars]...\u000amLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:39.257Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
          "duration" : 0.008,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.008,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:39.569Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.058,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonAlreadyEnroled_whenInvoked_thenWillThrowAlreadyEnroledException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoPendingEnrolmentsOrRequests_whenInvoked_thenRequestInserted[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidCode_whenInvoked_thenWillThrowIllegalArgException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPendingRequestAlreadyExists_whenInvoked_thenWillThrowAlreadyHasPendingEnrolmentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.218,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5573 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aJun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:39.578Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.221,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAudioInputFile_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit18037421522999832915/soundfile.mp3 -C 2 --type ogg /tmp/junit18037421522999832915/junit9518946779645070955/96e4476f-12d4-4111-8452-f4b63f9fc568\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 40,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsMp3ThenWillInvokeMpg123AndCompressWav[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit18037421522999832915/soundfile.mp3 -C 2 --type ogg /tmp/junit18037421522999832915/junit9518946779645070955/96e4476f-12d4-4111-8452-f4b63f9fc568\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 40,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsNotMp3_whenInvoked_thenWillNotUseMpg123[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit18037421522999832915/soundfile.mp3 -C 2 --type ogg /tmp/junit18037421522999832915/junit9518946779645070955/96e4476f-12d4-4111-8452-f4b63f9fc568\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.223,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit18037421522999832915/soundfile.mp3 -C 2 --type ogg /tmp/junit18037421522999832915/junit9518946779645070955/96e4476f-12d4-4111-8452-f4b63f9fc568\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:39.796Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
          "duration" : 0.204,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInputImage_whenInvoked_thenWillBeResized[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.204,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:40.019Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
          "duration" : 0.04,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileList_whenInvoked_thenWillInvokeCompressorAndReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.04,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:40.224Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.pdf.CompressPdfUseCaseJvmTest",
          "duration" : 0.1,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: running /usr/bin/gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=/tmp/junit11892911875397475364/junit16639701905118958773/958919f2-e4d2-4b8c-9f3c-87149f164177 /tmp/junit11892911875397475364/junit7641702878334066821.tmp \u000aJun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm perfo\u000a...[truncated 87 chars]...\u000apressPdfUseCaseJvm: completed page 1\u000aJun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aJun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit11892911875397475364/junit7641702878334066821.tmp from 152064 bytes to 99455 bytes\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.1,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.pdf.CompressPdfUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: running /usr/bin/gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=/tmp/junit11892911875397475364/junit16639701905118958773/958919f2-e4d2-4b8c-9f3c-87149f164177 /tmp/junit11892911875397475364/junit7641702878334066821.tmp \u000aJun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm perfo\u000a...[truncated 87 chars]...\u000apressPdfUseCaseJvm: completed page 1\u000aJun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aJun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit11892911875397475364/junit7641702878334066821.tmp from 152064 bytes to 99455 bytes\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:40.265Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
          "duration" : 3.494,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideoFile_whenCompressed_thenWillOutputVideoWithSameLength[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/primary-bottomnav-visiblitysetting/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/primary-bottomnav-visiblitysetting/core/45f8d375-cc7a-47f6-bb3f-ba2b38e79a62.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 3.494,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/primary-bottomnav-visiblitysetting/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/primary-bottomnav-visiblitysetting/core/45f8d375-cc7a-47f6-bb3f-ba2b38e79a62.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:40.365Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
          "duration" : 0.106,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHandBrakeCliOnSystem_whenInvoked_thenWillFindLatestVersion[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.106,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:43.859Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.contententry.delete.DeleteContentEntryParentChildJoinUseCaseTest",
          "duration" : 0.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryToDelete_whenInvoked_willMarkContentParentChildJoinAsDeletedAndInsertDeletedItem[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ContentEntry, ContentEntryParentChildJoin, DeletedItem]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.028,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.contententry.delete.DeleteContentEntryParentChildJoinUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ContentEntry, ContentEntryParentChildJoin, DeletedItem]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:43.966Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.courseblockupdate.AddOrUpdateCourseBlockUseCaseTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseBlockListEndingWithItemInModule_whenBlockAdded_thenShouldMatchIndent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.courseblockupdate.AddOrUpdateCourseBlockUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseBlockListEndingWithModule_whenBlockAdded_thenShouldBeIndentedWithParentModuleSet[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.courseblockupdate.AddOrUpdateCourseBlockUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:43.994Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.credentials.GetCredentialUseCaseTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHttpsLearningSpaceWithPath_whenConvertedBack_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.credentials.GetCredentialUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainHttpLearningSpace_whenConvertedBack_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.credentials.GetCredentialUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHttpsLearningSpace_whenConvertedBack_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.credentials.GetCredentialUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainHttpLearningSpaceWithPath_whenConvertedBack_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.credentials.GetCredentialUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:43.996Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
          "duration" : 0.522,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_thenWillSaveValidThumbnail[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.522,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:43.997Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.058,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemExists_whenCallGetLineItemWithSourcedId_thenShouldReturn200[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestClassesForUser_thenShouldReturnClassList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.06,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRawOneRosterLineItem_whenCallPutLineItem_thenShouldRespond201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLineItem_whenCallPutLineItem_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestResultsForStudentClass_thenShouldReturnResults[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemDoesNotExist_whenCallGetLineItem_thenShouldReturn404[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.055,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidResult_whenCallPutResult_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.379,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:44.521Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMixedInput_whenInvoke_thenReturnMixedResults[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidEmail_whenInvoke_thenReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidUsername_whenInvoke_thenReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:44.901Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.passkey.EncodeDecodeUserHandleUseCaseTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTooLongLearningSpaceUrl_whenEncoded_thenShouldThrowIllegalArgumentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.passkey.EncodeDecodeUserHandleUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonUidAndLearningSpace_whenEncodedAndThenDecoded_thenShouldReturnSameValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.passkey.EncodeDecodeUserHandleUseCaseTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonUidAndLiveUrl_whenEncodedAndThenDecoded_thenShouldReturnSameValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.passkey.EncodeDecodeUserHandleUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:44.903Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.013,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoSubmitters_whenInvoked_thenShouldReturnEmptyList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithNoExistingAllocations_whenInvoked_thenShouldAllocate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithExistingAllocations_whenNumReviewersIncreased_thenShouldAllocateRemainder[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmitters_whenTooManyReviewsSet_thenShouldRunThroughWithSomeAllocationsEmpty[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithExistingAllocations_whenNumReviewersReduced_thenShouldTruncateList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.12,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 5:32:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:44.905Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.258,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInChunks_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(e77e43af-32d0-47b5-b21d-79a757809d3f): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:44975/ starting from byte=0\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(e77e43af-32d0-47b5-b21d-79a757809d3f): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(8e06314f-7854-4c3a-93e3-28037c30f09c): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:56627/ starting from byte=10000\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(8e06314f-7854-4c3a-93e3-28037c30f09c): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:56627/\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.21,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialUpload_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(e77e43af-32d0-47b5-b21d-79a757809d3f): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:44975/ starting from byte=0\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(e77e43af-32d0-47b5-b21d-79a757809d3f): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(8e06314f-7854-4c3a-93e3-28037c30f09c): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:56627/ starting from byte=10000\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(8e06314f-7854-4c3a-93e3-28037c30f09c): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:56627/\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.468,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(e77e43af-32d0-47b5-b21d-79a757809d3f): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:44975/ starting from byte=0\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(e77e43af-32d0-47b5-b21d-79a757809d3f): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(8e06314f-7854-4c3a-93e3-28037c30f09c): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:56627/ starting from byte=10000\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(8e06314f-7854-4c3a-93e3-28037c30f09c): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:56627/\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.026Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInMultipleChunks_whenFinalRequestMade_thenOnCompleteCalledWithValidFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  receive request \u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  receive request \u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.Napi\u000a...[truncated 4474 chars]...\u000ailogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  receive request \u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  appended chunk (isFinal=true) to /tmp/junit2115367271592768235/junit9040522979565836982/6fb31913-c836-4363-9358-32c84c1e1b21 \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  receive request \u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  receive request \u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.Napi\u000a...[truncated 4474 chars]...\u000ailogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  receive request \u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(6fb31913-c836-4363-9358-32c84c1e1b21)  appended chunk (isFinal=true) to /tmp/junit2115367271592768235/junit9040522979565836982/6fb31913-c836-4363-9358-32c84c1e1b21 \u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.495Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileIsNotVideo_whenInvoked_willReturnFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
          "duration" : 0.007,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileDoesNotExist_whenInvoked_willReturnFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_willReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.04,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.497Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsSubStatement_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsStatementRef_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementPut_whenGetCalled_thenShouldBeRetrieved[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsGroup_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithGroupActorAndExtensions_whenPutCalled_thenShouldBeStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongStatementWithContextActivities_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithChoiceActivity_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.191,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3861 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.538Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
          "duration" : 0.052,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCourseGroupSet_whenInvoked_thenXapiGroupCreated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 991 chars]...\u000aAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[Person, ClazzEnrolment, CourseGroupMember]\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.052,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 991 chars]...\u000aAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[Person, ClazzEnrolment, CourseGroupMember]\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.729Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenChoiceResponse_whenFormatted_thenResponseWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTrueFalseResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLikertResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidResponse_whenFormatted_thenWontThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenChoiceWithMultipleResponses_whenFormatted_thenResponseWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSequencingResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPerformanceResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMatchingResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.195,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4682 chars]...\u000ail.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.782Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
          "duration" : 2.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndOnCompletedInvoked_thenShouldRecordCompletedStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:46 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJun 26, 2025 5:32:48 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aJun 26, 2025 5:32:48 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
          "duration" : 2.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndClearedBeforeCompleted_thenShouldRecordProgress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:46 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJun 26, 2025 5:32:48 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aJun 26, 2025 5:32:48 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 4.07,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:46 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJun 26, 2025 5:32:48 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aJun 26, 2025 5:32:48 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:45.978Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryStateStored_whenRetrieved_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.037,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedById_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.035,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedAllByContext_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingStateStored_whenNewStatePosted_thenShouldMerge[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateStored_whenRetrieve_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTextBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.206,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 5568 chars]...\u000aINFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:50.049Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
          "duration" : 0.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRequest_whenHttpRequestMade_thenWillInvokeUseCase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST EmbeddedHttpServer$serveApiEndpoint - EmbeddedHttpServer: content: endpoint=http://endpoint.com/ versionUid=1234 path=path/file.txt\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.054,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST EmbeddedHttpServer$serveApiEndpoint - EmbeddedHttpServer: content: endpoint=http://endpoint.com/ versionUid=1234 path=path/file.txt\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:50.256Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.NavCommandExecutionTrackerTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNavCommand_whenRunOrExecuteCalled_thenShouldExecuteOnce[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.NavCommandExecutionTrackerTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNavCommandTimedOut_whenRunOrExecuteCalled_thenShouldNotExecute[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.NavCommandExecutionTrackerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:50.311Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.134,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAccountRequiresParentalConsent_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.088,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoStoredAccounts_whenSetActiveAccountCalled_thenActiveAccountShouldChangeAndAllRemainInStoredAccounts[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.085,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLoginCredentials_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoUserInPrefKeys_whenInitialized_shouldInitGuestAccountOnDefaultServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.072,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUnreachableServer_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.107,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForSecondAccountOnSameServer_shouldAddAccount[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.1,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccount_whenIncomingReplicationMakesUserSessionInactive_thenShouldEndSession[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.119,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForFirstLogin_shouldInitLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.104,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRegistrationRequest_whenNewAccountRequested_thenShouldBeRequestedOnServerAndActive[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.851,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] database build complete\u000aJun 26, 2025 5:32:50 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93305 chars]...\u000a DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@3c0326e5, com.ustadmobile.door.nodeevent.NodeEvent@fd04317 \u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:50.313Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.config.SupportedLanguagesConfigTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPreferredLanguageSupported_whenSelectFirstSupportedLocale_thenLanguageReturned[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.config.SupportedLanguagesConfigTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoPreferredLanguageSupported_whenSelectFirstSupportedLocale_thenFallbackIsReturned[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.config.SupportedLanguagesConfigTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoLanguageSettingPresent_whenDisplayLocaleQueried_thenFirstPreferredLangIsReturned[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.config.SupportedLanguagesConfigTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLanguageSettingPresent_whenDisplayedLocaleQueried_thenSettingIsReturned[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.config.SupportedLanguagesConfigTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.165Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.locale.CourseTerminologyStringsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyTerminologyStrings_whenKeyNotPresent_thenWillBeNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.locale.CourseTerminologyStringsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTerminologyStrings_whenKeyPresent_thenWillOverride[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.locale.CourseTerminologyStringsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.166Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.io.ext.ConcatenatedEntryExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenConcatenatedEntry_whenSerializedAndDeserialized_thenSHouldBeTheSame[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.io.ext.ConcatenatedEntryExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.168Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestScheduleExt",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSchedule_whenNextOccurenceCalled_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.schedule.TestScheduleExt",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.169Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.username.UsernameSuggestionUseCaseTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "suggestion_should_increment_until_unique[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 1151 chars]...\u000ae.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.username.UsernameSuggestionUseCaseTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "suggestion_should_append_1_when_taken_once[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 1151 chars]...\u000ae.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.username.UsernameSuggestionUseCaseTest",
          "duration" : 0.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "suggestion_should_return_input_when_unique[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 1151 chars]...\u000ae.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.064,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.username.UsernameSuggestionUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 1151 chars]...\u000ae.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.171Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.TestUMFileUtil",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "testUMFileUtilJoin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.TestUMFileUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "testUMFileUtilResolveLink[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.TestUMFileUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.235Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithNoPathPrefixWithEmptyArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithPathPrefixWithNoArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithNoPathPrefixWithNoArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithPathPrefixWithArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.236Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.LongExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfLongs_whenConvertedToFromByteArray_thenWillBeEqual[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.LongExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.237Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithoutForceAccountSelect_thenShouldNavigateToLinkDirectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainViewUri_whenNavigateToLinkIsCalledWithForceAccountSelected_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainViewUri_whenNavigateToLinkIsCalledWithoutForceAccountSelect_thenShouldNavigateToLinkDirectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.012,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLink_whenNoStoredAccountsAvailableOnSameEndpoint_thenShouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithForceAccountSelect_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonUstadLink_whenNavigateToLinkIsCalled_thenShouldCallOpenInBrowser[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewUriLink_whenUserCannotSelectServerAndNoAccountsAreStoredAndForceAccountSelectionEnabled_thenShouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnDifferentEndpointToActiveAccount_whenStoredAccountAvailableOnSameEndpoint_thenShouldNavigateToAccountListWithFilter[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.133,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.238Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.ProcessExtTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenProcessStarted_whenWaitForInterrupted_thenWillDestroyProcess[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] emitting 1 e\u000a...[truncated 1939 chars]...\u000a.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\u000a\u0009at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.103,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.ProcessExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_59147_.sqlite] emitting 1 e\u000a...[truncated 1939 chars]...\u000a.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\u000a\u0009at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.372Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_37233_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:37233/UmAppDatabase/ - endpoint=http\u000a...[truncated 2647 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.044,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_37233_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:37233/UmAppDatabase/ - endpoint=http\u000a...[truncated 2647 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.475Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickExistingUser_presetLearningSpaceAndPersonalAccountsLearningSpaceUrlIsNull_shouldNavigateToLearningSpaceList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 12587 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickNewUser_presetLearningSpaceAndPersonalAccountsLearningSpaceUrlIsNull_shouldNavigateToLearningSpaceList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 12587 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickExistingUser_presetLearningSpaceIsNullAndPersonalAccountsLearningSpaceUrlNonNull_shouldNavigateToAddAccountSelectNewUserType[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 12587 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickNewUser_presetLearningSpaceIsNullAndPersonalAccountsLearningSpaceUrlNonNull_shouldNavigateToAddAccountSelectNewUserType[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 12587 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.096,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 12587 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.519Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.list.AccountListViewModelTest",
          "duration" : 0.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickAddAccount_presetLearningSpaceIsNonNullAndRegistrationNotAllowed_shouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core\u000a...[truncated 17226 chars]...\u000ad - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.list.AccountListViewModelTest",
          "duration" : 0.048,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickAddAccount_presetLearningSpaceIsNonNullAndRegistrationAllowed_shouldNavigateToAddAccountSelect[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core\u000a...[truncated 17226 chars]...\u000ad - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.102,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.account.list.AccountListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core\u000a...[truncated 17226 chars]...\u000ad - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.616Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
          "duration" : 0.073,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesnotHaveAttendancePermission_whenOnCreateCalled_thenAttendanceTabShouldNotBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core\u000a...[truncated 17984 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
          "duration" : 0.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserHasAttendancePermissions_whenOnCreateCalled_thenShouldMakeAttendanceTabVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core\u000a...[truncated 17984 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.141,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core\u000a...[truncated 17984 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.718Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
          "duration" : 0.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnClickEditcalled_thenShouldGoToEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 6894 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
          "duration" : 0.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnCreateCalled_thenClazzIsSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 6894 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.118,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 6894 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.860Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
          "duration" : 0.178,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3865 chars]...\u000anged tables=[Clazz, CoursePermission]\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.178,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:51 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3865 chars]...\u000anged tables=[Clazz, CoursePermission]\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:51.979Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
          "duration" : 0.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelInBrowseMode_whenOnClickEntryCalled_thenShouldGoToDetailView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 989 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
          "duration" : 0.08,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelNotYetCreated_whenInitialized_thenShouldQueryDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 989 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.148,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 989 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:52.158Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
          "duration" : 1.671,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseAndAssignmentCreated_whenStudentSubmits_thenTeacherCanMarkAndStudentCanSeeMarkGiven[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - serverdb] - useNewConnectionAsyncInternal connection #1 : SQLi\u000a...[truncated 115729 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.671,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aJun 26, 2025 5:32:52 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - serverdb] - useNewConnectionAsyncInternal connection #1 : SQLi\u000a...[truncated 115729 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:52.307Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.084,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionGivenYet_whenShown_thenShowNoSubmissionStatusAndAddFileTextWithComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.114,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseCommentsEnabled_whenShown_willShowExistingCourseCommentsAndAllowSubmissionOfNewCourseComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.088,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithPrivateCommentsEnabled_whenShown_thenShowPrivateComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.097,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithPrivateCommentsDisabled_whenShown_thenDoNotShowSubmitPrivateCommentButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.09,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserNotAssignedInGroup_whenShown_displayErrorAndDontShowSubmitAndAddTextFileButtonsAndPrivateOff[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.099,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndMultipleSubmissionPolicy_whenShown_thenShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.11,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentLoggedIn_whenShown_willShowExistingPrivateCommentsAndAllowSubmissionOfNewPrivateComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.088,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndNoMultipleSubmission_whenShown_thenDontShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.1,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndSingleSubmissionPolicy_whenShown_thenShowMarkedStatusWithNoAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.135,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenSubmitAssignmentUseCaseThrowsException_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.105,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserIsNotStudent_whenShown_dontShowPrivateCommentsSubmissionStatusScoreAndAddFileText[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.09,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndMultipleSubmissionPolicy_whenShown_thenShowMarkedStatusAndAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.091,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionAndSingleSubmitPolicy_whenClickSubmitSubmission_thenSubmitAndHideAddTextFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.291,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 94293 chars]...\u000a: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, ClazzAssignment, CourseBlock, CoursePermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:53.979Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.06,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentMarkingTypeWasChanged_whenSubmissionMarkedBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithDeadlineBeforeStartDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithGracePeriodBeforeDeadlineDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithTextAndFileDisabled_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithPointsSetToZero_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentGroupUidWasChanged_whenSubmissionIsMadeBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.245,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 32526 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:55.270Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
          "duration" : 0.092,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndNoExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetUid[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_37233_.sqlite] - useNewConnectionAsyncInternal connection #17 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:37233/UmAppDatabase/ - endpoint=http\u000a...[truncated 10961 chars]...\u000a ClazzEnrolment, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
          "duration" : 0.112,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetAllocations[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_37233_.sqlite] - useNewConnectionAsyncInternal connection #17 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:37233/UmAppDatabase/ - endpoint=http\u000a...[truncated 10961 chars]...\u000a ClazzEnrolment, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.204,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_37233_.sqlite] - useNewConnectionAsyncInternal connection #17 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:37233/UmAppDatabase/ - endpoint=http\u000a...[truncated 10961 chars]...\u000a ClazzEnrolment, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:55.515Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
          "duration" : 0.116,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenIndividualSubmissionAssignmentAndUserIsTeacher_whenInitiated_thenWillShowEnrolledStudentNamesAndSummaryTotals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 14786 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ClazzEnrolment, CourseAssignmentSubmission, CourseAssignmentMark]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.116,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 14786 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ClazzEnrolment, CourseAssignmentSubmission, CourseAssignmentMark]\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:55.719Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
          "duration" : 0.127,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccountHasAddPermissions_whenOnCreateCalled_thenShouldSetAddOptionsToBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8149 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserDoesNotHaveAddPermissions_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnViewAndSetAddVisibleToFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8149 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.23,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:55 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8149 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:55.835Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
          "duration" : 0.112,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenInitializedAndOnClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5985 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLeavingReason_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5985 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.215,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5985 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:56.066Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.095,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionIsToCreateNew[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 12165 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionsIncludeCreateNewAndUpdate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 12165 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesNotHaveRecordAttendancePermission_whenInitiated_thenNoRecordAttendanceOptions[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 12165 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.227,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 12165 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:56.282Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.196,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenStatusUpdatedAndSaveClicked_thenShouldSaveIntoDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 52477 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.094,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntityArgUidSpecified_whenCreated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 52477 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.107,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenInitiated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 52477 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecifiedAndPreviousClazzLogExists_whenGoPreviousSelected_thenShouldShowPreviouslyRecordedLogs[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 52477 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.5,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:56 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 52477 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:56.510Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
          "duration" : 0.085,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryExists_whenLaunched_thenShouldShowContentEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 5415 chars]...\u000amAppDatabase/replication/sse?door-node=2730689697806880918%2Fcfee167d-81ca-4e9c-a409-c56f7e6e9ab2] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ContentEntryDetailOverviewViewModel$invokeSuspend - Could not get list of jobs\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.085,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 5415 chars]...\u000amAppDatabase/replication/sse?door-node=2730689697806880918%2Fcfee167d-81ca-4e9c-a409-c56f7e6e9ab2] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ContentEntryDetailOverviewViewModel$invokeSuspend - Could not get list of jobs\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.012Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
          "duration" : 0.185,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImportedMetadataArgProvided_whenSaved_thenShouldSaveToDatabaseAndCallImportContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:49861/UmAppDatabase/ - endpoint=http\u000a...[truncated 2947 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.185,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49861_.sqlite] - useNewConnectionAsyncInternal connection #11 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:49861/UmAppDatabase/ - endpoint=http\u000a...[truncated 2947 chars]...\u000a::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.098Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
          "duration" : 0.13,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractedSuccessfully_whenInitialized_thenShouldNavigateToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57\u000a...[truncated 6878 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractionFails_whenInitialized_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57\u000a...[truncated 6878 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.174,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57\u000a...[truncated 6878 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.283Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
          "duration" : 0.11,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExcpectedResultArg_whenUserEntersValidLink_thenWillReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core\u000a...[truncated 21566 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
          "duration" : 0.083,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArg_whenUserEntersInvalidLink_thenWillShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core\u000a...[truncated 21566 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
          "duration" : 0.089,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArgs_whenUserEntersValidLinkAndClicksNext_thenWillGoToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core\u000a...[truncated 21566 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.282,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core\u000a...[truncated 21566 chars]...\u000a\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.459Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
          "duration" : 0.096,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetWithMembers_whenInitiated_thenWillShowMembersListAndEditButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 11599 chars]...\u000aHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CourseGroupSet, CourseGroupMember, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.096,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 11599 chars]...\u000aHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CourseGroupSet, CourseGroupMember, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.742Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingGroupSet_whenInitiatedUpdatedAndSaved_thenWillShowExistingAssignmentsAndUpdateToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 3262 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #8 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
          "duration" : 0.094,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewGroupSetBeingCreated_whenInitiatedAssignedAndSaveClicked_thenShouldShowEnrolledStudentNamesAndDefaultGroupNumAndSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 3262 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #8 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.094,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 3262 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #8 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.838Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
          "duration" : 0.119,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetAndUserHasPermissionToAdd_whenInitiated_thenWillShowExistingGroupSetAndAddOption[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_41657_.sqlite] - useNewConnectionAsyncInternal connection #19 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:41657/UmAppDatabase/ - endpoint=http\u000a...[truncated 3632 chars]...\u000azz, CourseGroupSet, CoursePermission]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.119,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_41657_.sqlite] - useNewConnectionAsyncInternal connection #19 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:57 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:41657/UmAppDatabase/ - endpoint=http\u000a...[truncated 3632 chars]...\u000azz, CourseGroupSet, CoursePermission]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:57.932Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
          "duration" : 0.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseTerminology_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #16 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 3875 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #16 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 3875 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.13,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_33425_.sqlite] - useNewConnectionAsyncInternal connection #16 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:33425/UmAppDatabase/ - endpoint=http\u000a...[truncated 3875 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:58.052Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
          "duration" : 0.096,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterNotYetCreated_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 3375 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
          "duration" : 0.067,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInPickMode_whenOnClickEntryCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 3375 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.163,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 3375 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:58.182Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidUsernameAndPassword_whenFromDestinationArgumentIsProvidedAndHandleLoginClicked_shouldGoToNextScreenAndInvalidateSync[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.184,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenGuestConnectionAllowedOrNot_whenCreated_thenGuestButtonVisibiltyShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.086,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyUsernameAndPassword_whenLoginCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidUsernameAndPassword_whenHandleLoginCalled_thenShouldCallSetErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.058,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUsernameOrPasswordContainsSpacePadding_whenLoginCalled_thenShouldTrimSpace[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenServerOffline_whenCreated_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.494,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 rem\u000a...[truncated 55632 chars]...\u000aa.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:58.347Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
          "duration" : 0.192,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonParentJoinHasNoParentYet_whenOpened_thenShouldSetParentAndApprovalStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 12047 chars]...\u000ary:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.192,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:58 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 12047 chars]...\u000ary:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:58.842Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.116,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenOpenedActivePersonDetailPersonAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.1,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.332,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsNotParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.099,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNullAndCanManageAccount_thenCreateAccountShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.117,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenPersonUsernameIsNullAndCantManageAccount_thenCreateAccountShouldBeHidden[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.096,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNotNullAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.86,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 47981 chars]...\u000aask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:59.037Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenDateOfBirthNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.089,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.075,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInNonRegistrationMode_whenFormFilledAndClickSave_shouldSaveAPersonInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegisterMinorMode_whenFormFilledAndClickSave_thenShouldGoToWaitForParentScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.058,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenUsernameAndPasswordNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegisterMinorMode_whenNoParentEmailGiven_thenShouldShowFieldRequiredError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.047,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenFormFilledAndClickSave_shouldRegisterAPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.472,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:32:59 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aJun 26, 2025 5:32:59\u000a...[truncated 30723 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:59.898Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.051,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthNotSet_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 remoteEndpoint=http://localhost.localdomain:59147/UmAppDatabase/] : onError\u000ajava.io.IOException: other event source error\u000a\u0009at com.ustadmobile.door.sse.DoorEventSource$eventSourceListener$1.onFailure(DoorEventSource.kt:44)\u000a\u0009at okhttp3.internal.sse.RealEventSource.processResponse(RealEventSource.kt:52)\u000a\u0009at okhttp3.internal.sse.RealEventSource.\u000a...[truncated 14122 chars]...\u000a DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@7e136c4 - http://localhost.localdomain:37233/UmAppDatabase/replication/sse?door-node=2875462809046474975%2Fc4fbbf57-d57b-473f-8e86-4f9cf2040250] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthIsNotAMinor_whenOnClickNextCalled_thenShouldGoToTerms[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 remoteEndpoint=http://localhost.localdomain:59147/UmAppDatabase/] : onError\u000ajava.io.IOException: other event source error\u000a\u0009at com.ustadmobile.door.sse.DoorEventSource$eventSourceListener$1.onFailure(DoorEventSource.kt:44)\u000a\u0009at okhttp3.internal.sse.RealEventSource.processResponse(RealEventSource.kt:52)\u000a\u0009at okhttp3.internal.sse.RealEventSource.\u000a...[truncated 14122 chars]...\u000a DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@7e136c4 - http://localhost.localdomain:37233/UmAppDatabase/replication/sse?door-node=2875462809046474975%2Fc4fbbf57-d57b-473f-8e86-4f9cf2040250] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.037,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthTodayOrInFuture_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 remoteEndpoint=http://localhost.localdomain:59147/UmAppDatabase/] : onError\u000ajava.io.IOException: other event source error\u000a\u0009at com.ustadmobile.door.sse.DoorEventSource$eventSourceListener$1.onFailure(DoorEventSource.kt:44)\u000a\u0009at okhttp3.internal.sse.RealEventSource.processResponse(RealEventSource.kt:52)\u000a\u0009at okhttp3.internal.sse.RealEventSource.\u000a...[truncated 14122 chars]...\u000a DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@7e136c4 - http://localhost.localdomain:37233/UmAppDatabase/replication/sse?door-node=2875462809046474975%2Fc4fbbf57-d57b-473f-8e86-4f9cf2040250] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.116,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7968972315353455222 remoteEndpoint=http://localhost.localdomain:59147/UmAppDatabase/] : onError\u000ajava.io.IOException: other event source error\u000a\u0009at com.ustadmobile.door.sse.DoorEventSource$eventSourceListener$1.onFailure(DoorEventSource.kt:44)\u000a\u0009at okhttp3.internal.sse.RealEventSource.processResponse(RealEventSource.kt:52)\u000a\u0009at okhttp3.internal.sse.RealEventSource.\u000a...[truncated 14122 chars]...\u000a DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@7e136c4 - http://localhost.localdomain:37233/UmAppDatabase/replication/sse?door-node=2875462809046474975%2Fc4fbbf57-d57b-473f-8e86-4f9cf2040250] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:33:00.371Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidSchedule_whenClickSave_thenShouldFinishWithResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 25842 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.04,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleStartAfterEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 25842 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 25842 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoStartTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 25842 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.163,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 25842 chars]...\u000aeScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:33:00.487Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
          "duration" : 0.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLinkEntered_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 28170 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
          "duration" : 0.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLinkEntered_whenOnClickNextCalled_thenShouldNavigateToNextScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 28170 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.128,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core\u000a...[truncated 28170 chars]...\u000aines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:33:00.651Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
          "duration" : 1.109,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenVideoPlayStarted_whenCleared_thenShouldRecordStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 56909 chars]...\u000ator.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000a\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.109,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 56909 chars]...\u000ator.java:1136)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000a\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:33:00.780Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
          "duration" : 0.203,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiUrl_whenStarted_thenShouldSetContentUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 6153 chars]...\u000attp%3A%2F%2Flocalhost%2Fe%2Fendpoint%2Fxapi&auth=Basic+MDpudWxs&actor=%7B%22name%22%3Anull%2C%22mbox%22%3Anull%2C%22mbox_sha1sum%22%3Anull%2C%22openid%22%3Anull%2C%22objectType%22%3A%22Agent%22%2C%22account%22%3A%7B%22homePage%22%3A%22http%3A%2F%2Flocalhost%2F%22%2C%22name%22%3A%22admin%22%7D%7D&registration=00000000-0000-0000-0000-000000000000&activity_id=\u000aJun 26, 2025 5:33:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.203,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:33:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 6153 chars]...\u000attp%3A%2F%2Flocalhost%2Fe%2Fendpoint%2Fxapi&auth=Basic+MDpudWxs&actor=%7B%22name%22%3Anull%2C%22mbox%22%3Anull%2C%22mbox_sha1sum%22%3Anull%2C%22openid%22%3Anull%2C%22objectType%22%3A%22Agent%22%2C%22account%22%3A%7B%22homePage%22%3A%22http%3A%2F%2Flocalhost%2F%22%2C%22name%22%3A%22admin%22%7D%7D&registration=00000000-0000-0000-0000-000000000000&activity_id=\u000aJun 26, 2025 5:33:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:33:01.889Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.519,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseIsUpdated_whenRetrieved_thenLatestResponseWillBeReturned[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyFileStored_whenRequestMade_thenWillBeRetrievedAsCacheHit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotStored_whenRetrieved_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotLocked_whenLockAdded_thenWillBeMovedToPersistentDir[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonCompressableFileStored_whenRequestMade_thenWillBeRetrievedAsCacheHitAndNotCompressed[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryLocked_whenLockRemoved_thenWillBeMovedToCacheDir[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseIsNotUpdated_whenStored_thenWillUpdateLastAccessAndValidationTime[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.012,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableFileStored_whenRequestMadeWithoutAcceptEncoding_thenWillBeRetrievedAsCacheHitAndBeCompressed[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.01,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableFileStored_whenRequestMade_thenWillBeRetrievedAsCacheHitAndBeCompressed[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileCachedAndStored_whenPartialRequestMadeIfRangeNotMatched_thenWillReceiveFullResponse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.011,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLockedEntryStored_whenRequestMade_thenWillBeRetrievedAsCacheHitAndSavedInPersistentPath[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileCachedAndStored_whenPartialRequestMade_thenWillReceivePartialData[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.731,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.UstadCacheJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "SLF4J: No SLF4J providers were found.\u000aSLF4J: Defaulting to no-operation (NOP) logger implementation\u000aSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:25.097Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntriesExceedSize_whenTrimRun_thenWillEvictRequiredEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.042,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:25.830Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseWithinMaxAge_whenChecked_isFresh[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseHasMustRevalidate_whenChecked_isStale[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseIsImmutable_whenChecked_isFresh[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestHasNoCacheDirective_whenChecked_isStale[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.005,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:25.885Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialResponse_whenChecked_notCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "given200OkResponse_whenChecked_isCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoStoreInHeader_whenChecked_notCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:25.891Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenReadInSameIncrementAsBuffer_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenRead_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.004,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:25.894Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 1.473,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImmutableEntryWasCached_whenRequested_thenCacheWillHit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedAlreadyEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseHasNoStoreHeader_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.076,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponsePartiallyStored_whenRequestedWithResumeUuid_thenWillResume[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotYetCached_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsStaleAndValidatable_whenRequested_thenIsValidated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedNotEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.008,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestNotStorable_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.686,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Jun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:26 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19534 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aJun 26, 2025 5:28:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:35977/testfile1.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:25.903Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRangeWithStartToEnd_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRangeWhereLastByteAfterTotalBytes_whenParsed_thenThrowsRangeNotSatisfiableException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRangeWhereStartIsAfterLast_whenParsed_thenThrowsRangeNotSatisfiableException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBlankStart_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.partial.ContentRangeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:28:27.592Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEncodingNotSupported_whenIsEncodingAcceptableCalled_thenShouldBeFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEncodingSupportedByStar_whenIsEncodingAcceptableCalled_thenShouldBeTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEncodingDirectlySupported_whenIsEncodingAcceptableCalled_thenShouldBeTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEncodingWithQualityValue_whenParsed_thenShouldBeInMap[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEncodingWithoutQualityValue_whenParsed_thenShouldBeInMap[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.01,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:27:01.559Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenZeroToEndRangeHeader_whenParseRangeRequestHeaderCalled_thenShouldReturnWholeFileRange[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUnsatisfiableRangeHeader_whenParseRangeRequestHeaderCalled_tehnShouldReturnRangeNotSatisfiable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRangeHeader_whenParseRangeRequestHeaderCalled_thenShouldReturnRange[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidHeader_whenParseRangeRequestCalled_thenShouldReturnBadRequest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.015,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestRangeUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:27:01.573Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandInPathOnWindows_whenCommandInPathCalled_thenReturnsFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandNotInPathOnWindows_whenCommandInPathCalled_thenReturnsNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandNotInPathOnUnix_whenFindCommandInPathCalled_thenReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandInPathOnUnix_whenFindCommandInPathCalled_thenReturnsFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.012,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestSysPathUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:27:01.591Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenString_whenInvoked_willHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "a96086d5c2cb52a9\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "a96086d5c2cb52a9\u000a"
        }
      ],
      "duration" : 0.024,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "a96086d5c2cb52a9\u000a",
      "timestamp" : "2025-06-26T15:27:01.913Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[js, browser, ChromeHeadless137.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:27:11.376Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.438,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPutRequestWithBody_whenParseRequestBodyCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "17:32:20,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - No custom configurators were discovered as a service.\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:20,113 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Constructed con\u000a...[truncated 3694 chars]...\u000a level of logger [io.netty] to INFO\u000a17:32:20,208 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@24b6b8f6 - End of configuration.\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@72cf2de5 - Registering current configuration as safe fallback point\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLargerPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "17:32:20,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - No custom configurators were discovered as a service.\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:20,113 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Constructed con\u000a...[truncated 3694 chars]...\u000a level of logger [io.netty] to INFO\u000a17:32:20,208 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@24b6b8f6 - End of configuration.\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@72cf2de5 - Registering current configuration as safe fallback point\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSmallPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "17:32:20,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - No custom configurators were discovered as a service.\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:20,113 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Constructed con\u000a...[truncated 3694 chars]...\u000a level of logger [io.netty] to INFO\u000a17:32:20,208 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@24b6b8f6 - End of configuration.\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@72cf2de5 - Registering current configuration as safe fallback point\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.469,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "17:32:20,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - No custom configurators were discovered as a service.\u000a17:32:20,112 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a17:32:20,113 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - Constructed con\u000a...[truncated 3694 chars]...\u000a level of logger [io.netty] to INFO\u000a17:32:20,208 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@24b6b8f6 - End of configuration.\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@72cf2de5 - Registering current configuration as safe fallback point\u000a17:32:20,208 |-INFO in ch.qos.logback.classic.util.ContextInitializer@5af3a0f - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-06-26T15:32:20.047Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
          "duration" : 0.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenXhtmlWithEntities_whenFiltered_thenShouldParseSuccessfully[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
          "duration" : 0.008,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXhtmlPage_whenFiltered_thenShouldParseSuccessfully[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.057,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:20.519Z"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
          "duration" : 0.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAnEpubFile_whenUnzipped_thenAllFilesShouldBeAvailable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.053,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-06-26T15:32:20.577Z"
    }
  ]
}