{
  "_class" : "hudson.tasks.junit.TestResult",
  "testActions" : [
    
  ],
  "duration" : 43.043003,
  "empty" : False,
  "failCount" : 0,
  "passCount" : 335,
  "skipCount" : 2,
  "suites" : [
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
          "duration" : 0.334,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDatabaseCreated_thenWhenOpened_itShouldBloodyWellBeThereFfs",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "13:05:02,293 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:02,294 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - No custom configurators were discovered as a service.\u000a13:05:02,295 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:02,295 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - Constructed \u000a...[truncated 3428 chars]...\u000alevel of logger [io.netty] to INFO\u000a13:05:02,377 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@55562aa9 - End of configuration.\u000a13:05:02,377 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@655ef322 - Registering current configuration as safe fallback point\u000a13:05:02,377 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 76 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.334,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "13:05:02,293 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:02,294 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - No custom configurators were discovered as a service.\u000a13:05:02,295 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:02,295 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - Constructed \u000a...[truncated 3428 chars]...\u000alevel of logger [io.netty] to INFO\u000a13:05:02,377 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@55562aa9 - End of configuration.\u000a13:05:02,377 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@655ef322 - Registering current configuration as safe fallback point\u000a13:05:02,377 |-INFO in ch.qos.logback.classic.util.ContextInitializer@25e2ab5a - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 76 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-05-21T11:05:02"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
          "duration" : 1.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCredentials_whenLoginCalled_thenShouldReturnAccount",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a21, 2025 1:05:03 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    \"\u000aMay 21, 2025 1:05:03 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" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a21, 2025 1:05:03 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    \"\u000aMay 21, 2025 1:05:03 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.109,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRegisterPersonWithAuth_whenRegisterCalled_thenShouldGenerateAuth",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a21, 2025 1:05:03 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    \"\u000aMay 21, 2025 1:05:03 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.305,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: table\u000a...[truncated 34289 chars]...\u000a21, 2025 1:05:03 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    \"\u000aMay 21, 2025 1:05:03 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-05-21T11:05:02"
    },
    {
      "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" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:03 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.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsCached_whenRequested_thenResponseShouldMatch",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.071,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestSiteRoute",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAvailableWorkSpace_whenRequested_thenShouldReturnWorkSpaceObject",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.024,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestSiteRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aMay 21, 2025 1:05:03 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
          "duration" : 0.173,
          "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.008,
          "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.007,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "verifyPasskeySignInWithWrongChallenge",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.188,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.VerifySignInWithPasskeyTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLocale_whenFormatCalled_thenShouldFormatDate[js, browser, ChromeHeadless136.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "[log] Now: 5/21/2025\u000a"
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "[log] Now: 5/21/2025\u000a",
      "timestamp" : "2025-05-21T11:04:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenApiUrlInSearchParams_whenEndpointResolved_thenShouldReturnSearchParam[js, browser, ChromeHeadless136.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRootHref_whenEndpointIsResolved_thenShouldReturnHref[js, browser, ChromeHeadless136.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, ChromeHeadless136.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, ChromeHeadless136.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.util.WebEndpointResolverTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:04:43"
    },
    {
      "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, ChromeHeadless136.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-05-21T11:03:26"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 1.349,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithWrongPassword_thenShouldReject[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "13:05:08,163 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:08,164 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - No custom configurators were discovered as a service.\u000a13:05:08,164 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:08,165 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - Constructed \u000a...[truncated 3684 chars]...\u000a level of logger [io.netty] to INFO\u000a13:05:08,270 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@cb7fa71 - End of configuration.\u000a13:05:08,270 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3dffc764 - Registering current configuration as safe fallback point\u000a13:05:08,270 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 98 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 0.14,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithValidPassword_thenShouldAccept[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "13:05:08,163 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:08,164 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - No custom configurators were discovered as a service.\u000a13:05:08,164 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:08,165 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - Constructed \u000a...[truncated 3684 chars]...\u000a level of logger [io.netty] to INFO\u000a13:05:08,270 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@cb7fa71 - End of configuration.\u000a13:05:08,270 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3dffc764 - Registering current configuration as safe fallback point\u000a13:05:08,270 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 98 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 1.489,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.AuthManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "13:05:08,163 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:08,164 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - No custom configurators were discovered as a service.\u000a13:05:08,164 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:08,165 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - Constructed \u000a...[truncated 3684 chars]...\u000a level of logger [io.netty] to INFO\u000a13:05:08,270 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@cb7fa71 - End of configuration.\u000a13:05:08,270 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3dffc764 - Registering current configuration as safe fallback point\u000a13:05:08,270 |-INFO in ch.qos.logback.classic.util.ContextInitializer@55e42449 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 98 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-05-21T11:05:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.StringEncryptTest",
          "duration" : 0.02,
          "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.013,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSameParams_whenEncrypted_thenShoudlMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.033,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.StringEncryptTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:09"
    },
    {
      "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-05-21T11:05:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
          "duration" : 0.018,
          "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.302,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSocketAVailableThenNot_whenInitialized_thenWillEmitConnectedThenDisconnected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.321,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.286,
          "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.042,
          "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.02,
          "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.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEpubWithManifestItemsMissing_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.399,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.002,
          "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.004,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:09"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
          "duration" : 0.18,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNcxDoc_whenParsed_thenShouldProvideExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.18,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:09"
    },
    {
      "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-05-21T11:05:10"
    },
    {
      "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-05-21T11:05:10"
    },
    {
      "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.021,
          "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.229,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.061,
          "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.014,
          "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.033,
          "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.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidFileWithRecognizedExtension_whenExtractMetadataCalled_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.142,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:10"
    },
    {
      "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-05-21T11:05:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.118,
          "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.156,
          "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.015,
          "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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileShouldBePdf_whenDataIsNotValid_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.426,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.036,
          "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}@12506dbe, 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}@12506dbe, 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}@12506dbe, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.019,
          "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}@12506dbe, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.095,
      "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}@12506dbe, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.078,
          "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}@470f31d2, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.048,
          "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}@470f31d2, 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}@470f31d2, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.032,
          "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}@470f31d2, 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_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}@470f31d2, 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}@470f31d2, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.231,
      "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}@470f31d2, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:10"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
          "duration" : 0.136,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:58599/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientU\u000a...[truncated 1319 chars]...\u000aeted\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:58599/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:58599/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:58599/com/ustadmobile/core/container/testfile3.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.136,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:58599/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientU\u000a...[truncated 1319 chars]...\u000aeted\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:58599/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:58599/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:58599/com/ustadmobile/core/container/testfile3.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
          "duration" : 0.147,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryVersionUidAndManifest_whenInvoked_thenWillCreateLockJoinsAndEnqueueBlobDownloadForAllItemsInManifest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 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]\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.147,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 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]\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 1.439,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenImportedOnClient_thenWilBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1548180 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@4c9bed65 - http://localhost:35015/UmAppDatabase/replication/sse?door-node=5948875670138674986%2Ff0b597e8-dcbf-49d4-9e66-2ea62f62c625] close\u000aMay 21, 2025 1:05:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:20 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.242,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenUploadInterrupted_thenWillRetry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1548180 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@4c9bed65 - http://localhost:35015/UmAppDatabase/replication/sse?door-node=5948875670138674986%2Ff0b597e8-dcbf-49d4-9e66-2ea62f62c625] close\u000aMay 21, 2025 1:05:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:20 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.202,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1548180 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@4c9bed65 - http://localhost:35015/UmAppDatabase/replication/sse?door-node=5948875670138674986%2Ff0b597e8-dcbf-49d4-9e66-2ea62f62c625] close\u000aMay 21, 2025 1:05:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:20 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.783,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5p_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1548180 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@4c9bed65 - http://localhost:35015/UmAppDatabase/replication/sse?door-node=5948875670138674986%2Ff0b597e8-dcbf-49d4-9e66-2ea62f62c625] close\u000aMay 21, 2025 1:05:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 8.666,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:11 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 1548180 chars]...\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@4c9bed65 - http://localhost:35015/UmAppDatabase/replication/sse?door-node=5948875670138674986%2Ff0b597e8-dcbf-49d4-9e66-2ea62f62c625] close\u000aMay 21, 2025 1:05:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:11"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUrisToManifest_whenInvoked_thenAreStoredInCacheAsPerManifestBodyDataUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUrisAsB\u000a...[truncated 3355 chars]...\u000arieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.021,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUrisAsB\u000a...[truncated 3355 chars]...\u000arieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:20"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
          "duration" : 1.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUris_whenInvoked_thenBlobsAreUploadedAndCanBeRetrievedViaCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5693 chars]...\u000ap://localhost:38553/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:38553/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:38553/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.03,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 5693 chars]...\u000ap://localhost:38553/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:38553/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aMay 21, 2025 1:05:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:38553/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:20"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
          "duration" : 0.136,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTransferJobInDatabase_whenErrorOccurs_thenAttemptCountIncrementAndExceptionThrown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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.052,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatchDataRetrieved_whenOneUploadThrowsException_thenWillRethrow[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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.041,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatch_whenInvoked_thenWillRetrievePartialDataAndUpload[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.229,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 16942 chars]...\u000arce connection pool\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:21"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
          "duration" : 0.065,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialRequest_whenInitialzedAndBlobsUploaded_thenWillListRemainingItemsAndStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b9d-4daf-b3e4-cb6a3971f8c1):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b9d-4daf-b3e4-cb6a3971f8c1):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 5673e276-33b4-4c61-a6bd-5dc3b607982e):  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.006,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewRequest_whenInitializedAndBlobsUploaded_thenWillStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b9d-4daf-b3e4-cb6a3971f8c1):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b9d-4daf-b3e4-cb6a3971f8c1):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 5673e276-33b4-4c61-a6bd-5dc3b607982e):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.071,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b9d-4daf-b3e4-cb6a3971f8c1):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b\u000a...[truncated 233 chars]...\u000asion - BlobUploadServerUseCase#onStartUploadSession(upload eb5089f2-8b9d-4daf-b3e4-cb6a3971f8c1):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload 5673e276-33b4-4c61-a6bd-5dc3b607982e):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:21"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.383,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzDoesNotExist_whenInvoked_thenWillCreateNewClazzAndProcessEnrolment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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=[]\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidImportRows_whenInvoked_thenWillAddNewPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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=[]\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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" : "givenMissingRequiredColumns_whenInvoked_thenWillThrowIllegalArgumentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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=[]\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.472,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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=[]\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:21"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
          "duration" : 0.012,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.012,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:21"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.096,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonAlreadyEnroled_whenInvoked_thenWillThrowAlreadyEnroledException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aMay 21, 2025 1:05:22 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.088,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoPendingEnrolmentsOrRequests_whenInvoked_thenRequestInserted[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aMay 21, 2025 1:05:22 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" : "givenInvalidCode_whenInvoked_thenWillThrowIllegalArgException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aMay 21, 2025 1:05:22 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.072,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPendingRequestAlreadyExists_whenInvoked_thenWillThrowAlreadyHasPendingEnrolmentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.315,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:21 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]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:21"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.262,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAudioInputFile_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit1078963601698049560/soundfile.mp3 -C 2 --type ogg /tmp/junit1078963601698049560/junit4880559687613825544/2593781b-5d09-49e6-8aa4-24711abec321\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 59,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsMp3ThenWillInvokeMpg123AndCompressWav[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "May 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit1078963601698049560/soundfile.mp3 -C 2 --type ogg /tmp/junit1078963601698049560/junit4880559687613825544/2593781b-5d09-49e6-8aa4-24711abec321\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 59,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsNotMp3_whenInvoked_thenWillNotUseMpg123[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "May 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit1078963601698049560/soundfile.mp3 -C 2 --type ogg /tmp/junit1078963601698049560/junit4880559687613825544/2593781b-5d09-49e6-8aa4-24711abec321\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.264,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit1078963601698049560/soundfile.mp3 -C 2 --type ogg /tmp/junit1078963601698049560/junit4880559687613825544/2593781b-5d09-49e6-8aa4-24711abec321\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
          "duration" : 0.261,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInputImage_whenInvoked_thenWillBeResized[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.261,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
          "duration" : 0.048,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileList_whenInvoked_thenWillInvokeCompressorAndReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.048,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.pdf.CompressPdfUseCaseJvmTest",
          "duration" : 0.114,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:22 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/junit5186315880833882755/junit17742502886483770889/91082d6d-7cb0-46b1-b5e0-194a0c9190fa /tmp/junit5186315880833882755/junit1884120624947753985.tmp \u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm perform\u000a...[truncated 84 chars]...\u000ampressPdfUseCaseJvm: completed page 1\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit5186315880833882755/junit1884120624947753985.tmp from 152064 bytes to 99455 bytes\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.114,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.pdf.CompressPdfUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:22 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/junit5186315880833882755/junit17742502886483770889/91082d6d-7cb0-46b1-b5e0-194a0c9190fa /tmp/junit5186315880833882755/junit1884120624947753985.tmp \u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm perform\u000a...[truncated 84 chars]...\u000ampressPdfUseCaseJvm: completed page 1\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aMay 21, 2025 1:05:22 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit5186315880833882755/junit1884120624947753985.tmp from 152064 bytes to 99455 bytes\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
          "duration" : 4.466,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideoFile_whenCompressed_thenWillOutputVideoWithSameLength[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:23 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/dev-simplified-onboarding/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/dev-simplified-onboarding/core/7df0abfd-64de-4e4f-a055-8d1e40406b7e.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 4.466,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:23 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/dev-simplified-onboarding/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/dev-simplified-onboarding/core/7df0abfd-64de-4e4f-a055-8d1e40406b7e.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
          "duration" : 0.122,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHandBrakeCliOnSystem_whenInvoked_thenWillFindLatestVersion[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.122,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:27"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.contententry.delete.DeleteContentEntryParentChildJoinUseCaseTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryToDelete_whenInvoked_willMarkContentParentChildJoinAsDeletedAndInsertDeletedItem[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:27 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.033,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.contententry.delete.DeleteContentEntryParentChildJoinUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:27 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:27 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-05-21T11:05:27"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.courseblockupdate.AddOrUpdateCourseBlockUseCaseTest",
          "duration" : 0.001,
          "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.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.courseblockupdate.AddOrUpdateCourseBlockUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:27"
    },
    {
      "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-05-21T11:05:27"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
          "duration" : 0.589,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_thenWillSaveValidThumbnail[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.589,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:27"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.067,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemExists_whenCallGetLineItemWithSourcedId_thenShouldReturn200[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.051,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestClassesForUser_thenShouldReturnClassList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRawOneRosterLineItem_whenCallPutLineItem_thenShouldRespond201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.075,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLineItem_whenCallPutLineItem_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.074,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestResultsForStudentClass_thenShouldReturnResults[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.052,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemDoesNotExist_whenCallGetLineItem_thenShouldReturn404[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.066,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidResult_whenCallPutResult_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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.455,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 10436 chars]...\u000aay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aMay 21, 2025 1:05:28 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-05-21T11:05:28"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
          "duration" : 0.002,
          "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.003,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.invite.ParseInviteUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:28"
    },
    {
      "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-05-21T11:05:28"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoSubmitters_whenInvoked_thenShouldReturnEmptyList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 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.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithNoExistingAllocations_whenInvoked_thenShouldAllocate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 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" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 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.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmitters_whenTooManyReviewsSet_thenShouldRunThroughWithSomeAllocationsEmpty[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 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_whenNumReviewersReduced_thenShouldTruncateList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.166,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 700 chars]...\u000a25 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:28"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.278,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInChunks_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(9aa93723-3ba0-49e3-9a74-d01356899a27): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:40667/ starting from byte=0\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(9aa93723-3ba0-49e3-9a74-d01356899a27): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(bbbb89c2-f9be-49d6-811c-c93720f75934): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:45443/ starting from byte=10000\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(bbbb89c2-f9be-49d6-811c-c93720f75934): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:45443/\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.226,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialUpload_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(9aa93723-3ba0-49e3-9a74-d01356899a27): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:40667/ starting from byte=0\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(9aa93723-3ba0-49e3-9a74-d01356899a27): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(bbbb89c2-f9be-49d6-811c-c93720f75934): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:45443/ starting from byte=10000\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(bbbb89c2-f9be-49d6-811c-c93720f75934): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:45443/\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.504,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:28 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(9aa93723-3ba0-49e3-9a74-d01356899a27): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:40667/ starting from byte=0\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(9aa93723-3ba0-49e3-9a74-d01356899a27): Uploa\u000a...[truncated 160 chars]...\u000a: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(bbbb89c2-f9be-49d6-811c-c93720f75934): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:45443/ starting from byte=10000\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(bbbb89c2-f9be-49d6-811c-c93720f75934): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:45443/\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:28"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
          "duration" : 0.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInMultipleChunks_whenFinalRequestMade_thenOnCompleteCalledWithValidFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  receive request \u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  receive request \u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.Napi\u000a...[truncated 4488 chars]...\u000aogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  receive request \u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  appended chunk (isFinal=true) to /tmp/junit11397671142733116168/junit17689974457202445261/59fbc569-5a41-4897-a844-b6127faa1442 \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.003,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  receive request \u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  receive request \u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.Napi\u000a...[truncated 4488 chars]...\u000aogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  receive request \u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(59fbc569-5a41-4897-a844-b6127faa1442)  appended chunk (isFinal=true) to /tmp/junit11397671142733116168/junit17689974457202445261/59fbc569-5a41-4897-a844-b6127faa1442 \u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:29"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
          "duration" : 0.017,
          "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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_willReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.044,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:29"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsSubStatement_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementPut_whenGetCalled_thenShouldBeRetrieved[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenStatementWithObjectAsGroup_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithGroupActorAndExtensions_whenPutCalled_thenShouldBeStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongStatementWithContextActivities_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithChoiceActivity_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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.213,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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-05-21T11:05:29"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCourseGroupSet_whenInvoked_thenXapiGroupCreated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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]\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.059,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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]\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:29"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
          "duration" : 0.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenChoiceResponse_whenFormatted_thenResponseWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenTrueFalseResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenLikertResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenInvalidResponse_whenFormatted_thenWontThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenChoiceWithMultipleResponses_whenFormatted_thenResponseWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenSequencingResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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" : "givenMatchingResponse_whenFormatted_thenWillBeAsExpected[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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.208,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.formatresponse.FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:29 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\u000aMay 21, 2025 1:05:29 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-05-21T11:05:29"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
          "duration" : 2.074,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndOnCompletedInvoked_thenShouldRecordCompletedStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aMay 21, 2025 1:05:31 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aMay 21, 2025 1:05:31 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aMay 21, 2025 1:05:33 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.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndClearedBeforeCompleted_thenShouldRecordProgress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aMay 21, 2025 1:05:31 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aMay 21, 2025 1:05:31 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 4.077,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:29 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aMay 21, 2025 1:05:31 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aMay 21, 2025 1:05:31 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:29"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.051,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryStateStored_whenRetrieved_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedById_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedAllByContext_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingStateStored_whenNewStatePosted_thenShouldMerge[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateStored_whenRetrieve_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTextBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.046,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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.391,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:33 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\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:34 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-05-21T11:05:33"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
          "duration" : 0.101,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRequest_whenHttpRequestMade_thenWillInvokeUseCase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 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.101,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:34 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-05-21T11:05:34"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.NavCommandExecutionTrackerTest",
          "duration" : 0.001,
          "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.0,
          "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-05-21T11:05:34"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.187,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAccountRequiresParentalConsent_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.15,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoStoredAccounts_whenSetActiveAccountCalled_thenActiveAccountShouldChangeAndAllRemainInStoredAccounts[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.091,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLoginCredentials_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoUserInPrefKeys_whenInitialized_shouldInitGuestAccountOnDefaultServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.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" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.16,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForSecondAccountOnSameServer_shouldAddAccount[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.11,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccount_whenIncomingReplicationMakesUserSessionInactive_thenShouldEndSession[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.125,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForFirstLogin_shouldInitLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.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" : "givenValidRegistrationRequest_whenNewAccountRequested_thenShouldBeRequestedOnServerAndActive[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.048,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] database build complete\u000aMay 21, 2025 1:05:34 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FI\u000a...[truncated 93306 chars]...\u000aDoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@115af217, com.ustadmobile.door.nodeevent.NodeEvent@16a19ebd \u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:34"
    },
    {
      "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-05-21T11:05:35"
    },
    {
      "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-05-21T11:05:35"
    },
    {
      "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-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestScheduleExt",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSchedule_whenNextOccurenceCalled_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.schedule.TestScheduleExt",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "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" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4090 chars]...\u000anWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aMay 21, 2025 1:05:35 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" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4090 chars]...\u000anWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aMay 21, 2025 1:05:35 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.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "suggestion_should_return_input_when_unique[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4090 chars]...\u000anWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.066,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.username.UsernameSuggestionUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 4090 chars]...\u000anWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.TestUMFileUtil",
          "duration" : 0.0,
          "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.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.TestUMFileUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "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.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "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-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.107,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithoutForceAccountSelect_thenShouldNavigateToLinkDirectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.016,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainViewUri_whenNavigateToLinkIsCalledWithForceAccountSelected_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "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" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "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" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "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" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonUstadLink_whenNavigateToLinkIsCalled_thenShouldCallOpenInBrowser[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewUriLink_whenUserCannotSelectServerAndNoAccountsAreStoredAndForceAccountSelectionEnabled_thenShouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnDifferentEndpointToActiveAccount_whenStoredAccountAvailableOnSameEndpoint_thenShouldNavigateToAccountListWithFilter[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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.14,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55283_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:55283/UmAppDatabase/ - endpoint=http\u000a...[truncated 1677 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-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.ProcessExtTest",
          "duration" : 0.112,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenProcessStarted_whenWaitForInterrupted_thenWillDestroyProcess[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.112,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.ProcessExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
          "duration" : 0.086,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] emitting 1 e\u000a...[truncated 2909 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.086,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] emitting 1 e\u000a...[truncated 2909 chars]...\u000aite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
          "duration" : 0.073,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickExistingUser_presetLearningSpaceAndPersonalAccountsLearningSpaceUrlIsNull_shouldNavigateToLearningSpaceList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] emitting 1 e\u000a...[truncated 26292 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 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.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickNewUser_presetLearningSpaceAndPersonalAccountsLearningSpaceUrlIsNull_shouldNavigateToLearningSpaceList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] emitting 1 e\u000a...[truncated 26292 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 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.052,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickExistingUser_presetLearningSpaceIsNullAndPersonalAccountsLearningSpaceUrlNonNull_shouldNavigateToAddAccountSelectNewUserType[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] emitting 1 e\u000a...[truncated 26292 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 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.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickNewUser_presetLearningSpaceIsNullAndPersonalAccountsLearningSpaceUrlNonNull_shouldNavigateToAddAccountSelectNewUserType[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] emitting 1 e\u000a...[truncated 26292 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.219,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.account.addaccountselectneworexisting.AddAccountSelectNewOrExistingViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:35 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_45137_.sqlite] emitting 1 e\u000a...[truncated 26292 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:35"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.list.AccountListViewModelTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickAddAccount_presetLearningSpaceIsNonNullAndRegistrationNotAllowed_shouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core\u000a...[truncated 16108 chars]...\u000aNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.account.list.AccountListViewModelTest",
          "duration" : 0.099,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "whenClickAddAccount_presetLearningSpaceIsNonNullAndRegistrationAllowed_shouldNavigateToAddAccountSelect[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core\u000a...[truncated 16108 chars]...\u000aNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.202,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.account.list.AccountListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core\u000a...[truncated 16108 chars]...\u000aNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Rolled back changes\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:36"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
          "duration" : 0.125,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesnotHaveAttendancePermission_whenOnCreateCalled_thenAttendanceTabShouldNotBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\u000ajava.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u000a...[truncated 14292 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:36 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.136,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserHasAttendancePermissions_whenOnCreateCalled_thenShouldMakeAttendanceTabVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\u000ajava.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u000a...[truncated 14292 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.261,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\u000ajava.lang.NullPointerException: Cannot invoke \"java.sql.Connection.setAutoCommit(boolean)\" because \"connection\" is null\u000a\u000a...[truncated 14292 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:36"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
          "duration" : 0.153,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnClickEditcalled_thenShouldGoToEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 46707 chars]...\u000aion #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:36 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.111,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnCreateCalled_thenClazzIsSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 46707 chars]...\u000aion #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.264,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 46707 chars]...\u000aion #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_34725_.sqlite] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:36"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
          "duration" : 0.374,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:34725/UmAppDatabase/ - endpoint=http://localhost.localdomain:34725/UmAppDatabase/] getRemoteNodeId : exception getting remote node id\u000ajava.lang.IllegalStateException: [DoorRepositoryReplicationClient - http://localhost.localdomain:34725/UmAppDatabase/ - endpoint=http://localhost.localdomain:34725/UmAppDatabase/] getRemoteNodeId :\u000a...[truncated 38178 chars]...\u000anged tables=[Clazz, CoursePermission]\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.374,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:36 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:34725/UmAppDatabase/ - endpoint=http://localhost.localdomain:34725/UmAppDatabase/] getRemoteNodeId : exception getting remote node id\u000ajava.lang.IllegalStateException: [DoorRepositoryReplicationClient - http://localhost.localdomain:34725/UmAppDatabase/ - endpoint=http://localhost.localdomain:34725/UmAppDatabase/] getRemoteNodeId :\u000a...[truncated 38178 chars]...\u000anged tables=[Clazz, CoursePermission]\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:36"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
          "duration" : 0.087,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelInBrowseMode_whenOnClickEntryCalled_thenShouldGoToDetailView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 9154 chars]...\u000a: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:37 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.119,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelNotYetCreated_whenInitialized_thenShouldQueryDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 9154 chars]...\u000a: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.206,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 9154 chars]...\u000a: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_40127_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:37"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
          "duration" : 2.134,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseAndAssignmentCreated_whenStudentSubmits_thenTeacherCanMarkAndStudentCanSeeMarkGiven[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:40127/UmAppDatabase/ - endpoint=http://localhost.localdomain:40127/UmAppDatabase/] getRemoteNodeId : exception getting remote node id\u000ajava.lang.IllegalStateException: [DoorRepositoryReplicationClient - http://localhost.localdomain:40127/UmAppDatabase/ - endpoint=http://localhost.localdomain:40127/UmAppDatabase/] getRemoteNodeId :\u000a...[truncated 123459 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\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 2.134,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:37 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:40127/UmAppDatabase/ - endpoint=http://localhost.localdomain:40127/UmAppDatabase/] getRemoteNodeId : exception getting remote node id\u000ajava.lang.IllegalStateException: [DoorRepositoryReplicationClient - http://localhost.localdomain:40127/UmAppDatabase/ - endpoint=http://localhost.localdomain:40127/UmAppDatabase/] getRemoteNodeId :\u000a...[truncated 123459 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\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:37"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.097,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionGivenYet_whenShown_thenShowNoSubmissionStatusAndAddFileTextWithComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.111,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseCommentsEnabled_whenShown_willShowExistingCourseCommentsAndAllowSubmissionOfNewCourseComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.106,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithPrivateCommentsEnabled_whenShown_thenShowPrivateComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.089,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithPrivateCommentsDisabled_whenShown_thenDoNotShowSubmitPrivateCommentButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserNotAssignedInGroup_whenShown_displayErrorAndDontShowSubmitAndAddTextFileButtonsAndPrivateOff[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.075,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndMultipleSubmissionPolicy_whenShown_thenShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.082,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentLoggedIn_whenShown_willShowExistingPrivateCommentsAndAllowSubmissionOfNewPrivateComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.068,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndNoMultipleSubmission_whenShown_thenDontShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.074,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndSingleSubmissionPolicy_whenShown_thenShowMarkedStatusWithNoAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.108,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenSubmitAssignmentUseCaseThrowsException_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.076,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserIsNotStudent_whenShown_dontShowPrivateCommentsSubmissionStatusScoreAndAddFileText[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndMultipleSubmissionPolicy_whenShown_thenShowMarkedStatusAndAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.077,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionAndSingleSubmitPolicy_whenClickSubmitSubmission_thenSubmitAndHideAddTextFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.102,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:39 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 71405 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\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:39"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentMarkingTypeWasChanged_whenSubmissionMarkedBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithDeadlineBeforeStartDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithGracePeriodBeforeDeadlineDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithTextAndFileDisabled_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithPointsSetToZero_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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.035,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentGroupUidWasChanged_whenSubmissionIsMadeBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 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.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2954144713043989984 remoteEndpoint=http://localhost.localdomain:55283/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 27937 chars]...\u000aerAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:40"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
          "duration" : 0.077,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndNoExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetUid[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 19063 chars]...\u000aitViewModel$invokeSuspend - Number of submitters: 10\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.071,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetAllocations[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 19063 chars]...\u000aitViewModel$invokeSuspend - Number of submitters: 10\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 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.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 19063 chars]...\u000aitViewModel$invokeSuspend - Number of submitters: 10\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER PeerReviewerAllocationEditViewModel$invokeSuspend - Number of submitters: 10\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:40 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:40"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
          "duration" : 0.105,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenIndividualSubmissionAssignmentAndUserIsTeacher_whenInitiated_thenWillShowEnrolledStudentNamesAndSummaryTotals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/inaccessible_.sq\u000a...[truncated 23176 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\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.105,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/inaccessible_.sq\u000a...[truncated 23176 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\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:40"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
          "duration" : 0.075,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccountHasAddPermissions_whenOnCreateCalled_thenShouldSetAddOptionsToBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 10666 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 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.072,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserDoesNotHaveAddPermissions_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnViewAndSetAddVisibleToFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 10666 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.147,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 10666 chars]...\u000apierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:41"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
          "duration" : 0.082,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenInitializedAndOnClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8585 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 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.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLeavingReason_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8585 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.161,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 8585 chars]...\u000austadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:41"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.081,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionIsToCreateNew[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 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.067,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionsIncludeCreateNewAndUpdate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 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.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesNotHaveRecordAttendancePermission_whenInitiated_thenNoRecordAttendanceOptions[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.217,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_locald\u000a...[truncated 9644 chars]...\u000atil.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:41"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.193,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenStatusUpdatedAndSaveClicked_thenShouldSaveIntoDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 23439 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 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.071,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntityArgUidSpecified_whenCreated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 23439 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 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.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenInitiated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 23439 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 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.075,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecifiedAndPreviousClazzLogExists_whenGoPreviousSelected_thenShouldShowPreviouslyRecordedLogs[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 23439 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.409,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:41 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 23439 chars]...\u000ail.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:41"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryExists_whenLaunched_thenShouldShowContentEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 138 chars]...\u000aerAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ContentEntry]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ContentEntryDetailOverviewViewModel$invokeSuspend - Could not get list of jobs\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.042,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 138 chars]...\u000aerAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ContentEntry]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ContentEntryDetailOverviewViewModel$invokeSuspend - Could not get list of jobs\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
          "duration" : 0.092,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImportedMetadataArgProvided_whenSaved_thenShouldSaveToDatabaseAndCallImportContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55287_.sqlite] - useNewConnectionAsyncInternal connection #8 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_41453_.sqlite] - useNewConnectionAsyncIn\u000a...[truncated 5623 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.092,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_55287_.sqlite] - useNewConnectionAsyncInternal connection #8 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_41453_.sqlite] - useNewConnectionAsyncIn\u000a...[truncated 5623 chars]...\u000a #2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
          "duration" : 0.065,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractedSuccessfully_whenInitialized_thenShouldNavigateToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_53615_.sqlite] - useNewConnectionAsyncInternal connection #19 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:53615/UmAppDatabase/ - endpoint=http\u000a...[truncated 6879 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 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.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractionFails_whenInitialized_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_53615_.sqlite] - useNewConnectionAsyncInternal connection #19 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:53615/UmAppDatabase/ - endpoint=http\u000a...[truncated 6879 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.089,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_53615_.sqlite] - useNewConnectionAsyncInternal connection #19 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:53615/UmAppDatabase/ - endpoint=http\u000a...[truncated 6879 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
          "duration" : 0.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExcpectedResultArg_whenUserEntersValidLink_thenWillReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core\u000a...[truncated 13099 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\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 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.058,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArg_whenUserEntersInvalidLink_thenWillShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core\u000a...[truncated 13099 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\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 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.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArgs_whenUserEntersValidLinkAndClicksNext_thenWillGoToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core\u000a...[truncated 13099 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\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.179,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core\u000a...[truncated 13099 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\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
          "duration" : 0.069,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetWithMembers_whenInitiated_thenWillShowMembersListAndEditButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 3432 chars]...\u000alocalhost.localdomain:41385/UmAppDatabase/replication/sse?door-node=6713050822112551082%2F27cffbe0-5a04-4df4-ab3e-6835f8372e85] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.069,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build\u000a...[truncated 3432 chars]...\u000alocalhost.localdomain:41385/UmAppDatabase/replication/sse?door-node=6713050822112551082%2F27cffbe0-5a04-4df4-ab3e-6835f8372e85] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "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" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 585 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aMay 21, 2025 1:05:42 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.067,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewGroupSetBeingCreated_whenInitiatedAssignedAndSaveClicked_thenShouldShowEnrolledStudentNamesAndDefaultGroupNumAndSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 585 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.067,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 585 chars]...\u000ae Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
          "duration" : 0.091,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetAndUserHasPermissionToAdd_whenInitiated_thenWillShowExistingGroupSetAndAddOption[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] - useNewConnectionAsyncInternal connection #9 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:41385/UmAppDatabase/ - endpoint=http:\u000a...[truncated 6231 chars]...\u000azz, CourseGroupSet, CoursePermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.091,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_41385_.sqlite] - useNewConnectionAsyncInternal connection #9 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:41385/UmAppDatabase/ - endpoint=http:\u000a...[truncated 6231 chars]...\u000azz, CourseGroupSet, CoursePermission]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
          "duration" : 0.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseTerminology_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3875 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aMay 21, 2025 1:05:42 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.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3875 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.077,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3875 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
          "duration" : 0.065,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterNotYetCreated_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7985919953534517227 rem\u000a...[truncated 3298 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aMay 21, 2025 1:05:42 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.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInPickMode_whenOnClickEntryCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7985919953534517227 rem\u000a...[truncated 3298 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.101,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=7985919953534517227 rem\u000a...[truncated 3298 chars]...\u000a:memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.013,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidUsernameAndPassword_whenFromDestinationArgumentIsProvidedAndHandleLoginClicked_shouldGoToNextScreenAndInvalidateSync[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenGuestConnectionAllowedOrNot_whenCreated_thenGuestButtonVisibiltyShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyUsernameAndPassword_whenLoginCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.005,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidUsernameAndPassword_whenHandleLoginCalled_thenShouldCallSetErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.004,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUsernameOrPasswordContainsSpacePadding_whenLoginCalled_thenShouldTrimSpace[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.004,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenServerOffline_whenCreated_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.108,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8437881346883911151 remoteEndpoint=http://localhost.localdomain:45137/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 37750 chars]...\u000atException: inaccessible . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorEventSource$eventSourceListener$1$onFailure$invokeSuspend - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@325fd976 - http://inaccessible/UmAppDatabase/replication/sse?door-node=2947891583954192491%2F541b5a9e-af20-4e3e-8182-3ac584304911] error: java.net.UnknownHostException: inaccessible . Attempting to reconnect after 2000ms\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
          "duration" : 0.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonParentJoinHasNoParentYet_whenOpened_thenShouldSetParentAndApprovalStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 15376 chars]...\u000areadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000a\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.079,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:42 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 15376 chars]...\u000areadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\u000a\u0009at java.base/java.lang.Thread.run(Thread.java:840)\u000a\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:42"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.066,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenOpenedActivePersonDetailPersonAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 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.073,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 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.324,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsNotParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNullAndCanManageAccount_thenCreateAccountShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 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.082,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenPersonUsernameIsNullAndCantManageAccount_thenCreateAccountShouldBeHidden[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 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.074,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNotNullAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.689,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=8790117481140715981 remoteEndpoint=http://localhost.localdomain:41453/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 39215 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\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.037,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenDateOfBirthNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.057,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.065,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInNonRegistrationMode_whenFormFilledAndClickSave_shouldSaveAPersonInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegisterMinorMode_whenFormFilledAndClickSave_thenShouldGoToWaitForParentScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenUsernameAndPasswordNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegisterMinorMode_whenNoParentEmailGiven_thenShouldShowFieldRequiredError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenFormFilledAndClickSave_shouldRegisterAPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.323,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:43 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aSEVERE: SEVERE DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 39876 chars]...\u000aseWithInterceptorChain$okhttp(RealCall.kt:201)\u000a\u0009at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\u000a\u0009at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.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\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthNotSet_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:44\u000a...[truncated 8924 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 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.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthIsNotAMinor_whenOnClickNextCalled_thenShouldGoToTerms[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:44\u000a...[truncated 8924 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 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.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthTodayOrInFuture_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:44\u000a...[truncated 8924 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.08,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aMay 21, 2025 1:05:44\u000a...[truncated 8924 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidSchedule_whenClickSave_thenShouldFinishWithResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 25919 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\u000aMay 21, 2025 1:05:44 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.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleStartAfterEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 25919 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\u000aMay 21, 2025 1:05:44 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.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 25919 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\u000aMay 21, 2025 1:05:44 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.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoStartTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 25919 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\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.109,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 25919 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\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLinkEntered_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 12688 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 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.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLinkEntered_whenOnClickNextCalled_thenShouldNavigateToNextScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 12688 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.06,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.siteenterlink.LearningSpaceEnterLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 12688 chars]...\u000aeScheduler.kt:693)\u000a\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
          "duration" : 1.089,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenVideoPlayStarted_whenCleared_thenShouldRecordStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 74737 chars]...\u000adoor-node=4799453973378555348%2F8589cf40-83ec-46cf-8977-54bbb046e48f] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.089,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aMay 21, 2025 1:05:44 PM com.ustadmobile.core\u000a...[truncated 74737 chars]...\u000adoor-node=4799453973378555348%2F8589cf40-83ec-46cf-8977-54bbb046e48f] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
          "duration" : 0.192,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiUrl_whenStarted_thenShouldSetContentUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3476 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=\u000aMay 21, 2025 1:05:45 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.xapicontent.XapiContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnecti\u000a...[truncated 3476 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=\u000aMay 21, 2025 1:05:45 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:45"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.337,
          "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.039,
          "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.018,
          "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.067,
          "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.033,
          "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.017,
          "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.01,
          "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.011,
          "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.012,
          "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.01,
          "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.019,
          "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.598,
      "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-05-21T11:01:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
          "duration" : 0.04,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntriesExceedSize_whenTrimRun_thenWillEvictRequiredEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.04,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:01:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.001,
          "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.001,
          "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.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestHasNoCacheDirective_whenChecked_isStale[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.004,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:01:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.001,
          "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-05-21T11:01:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.001,
          "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.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenRead_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:01:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 1.709,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImmutableEntryWasCached_whenRequested_thenCacheWillHit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedAlreadyEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseHasNoStoreHeader_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponsePartiallyStored_whenRequestedWithResumeUuid_thenWillResume[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotYetCached_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsStaleAndValidatable_whenRequested_thenIsValidated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.025,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedNotEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestNotStorable_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.883,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "May 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localh\u000a...[truncated 19532 chars]...\u000aile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aMay 21, 2025 1:01:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:44911/testfile1.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:01:16"
    },
    {
      "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.002,
          "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.003,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.partial.ContentRangeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:01:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.011,
          "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.012,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T10:59:56"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.01,
          "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.001,
          "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.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidHeader_whenParseRangeRequestCalled_thenShouldReturnBadRequest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.011,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestRangeUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T10:59:56"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.006,
          "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.008,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestSysPathUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T10:59:56"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
          "duration" : 0.012,
          "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.005,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "a96086d5c2cb52a9\u000a"
        }
      ],
      "duration" : 0.017,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.xxhashkmp.commonjvmimpl.XXHashJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "a96086d5c2cb52a9\u000a",
      "timestamp" : "2025-05-21T10:59:56"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[js, browser, ChromeHeadless136.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, ChromeHeadless136.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:00:04"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.464,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPutRequestWithBody_whenParseRequestBodyCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "13:05:01,426 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - No custom configurators were discovered as a service.\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Constructed \u000a...[truncated 3683 chars]...\u000alevel of logger [io.netty] to INFO\u000a13:05:01,517 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@1f2f9244 - End of configuration.\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4c4d27c8 - Registering current configuration as safe fallback point\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 83 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.016,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLargerPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "13:05:01,426 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - No custom configurators were discovered as a service.\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Constructed \u000a...[truncated 3683 chars]...\u000alevel of logger [io.netty] to INFO\u000a13:05:01,517 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@1f2f9244 - End of configuration.\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4c4d27c8 - Registering current configuration as safe fallback point\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 83 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSmallPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "13:05:01,426 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - No custom configurators were discovered as a service.\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Constructed \u000a...[truncated 3683 chars]...\u000alevel of logger [io.netty] to INFO\u000a13:05:01,517 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@1f2f9244 - End of configuration.\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4c4d27c8 - Registering current configuration as safe fallback point\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 83 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.496,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "13:05:01,426 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - No custom configurators were discovered as a service.\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a13:05:01,427 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - Constructed \u000a...[truncated 3683 chars]...\u000alevel of logger [io.netty] to INFO\u000a13:05:01,517 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@1f2f9244 - End of configuration.\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4c4d27c8 - Registering current configuration as safe fallback point\u000a13:05:01,517 |-INFO in ch.qos.logback.classic.util.ContextInitializer@42f48531 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 83 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-05-21T11:05:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
          "duration" : 0.048,
          "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.009,
          "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-05-21T11:05:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
          "duration" : 0.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAnEpubFile_whenUnzipped_thenAllFilesShouldBeAvailable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.039,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-05-21T11:05:01"
    }
  ]
}