{
  "_class" : "hudson.tasks.junit.TestResult",
  "testActions" : [
    
  ],
  "duration" : 39.10599,
  "empty" : False,
  "failCount" : 0,
  "passCount" : 314,
  "skipCount" : 2,
  "suites" : [
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
          "duration" : 0.283,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDatabaseCreated_thenWhenOpened_itShouldBloodyWellBeThereFfs",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "12:17:44,540 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:44,541 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - No custom configurators were discovered as a service.\u000a12:17:44,541 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:44,541 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - Constructed\u000a...[truncated 3436 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:44,619 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@424ebba3 - End of configuration.\u000a12:17:44,620 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@37052337 - Registering current configuration as safe fallback point\u000a12:17:44,620 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 75 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.283,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.InsertDefaultSiteCallbackTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "12:17:44,540 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:44,541 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - No custom configurators were discovered as a service.\u000a12:17:44,541 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:44,541 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - Constructed\u000a...[truncated 3436 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:44,619 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@424ebba3 - End of configuration.\u000a12:17:44,620 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@37052337 - Registering current configuration as safe fallback point\u000a12:17:44,620 |-INFO in ch.qos.logback.classic.util.ContextInitializer@180da663 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 75 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-04-07T10:17:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
          "duration" : 1.01,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCredentials_whenLoginCalled_thenShouldReturnAccount",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: ta\u000a...[truncated 34390 chars]...\u000aio.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a        SELECT PersonAuth2.*\u000a          FROM PersonAuth2\u000a         WHERE PersonAuth2.pauthUid = ? \u000a    \"\u000aApr 07, 2025 12:17:45 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.112,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidCredentials_whenLoginCalled_thenShouldRespondForbidden",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: ta\u000a...[truncated 34390 chars]...\u000aio.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a        SELECT PersonAuth2.*\u000a          FROM PersonAuth2\u000a         WHERE PersonAuth2.pauthUid = ? \u000a    \"\u000aApr 07, 2025 12:17:45 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.086,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRegisterPersonWithAuth_whenRegisterCalled_thenShouldGenerateAuth",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: ta\u000a...[truncated 34390 chars]...\u000aio.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a        SELECT PersonAuth2.*\u000a          FROM PersonAuth2\u000a         WHERE PersonAuth2.pauthUid = ? \u000a    \"\u000aApr 07, 2025 12:17:45 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.208,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.PersonAuthRegisterRouteTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: ta\u000a...[truncated 34390 chars]...\u000aio.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] - prepare \"\u000a        SELECT PersonAuth2.*\u000a          FROM PersonAuth2\u000a         WHERE PersonAuth2.pauthUid = ? \u000a    \"\u000aApr 07, 2025 12:17:45 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-04-07T10:17:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotCached_whenRequested_thenShouldReturn404",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:46 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.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsCached_whenRequested_thenResponseShouldMatch",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.064,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestContentEntryVersionRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aApr 07, 2025 12:17:45 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:45"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.rest.TestSiteRoute",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAvailableWorkSpace_whenRequested_thenShouldReturnWorkSpaceObject",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.021,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.rest.TestSiteRoute",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aINFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode\u000aApr 07, 2025 12:17:46 PM io.github.aakira.napier.DebugAntilog performLog\u000aFINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:46"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLocale_whenFormatCalled_thenShouldFormatDate[js, browser, ChromeHeadless135.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "[log] Now: 4/7/2025\u000a"
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.jsmodules.JsIntlWrapperTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "[log] Now: 4/7/2025\u000a",
      "timestamp" : "2025-04-07T10:17:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenApiUrlInSearchParams_whenEndpointResolved_thenShouldReturnSearchParam[js, browser, ChromeHeadless135.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.util.WebEndpointResolverTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRootHref_whenEndpointIsResolved_thenShouldReturnHref[js, browser, ChromeHeadless135.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, ChromeHeadless135.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, ChromeHeadless135.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-04-07T10:17:22"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xxhash.XXHashJsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[js, browser, ChromeHeadless135.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xxhash.XXHashJsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[js, browser, ChromeHeadless135.0.0.0, Linuxx86_64]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xxhash.XXHashJsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:16:01"
    },
    {
      "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, ChromeHeadless135.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-04-07T10:16:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 1.291,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithWrongPassword_thenShouldReject[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "12:17:50,365 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - No custom configurators were discovered as a service.\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:50,463 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@10a0fe30 - End of configuration.\u000a12:17:50,463 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@7b6860f9 - Registering current configuration as safe fallback point\u000a12:17:50,463 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.AuthManagerTest",
          "duration" : 0.121,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAuthSet_whenAuthenticatedWithValidPassword_thenShouldAccept[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "12:17:50,365 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - No custom configurators were discovered as a service.\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:50,463 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@10a0fe30 - End of configuration.\u000a12:17:50,463 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@7b6860f9 - Registering current configuration as safe fallback point\u000a12:17:50,463 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 1.412,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.AuthManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "12:17:50,365 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - No custom configurators were discovered as a service.\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:50,366 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:50,463 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@10a0fe30 - End of configuration.\u000a12:17:50,463 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@7b6860f9 - Registering current configuration as safe fallback point\u000a12:17:50,463 |-INFO in ch.qos.logback.classic.util.ContextInitializer@1229a2b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 89 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-04-07T10:17:49"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.StringEncryptTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSameParams_differentSecret_thenShouldNotMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.account.StringEncryptTest",
          "duration" : 0.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSameParams_whenEncrypted_thenShoudlMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.028,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.account.StringEncryptTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:51"
    },
    {
      "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-04-07T10:17:51"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
          "duration" : 0.008,
          "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.311,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.connectivitymonitor.ConnectivityMonitorJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:51"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
          "duration" : 0.275,
          "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.04,
          "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.019,
          "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.022,
          "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.035,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEpubWithManifestItemsMissing_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.392,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.EpubContentImporterCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:51"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.003,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNavigationDocumentWhereNavIsNotDirectChild_whenParsed_thenMatchesExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
          "duration" : 0.004,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNavigationDocument_whenParsed_thenMatchesExpectedVals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.007,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.nav.NavigationDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:51"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
          "duration" : 0.14,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidNcxDoc_whenParsed_thenShouldProvideExpectedValues[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.14,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ncx.NcxDocumentTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:51"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.ocf.TestContainerParse",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidContainer_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.ocf.TestContainerParse",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.epub.opf.TestPackageParse",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPackageDocThenShouldParse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.009,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.epub.opf.TestPackageParse",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.181,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5pFile_whenStoreInCacheCalled_thenShouldStore[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5pFile_whenExtractMetadataCalled_thenMetadataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
          "duration" : 0.013,
          "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.013,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileWithH5pExtensionNotValidH5p_whenExtractMetadataCalled_thenShouldThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.226,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.h5p.H5PContentImporterTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.065,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenExtractMetadataCalled_thenShouldReturnEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNonVideoFile_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideoFile_whenAddToCacheCalled_thenWillAddToCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidFileWithRecognizedExtension_whenExtractMetadataCalled_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.14,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.media.VideoContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "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-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.117,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdfWithUrl_whenImported_thenDataShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.154,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenExtractMetadataCalled_thenWillReturnMetadataEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileNotPdf_whenExtractMetadataCalled_thenWillReturnNull[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
          "duration" : 0.114,
          "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.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileShouldBePdf_whenDataIsNotValid_thenWillThrowInvalidContentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.428,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.contentformats.pdf.PdfContentImporterJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.031,
          "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}@22b3794a, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.027,
          "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}@22b3794a, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.contentformats.xapi.XapiZipContentImporterTest",
          "duration" : 0.016,
          "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}@22b3794a, 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}@22b3794a, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.093,
      "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}@22b3794a, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.08,
          "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}@68727234, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.039,
          "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}@68727234, 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_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}@68727234, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.028,
          "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}@68727234, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.021,
          "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}@68727234, Dispatchers.Main]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.assignment.submitassignment.SubmitAssignmentUseCaseTest",
          "duration" : 0.019,
          "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}@68727234, Dispatchers.Main]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.21,
      "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}@68727234, Dispatchers.Main]\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:52"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
          "duration" : 0.14,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:59635/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClien\u000a...[truncated 1326 chars]...\u000ated\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:59635/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:59635/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:59635/com/ustadmobile/core/container/testfile3.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.14,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.BlobDownloadClientUseCaseCommonJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClientUseCaseCommonJvm: #0 http://localhost:59635/com/ustadmobile/core/container/testfile1.png  : channel: start\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST BlobDownloadClientUseCaseCommonJvm$downloadItemsFromChannelProcessor$invokeSuspend - BlobDownloadClien\u000a...[truncated 1326 chars]...\u000ated\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobDownloadClientUseCaseCommonJvmTest$givenListOfBlobsToDownload_whenInvoked_thenShouldRequestAll - BlobDownloadClientUseCaseCommonJvmTest: Recorded requests for http://localhost.localdomain:59635/com/ustadmobile/core/container/testfile1.png, http://localhost.localdomain:59635/com/ustadmobile/core/container/testfile2.png, http://localhost.localdomain:59635/com/ustadmobile/core/container/testfile3.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:53"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
          "duration" : 0.146,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryVersionUidAndManifest_whenInvoked_thenWillCreateLockJoinsAndEnqueueBlobDownloadForAllItemsInManifest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 228 chars]...\u000ae::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[TransferJob]\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.146,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.download.ContentManifestDownloadUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 228 chars]...\u000ae::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[TransferJob]\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[CacheLockJoin]\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:53"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
          "duration" : 1.406,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenImportedOnClient_thenWilBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 1550362 chars]...\u000aNE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@551725e4 - http://localhost:43599/UmAppDatabase/replication/sse?door-node=1668884453330073155%2Fb7e4e6bb-a295-4f21-a60f-871cd3159717] close\u000aApr 07, 2025 12:18:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:01 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.243,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenUploadInterrupted_thenWillRetry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 1550362 chars]...\u000aNE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@551725e4 - http://localhost:43599/UmAppDatabase/replication/sse?door-node=1668884453330073155%2Fb7e4e6bb-a295-4f21-a60f-871cd3159717] close\u000aApr 07, 2025 12:18:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:01 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.146,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiFile_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 1550362 chars]...\u000aNE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@551725e4 - http://localhost:43599/UmAppDatabase/replication/sse?door-node=1668884453330073155%2Fb7e4e6bb-a295-4f21-a60f-871cd3159717] close\u000aApr 07, 2025 12:18:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:01 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.479,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidH5p_whenImportedOnClient_thenWillBeUploadedToServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 1550362 chars]...\u000aNE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@551725e4 - http://localhost:43599/UmAppDatabase/replication/sse?door-node=1668884453330073155%2Fb7e4e6bb-a295-4f21-a60f-871cd3159717] close\u000aApr 07, 2025 12:18:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 8.275,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAndManifestUploadIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:17:53 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 1550362 chars]...\u000aNE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@551725e4 - http://localhost:43599/UmAppDatabase/replication/sse?door-node=1668884453330073155%2Fb7e4e6bb-a295-4f21-a60f-871cd3159717] close\u000aApr 07, 2025 12:18:00 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:53"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
          "duration" : 0.032,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUrisToManifest_whenInvoked_thenAreStoredInCacheAsPerManifestBodyDataUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUris\u000a...[truncated 3377 chars]...\u000aeve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.032,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.saveandmanifest.SaveLocalUriAsBlobAndManifestUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER SaveLocalUrisAsBlobsUseCaseJvm$invoke$invokeSuspend - SaveLocalUris\u000a...[truncated 3377 chars]...\u000aeve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(client): Retrieve http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(client): FOUND http://localhost:8094/api/blob/kogGiGy6nDHut87gor1HOPRG0qvTakw30a1QMo7hXHk%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
          "duration" : 1.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLocalUris_whenInvoked_thenBlobsAreUploadedAndCanBeRetrievedViaCache[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 5728 chars]...\u000a//localhost:35285/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:35285/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:35285/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.022,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.savelocaluris.SaveLocalUrisAsBlobsUseCaseJvmIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 5728 chars]...\u000a//localhost:35285/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO UstadCache - UstadCache(server): Retrieve http://localhost:35285/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000aApr 07, 2025 12:18:01 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER UstadCache - UstadCache(server): FOUND http://localhost:35285/api/blob/SAwMEEihCX84BYpcX9K0y%2FGPuYxx298222HQu85QihE%3D\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:01"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
          "duration" : 0.104,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTransferJobInDatabase_whenErrorOccurs_thenAttemptCountIncrementAndExceptionThrown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 16956 chars]...\u000a connection pool\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 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.014,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatchDataRetrieved_whenOneUploadThrowsException_thenWillRethrow[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 16956 chars]...\u000a connection pool\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 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.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBatch_whenInvoked_thenWillRetrievePartialDataAndUpload[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 16956 chars]...\u000a connection pool\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.136,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 16956 chars]...\u000a connection pool\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:02"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
          "duration" : 0.035,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialRequest_whenInitialzedAndBlobsUploaded_thenWillListRemainingItemsAndStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-1998-4e70-8b22-4757483ca471):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-\u000a...[truncated 237 chars]...\u000aion - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-1998-4e70-8b22-4757483ca471):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload d1740e74-e8d3-41dd-a4bb-d52f9a246713):  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.004,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewRequest_whenInitializedAndBlobsUploaded_thenWillStoreEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-1998-4e70-8b22-4757483ca471):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-\u000a...[truncated 237 chars]...\u000aion - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-1998-4e70-8b22-4757483ca471):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload d1740e74-e8d3-41dd-a4bb-d52f9a246713):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.039,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.blob.upload.BlobUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-1998-4e70-8b22-4757483ca471):  batch upload init:  Client list 3 blobs. 2 uploads pending (0 partial)\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-\u000a...[truncated 237 chars]...\u000aion - BlobUploadServerUseCase#onStartUploadSession(upload f3c15166-1998-4e70-8b22-4757483ca471):  Partial uploads pending = https://endpoint.com/api/blob/DWDf0O8J19BHTcJOC4RUdOWkQIE8T91ahd5W5PySXy4=\u000aApr 07, 2025 12:18:02 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER BlobUploadServerUseCase$onStartUploadSession - BlobUploadServerUseCase#onStartUploadSession(upload d1740e74-e8d3-41dd-a4bb-d52f9a246713):  batch upload init:  Client list 3 blobs. 3 uploads pending (0 partial)\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:02"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
          "duration" : 0.219,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzDoesNotExist_whenInvoked_thenWillCreateNewClazzAndProcessEnrolment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 494 chars]...\u000aog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidImportRows_whenInvoked_thenWillAddNewPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 494 chars]...\u000aog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 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.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMissingRequiredColumns_whenInvoked_thenWillThrowIllegalArgumentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 494 chars]...\u000aog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.248,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.bulkaddusers.BulkAddUsersUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 494 chars]...\u000aog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:02"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
          "duration" : 0.006,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "test[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.006,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.cachelock.AddRetainAllActiveTriggersUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
          "duration" : 0.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonAlreadyEnroled_whenInvoked_thenWillThrowAlreadyEnroledException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5604 chars]...\u000amemory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aApr 07, 2025 12:18:03 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.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoPendingEnrolmentsOrRequests_whenInvoked_thenRequestInserted[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5604 chars]...\u000amemory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aApr 07, 2025 12:18:03 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.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidCode_whenInvoked_thenWillThrowIllegalArgException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5604 chars]...\u000amemory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aApr 07, 2025 12:18:03 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.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPendingRequestAlreadyExists_whenInvoked_thenWillThrowAlreadyHasPendingEnrolmentException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5604 chars]...\u000amemory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.144,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.clazzenrolment.pendingenrolment.RequestEnrolmentUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5604 chars]...\u000amemory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ScopedGrant]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[EnrolmentRequest]\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.233,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAudioInputFile_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit13087161368901311709/soundfile.mp3 -C 2 --type ogg /tmp/junit13087161368901311709/junit6339997971761276059/0397b999-17f0-4645-aaaa-dfd622ced3ea\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 8,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsMp3ThenWillInvokeMpg123AndCompressWav[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit13087161368901311709/soundfile.mp3 -C 2 --type ogg /tmp/junit13087161368901311709/junit6339997971761276059/0397b999-17f0-4645-aaaa-dfd622ced3ea\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 8,
          "className" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMpg123PathNotNullAndInputIsNotMp3_whenInvoked_thenWillNotUseMpg123[jvm]",
          "properties" : {
            
          },
          "skipped" : True,
          "skippedMessage" : "",
          "status" : "SKIPPED",
          "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit13087161368901311709/soundfile.mp3 -C 2 --type ogg /tmp/junit13087161368901311709/junit6339997971761276059/0397b999-17f0-4645-aaaa-dfd622ced3ea\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.235,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.audio.CompressAudioTestCaseJvm",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressAudioUseCaseSox$invoke$invokeSuspend - CompressAudioUseCase: Running sox: /usr/bin/sox /tmp/junit13087161368901311709/soundfile.mp3 -C 2 --type ogg /tmp/junit13087161368901311709/junit6339997971761276059/0397b999-17f0-4645-aaaa-dfd622ced3ea\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
          "duration" : 0.206,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInputImage_whenInvoked_thenWillBeResized[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.206,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.image.CompressImageUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileList_whenInvoked_thenWillInvokeCompressorAndReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.033,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.list.CompressListUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.pdf.CompressPdfUseCaseJvmTest",
          "duration" : 0.093,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPdf_whenInvoked_thenWillCompress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:03 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/junit5170442060803892417/junit2350656587752121066/f09a973b-17be-4c3b-9775-d8b166798a78 /tmp/junit5170442060803892417/junit8029391015612171002.tmp \u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm perfor\u000a...[truncated 87 chars]...\u000aressPdfUseCaseJvm: completed page 1\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit5170442060803892417/junit8029391015612171002.tmp from 152064 bytes to 99455 bytes\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.093,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.pdf.CompressPdfUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:03 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/junit5170442060803892417/junit2350656587752121066/f09a973b-17be-4c3b-9775-d8b166798a78 /tmp/junit5170442060803892417/junit8029391015612171002.tmp \u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm perfor\u000a...[truncated 87 chars]...\u000aressPdfUseCaseJvm: completed page 1\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CompressPdfUseCaseJvm$invoke$2$outputReaderJob$invokeSuspend - CompressPdfUseCaseJvm: completed page 2\u000aApr 07, 2025 12:18:03 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressPdfUseCaseJvm$invoke$invokeSuspend - CompressPdfUseCaseJvm: compressed file:/tmp/junit5170442060803892417/junit8029391015612171002.tmp from 152064 bytes to 99455 bytes\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
          "duration" : 3.196,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideoFile_whenCompressed_thenWillOutputVideoWithSameLength[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:04 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/dev-admin-branding-customization/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/dev-admin-branding-customization/core/8307a740-266a-40d4-94af-06c2a90ce5b7.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 3.196,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.CompressVideoUseCaseHandbrakeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:04 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER CompressVideoUseCaseHandbrake$invoke$invokeSuspend - CompressVideoUseCase: running /usr/bin/HandBrakeCLI -i /home/jenkins/.jenkins/workspace/dev-admin-branding-customization/core/tmp-bigbuckbunny.mp4 -o /home/jenkins/.jenkins/workspace/dev-admin-branding-customization/core/8307a740-266a-40d4-94af-06c2a90ce5b7.mp4 --format av_mp4 --encoder svt_av1 --aencoder opus --maxWidth 720 --maxHeight 405 --quality 55 --ab 96 --rate 30 --json \u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
          "duration" : 0.099,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenHandBrakeCliOnSystem_whenInvoked_thenWillFindLatestVersion[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.099,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.compress.video.FindHandBrakeUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.contententry.delete.DeleteContentEntryParentChildJoinUseCaseTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryToDelete_whenInvoked_willMarkContentParentChildJoinAsDeletedAndInsertDeletedItem[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 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.024,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.contententry.delete.DeleteContentEntryParentChildJoinUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 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-04-07T10:18:07"
    },
    {
      "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-04-07T10:18:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
          "duration" : 0.507,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_thenWillSaveValidThumbnail[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.507,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.extractvideothumbnail.ExtractVideoThumbnailUseCaseJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemExists_whenCallGetLineItemWithSourcedId_thenShouldReturn200[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestClassesForUser_thenShouldReturnClassList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.04,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRawOneRosterLineItem_whenCallPutLineItem_thenShouldRespond201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLineItem_whenCallPutLineItem_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAuth_whenRequestResultsForStudentClass_thenShouldReturnResults[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.029,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLineItemDoesNotExist_whenCallGetLineItem_thenShouldReturn404[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidResult_whenCallPutResult_thenShouldInsertAndReturn201[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.258,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.interop.oneroster.OneRosterEndpointTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 10485 chars]...\u000a 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #5 : SQLite Change Tracker: Changed tables=[ExternalAppPermission]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #10 : SQLite Change Tracker: Changed tables=[StudentResult]\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
          "duration" : 0.01,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoSubmitters_whenInvoked_thenShouldReturnEmptyList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 710 chars]...\u000a12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithNoExistingAllocations_whenInvoked_thenShouldAllocate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 710 chars]...\u000a12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithExistingAllocations_whenNumReviewersIncreased_thenShouldAllocateRemainder[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 710 chars]...\u000a12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.017,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmitters_whenTooManyReviewsSet_thenShouldRunThroughWithSomeAllocationsEmpty[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 710 chars]...\u000a12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.017,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithSubmittersWithExistingAllocations_whenNumReviewersReduced_thenShouldTruncateList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 710 chars]...\u000a12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.082,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.peerreviewallocation.UpdatePeerReviewAllocationUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 710 chars]...\u000a12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:08"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.273,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInChunks_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(d1bd536e-4d08-4079-89e7-4d98a4de22bf): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:54491/ starting from byte=0\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(d1bd536e-4d08-4079-89e7-4d98a4de22bf): Upl\u000a...[truncated 164 chars]...\u000a FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(3ebe9593-e2b1-413f-99d5-b7d8107dc1d9): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:58055/ starting from byte=10000\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(3ebe9593-e2b1-413f-99d5-b7d8107dc1d9): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:58055/\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
          "duration" : 0.213,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPartialUpload_whenCombined_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(d1bd536e-4d08-4079-89e7-4d98a4de22bf): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:54491/ starting from byte=0\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(d1bd536e-4d08-4079-89e7-4d98a4de22bf): Upl\u000a...[truncated 164 chars]...\u000a FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(3ebe9593-e2b1-413f-99d5-b7d8107dc1d9): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:58055/ starting from byte=10000\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(3ebe9593-e2b1-413f-99d5-b7d8107dc1d9): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:58055/\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.487,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(d1bd536e-4d08-4079-89e7-4d98a4de22bf): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:54491/ starting from byte=0\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(d1bd536e-4d08-4079-89e7-4d98a4de22bf): Upl\u000a...[truncated 164 chars]...\u000a FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(3ebe9593-e2b1-413f-99d5-b7d8107dc1d9): Uploading 133184 bytes in 7 chunks to http://localhost.localdomain:58055/ starting from byte=10000\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ChunkedUploadClientUseCaseKtorImpl$invoke - ChunkedUploadClientUseCase(3ebe9593-e2b1-413f-99d5-b7d8107dc1d9): Upload complete of 133184 bytes in 7 chunks to http://localhost.localdomain:58055/\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:08"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenFileUploadedInMultipleChunks_whenFinalRequestMade_thenOnCompleteCalledWithValidFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  receive request \u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  receive request \u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.N\u000a...[truncated 4509 chars]...\u000agJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  receive request \u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  appended chunk (isFinal=true) to /tmp/junit17886685102391503178/junit16998390541830921410/8910c8c5-0913-439c-a28b-cc7c11871d9c \u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.upload.ChunkedUploadServerUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  receive request \u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  receive request \u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.N\u000a...[truncated 4509 chars]...\u000agJvm performLog\u000aINFO: INFO ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  receive request \u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST ChunkedUploadServerUseCaseJvm$onChunkReceived - ChunkedUploadServerUseCaseJvm(8910c8c5-0913-439c-a28b-cc7c11871d9c)  appended chunk (isFinal=true) to /tmp/junit17886685102391503178/junit16998390541830921410/8910c8c5-0913-439c-a28b-cc7c11871d9c \u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:08"
    },
    {
      "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.006,
          "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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidVideo_whenInvoked_willReturnTrue[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.042,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.validatevideofile.ValidateVideoFileUseCaseMediaInfoTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:08"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsSubStatement_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsStatementRef_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementPut_whenGetCalled_thenShouldBeRetrieved[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithObjectAsGroup_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.022,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithGroupActorAndExtensions_whenPutCalled_thenShouldBeStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.028,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongStatementWithContextActivities_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[VerbEntity, ActivityEntity, StatementEntity, ActorEntity, ActivityInteractionEntity, VerbLangMapEntry, ActivityLangMapEntry, StatementEntityJson]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStatementWithChoiceActivity_whenStored_thenShouldBeInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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.175,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.XapiStatementResourceTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3882 chars]...\u000al.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 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-04-07T10:18:08"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
          "duration" : 0.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidCourseGroupSet_whenInvoked_thenXapiGroupCreated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 1000 chars]...\u000ayncInternal connection #5 : SQLite Change Tracker: Changed tables=[Person, ClazzEnrolment, CourseGroupMember]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aApr 07, 2025 12:18:08 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.domain.xapi.coursegroup.CreateXapiGroupForCourseGroupUseCaseTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 1000 chars]...\u000ayncInternal connection #5 : SQLite Change Tracker: Changed tables=[Person, ClazzEnrolment, CourseGroupMember]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[ClazzAssignment]\u000aApr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:08"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
          "duration" : 2.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndOnCompletedInvoked_thenShouldRecordCompletedStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aApr 07, 2025 12:18:10 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aApr 07, 2025 12:18:10 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aApr 07, 2025 12:18:12 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.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRecorderCreated_whenOnActiveSetAndClearedBeforeCompleted_thenShouldRecordProgress[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aApr 07, 2025 12:18:10 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aApr 07, 2025 12:18:10 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 4.071,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.noninteractivecontentusagestatementrecorder.NonInteractiveContentXapiStatementRecorderTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:08 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aApr 07, 2025 12:18:10 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onComplete - ContentUsageStatementRecorder: completed\u000aApr 07, 2025 12:18:10 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=true\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:08"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryStateStored_whenRetrieved_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedById_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateCreated_whenDeletedAllByContext_thenShouldBeNotFound[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 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.033,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingStateStored_whenNewStatePosted_thenShouldMerge[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[ActorEntity]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
          "duration" : 0.023,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStateStored_whenRetrieve_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTextBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBinaryBodyTooLarge_whenStored_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 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.183,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:12 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 5599 chars]...\u000aFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:13 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-04-07T10:18:12"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xxhash.XXHashJvmTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenString_whenInvoked_willHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.domain.xxhash.XXHashJvmTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLongArray_whenInvoked_thenWillHash[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.domain.xxhash.XXHashJvmTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:13"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
          "duration" : 0.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRequest_whenHttpRequestMade_thenWillInvokeUseCase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 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.056,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.embeddedhttp.EmbeddedHttpServerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:13 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-04-07T10:18:13"
    },
    {
      "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-04-07T10:18:13"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.135,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAccountRequiresParentalConsent_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.088,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenTwoStoredAccounts_whenSetActiveAccountCalled_thenActiveAccountShouldChangeAndAllRemainInStoredAccounts[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.079,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLoginCredentials_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoUserInPrefKeys_whenInitialized_shouldInitGuestAccountOnDefaultServer[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUnreachableServer_whenLoginCalled_thenShouldThrowException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.136,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForSecondAccountOnSameServer_shouldAddAccount[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.088,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccount_whenIncomingReplicationMakesUserSessionInactive_thenShouldEndSession[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.115,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLoginCredentials_whenLoginCalledForFirstLogin_shouldInitLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
          "duration" : 0.109,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRegistrationRequest_whenNewAccountRequested_thenShouldBeRequestedOnServerAndActive[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.845,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.impl.UstadAccountManagerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] database build complete\u000aApr 07, 2025 12:18:13 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE:\u000a...[truncated 93498 chars]...\u000aoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] emitting 2 events com.ustadmobile.door.nodeevent.NodeEvent@23bfcec1, com.ustadmobile.door.nodeevent.NodeEvent@161f7aa1 \u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_49027_.sqlite] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[Person]\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:13"
    },
    {
      "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-04-07T10:18:14"
    },
    {
      "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-04-07T10:18:14"
    },
    {
      "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-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
          "duration" : 0.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithScheduleInRangeAndSameLocalDay_whenCreateClazzLogsCalled_thenShouldBeCreated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
          "duration" : 0.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithScheduleInRange_whenCreateClazzLogsCalled_thenShouldCreateClazzLog[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzScheduleUpdatedForSameDay_whenCreateClazzLogsCalled_thenExistingRecordShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithScheduleWithLogAlreadyCreated_whenCreateClazzLogsCalled_thenShouldNotCreateAgain[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithScheduleInRangeAndOverlappingHoliday_whenCreateClazzLogsCalled_thenShouldBeCreatedAsCancelledWithNote[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
          "duration" : 0.018,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzWithScheduleInRangeAndNotSameLocalDay_whenCreateClazzLogsCalled_thenShouldNotBeCreated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.15,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.schedule.TestClazzLogCreator",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorReposito\u000a...[truncated 34736 chars]...\u000atines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [DoorEventSource@com.ustadmobile.door.sse.DoorEventSource@17668d5a - http://localhost/dummyreplication/sse?door-node=8551488200308341333%2F1c028e9c-c5eb-497b-ab27-86a76e5db70b] close\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.schedule.TestScheduleExt",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenSchedule_whenNextOccurenceCalled_thenShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.0,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.schedule.TestScheduleExt",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "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-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithNoPathPrefixWithEmptyArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithPathPrefixWithNoArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithNoPathPrefixWithNoArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUrlWithPathPrefixWithArgs_whenParsed_thenShouldInterpretCorrectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.UstadUrlComponentsTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.LongExtTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenListOfLongs_whenConvertedToFromByteArray_thenWillBeEqual[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.001,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.LongExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
          "duration" : 0.105,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithoutForceAccountSelect_thenShouldNavigateToLinkDirectly[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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.015,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPlainViewUri_whenNavigateToLinkIsCalledWithForceAccountSelected_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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.011,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLink_whenNoStoredAccountsAvailableOnSameEndpoint_thenShouldNavigateToLogin[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnSameEndpointAsActiveAccount_whenNavigateToLinkCalledWithForceAccountSelect_thenShouldNavigateToAccountList[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDeepLinkOnDifferentEndpointToActiveAccount_whenStoredAccountAvailableOnSameEndpoint_thenShouldNavigateToAccountListWithFilter[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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.137,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.NavControllerExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] emitting 1\u000a...[truncated 1943 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-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.util.ext.ProcessExtTest",
          "duration" : 0.103,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenProcessStarted_whenWaitForInterrupted_thenWillDestroyProcess[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_59885_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:59885/UmAppDatabase/ - endpoint=ht\u000a...[truncated 1680 chars]...\u000a.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\u000a\u0009at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)\u000a\u0009at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)\u000a\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.103,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.util.ext.ProcessExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_59885_.sqlite] - useNewConnectionAsyncInternal connection #13 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:59885/UmAppDatabase/ - endpoint=ht\u000a...[truncated 1680 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-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
          "duration" : 0.039,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_56899_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_56899_.sqlite] emitting 1\u000a...[truncated 2918 chars]...\u000ae::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.039,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.LeavingReasonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_56899_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [NodeEventJdbcImplListenerSqlite - jdbc:sqlite:build/tmp/localhost_localdomain_56899_.sqlite] emitting 1\u000a...[truncated 2918 chars]...\u000ae::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[LeavingReason]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
          "duration" : 0.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesnotHaveAttendancePermission_whenOnCreateCalled_thenAttendanceTabShouldNotBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 8882 chars]...\u000aadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:14 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.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserHasAttendancePermissions_whenOnCreateCalled_thenShouldMakeAttendanceTabVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 8882 chars]...\u000aadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.118,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detail.ClazzDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 8882 chars]...\u000aadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
          "duration" : 0.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnClickEditcalled_thenShouldGoToEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/inaccessible_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://inaccessible/UmAppDatabase/ - endpoint=http://inaccessible/UmAppDatabase\u000a...[truncated 12324 chars]...\u000a2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aApr 07, 2025 12:18:14 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.044,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenClazzExists_whenOnCreateCalled_thenClazzIsSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/inaccessible_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://inaccessible/UmAppDatabase/ - endpoint=http://inaccessible/UmAppDatabase\u000a...[truncated 12324 chars]...\u000a2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.093,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.detailoverview.ClazzDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/inaccessible_.sqlite] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://inaccessible/UmAppDatabase/ - endpoint=http://inaccessible/UmAppDatabase\u000a...[truncated 12324 chars]...\u000a2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
          "duration" : 0.197,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 6404 chars]...\u000am performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[Clazz, CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.197,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.edit.ClazzEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 6404 chars]...\u000am performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[Clazz, CoursePermission]\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: transaction done\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
          "duration" : 0.043,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelInBrowseMode_whenOnClickEntryCalled_thenShouldGoToDetailView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aAp\u000a...[truncated 3834 chars]...\u000anes.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\u000aApr 07, 2025 12:18:14 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.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenViewModelNotYetCreated_whenInitialized_thenShouldQueryDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aAp\u000a...[truncated 3834 chars]...\u000anes.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\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.107,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazz.list.ClazzListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER ClazzEditViewModel$onClickSave$invokeSuspend - onClickSave: done\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aAp\u000a...[truncated 3834 chars]...\u000anes.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\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
          "duration" : 1.428,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseAndAssignmentCreated_whenStudentSubmits_thenTeacherCanMarkAndStudentCanSeeMarkGiven[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aApr 07, 2025 12:18:15 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - serverdb] - useNewConnectionAsyncInternal connection #1 : S\u000a...[truncated 94446 chars]...\u000anes.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\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.428,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.ClazzAssignmentIntegrationTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aApr 07, 2025 12:18:14 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - serverdb] database build complete\u000aApr 07, 2025 12:18:15 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - serverdb] - useNewConnectionAsyncInternal connection #1 : S\u000a...[truncated 94446 chars]...\u000anes.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\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:14"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionGivenYet_whenShown_thenShowNoSubmissionStatusAndAddFileTextWithComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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" : "givenCourseCommentsEnabled_whenShown_willShowExistingCourseCommentsAndAllowSubmissionOfNewCourseComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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" : "givenStudentWithPrivateCommentsEnabled_whenShown_thenShowPrivateComments[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithPrivateCommentsDisabled_whenShown_thenDoNotShowSubmitPrivateCommentButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserNotAssignedInGroup_whenShown_displayErrorAndDontShowSubmitAndAddTextFileButtonsAndPrivateOff[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndMultipleSubmissionPolicy_whenShown_thenShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentLoggedIn_whenShown_willShowExistingPrivateCommentsAndAllowSubmissionOfNewPrivateComment[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionNotMarkedAndNoMultipleSubmission_whenShown_thenDontShowAddFileTextWithSubmittedStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.061,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndSingleSubmissionPolicy_whenShown_thenShowMarkedStatusWithNoAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
          "duration" : 0.091,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidAssignment_whenSubmitAssignmentUseCaseThrowsException_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserIsNotStudent_whenShown_dontShowPrivateCommentsSubmissionStatusScoreAndAddFileText[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithSubmissionMarkedAndMultipleSubmissionPolicy_whenShown_thenShowMarkedStatusAndAddTextFileButtons[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.057,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenStudentWithNoSubmissionAndSingleSubmitPolicy_whenClickSubmitSubmission_thenSubmitAndHideAddTextFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.848,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.detailoverview.ClazzAssignmentDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:16 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 63538 chars]...\u000ak(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\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:16"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.045,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentMarkingTypeWasChanged_whenSubmissionMarkedBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 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.026,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithDeadlineBeforeStartDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithGracePeriodBeforeDeadlineDate_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithTextAndFileDisabled_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 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.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenOnCreateAndHandleClickSaveCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAssignmentEditedWithPointsSetToZero_whenClickedSave_showErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingAssignmentGroupUidWasChanged_whenSubmissionIsMadeBeforeSave_thenShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.177,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.edit.ClazzAssignmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 34672 chars]...\u000ae0-b124-10ed005ec0e5] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
          "duration" : 0.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndNoExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetUid[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_loc\u000a...[truncated 13516 chars]...\u000acalhost.localdomain:54995/UmAppDatabase/replication/sse?door-node=5119294876621480932%2F76047e86-917f-4f78-a99f-1e6f5b8ccd33] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCourseWithSubmittersAndExistingAllocations_whenInitialized_thenShouldLoadSubmittersAndSetAllocations[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_loc\u000a...[truncated 13516 chars]...\u000acalhost.localdomain:54995/UmAppDatabase/replication/sse?door-node=5119294876621480932%2F76047e86-917f-4f78-a99f-1e6f5b8ccd33] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.112,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.peerreviewerallocationedit.PeerReviewerAllocationEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_loc\u000a...[truncated 13516 chars]...\u000acalhost.localdomain:54995/UmAppDatabase/replication/sse?door-node=5119294876621480932%2F76047e86-917f-4f78-a99f-1e6f5b8ccd33] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
          "duration" : 0.071,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenIndividualSubmissionAssignmentAndUserIsTeacher_whenInitiated_thenWillShowEnrolledStudentNamesAndSummaryTotals[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_loc\u000a...[truncated 20142 chars]...\u000aINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ClazzEnrolment, CourseAssignmentSubmission, CourseAssignmentMark]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.071,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzassignment.submissionstab.ClazzAssignmentDetailSubmissionsTabViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_loc\u000a...[truncated 20142 chars]...\u000aINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #4 : SQLite Change Tracker: Changed tables=[ClazzEnrolment, CourseAssignmentSubmission, CourseAssignmentMark]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
          "duration" : 0.067,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveAccountHasAddPermissions_whenOnCreateCalled_thenShouldSetAddOptionsToBeVisible[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_36001_.sqlite] - useNewConnectionAsyncInternal connection #18 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:36001/UmAppDatabase/ - endpoint=ht\u000a...[truncated 5494 chars]...\u000aerAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserDoesNotHaveAddPermissions_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnViewAndSetAddVisibleToFalse[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_36001_.sqlite] - useNewConnectionAsyncInternal connection #18 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:36001/UmAppDatabase/ - endpoint=ht\u000a...[truncated 5494 chars]...\u000aerAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.12,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.clazzmemberlist.ClazzMemberListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_36001_.sqlite] - useNewConnectionAsyncInternal connection #18 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:36001/UmAppDatabase/ - endpoint=ht\u000a...[truncated 5494 chars]...\u000aerAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Clazz, ClazzEnrolment, CoursePermission]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
          "duration" : 0.071,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingEntity_whenInitializedAndOnClickSaveCalled_thenShouldSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5635673108537421691 remoteEndpoint=http://localhost.localdomain:53267/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 13896 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #9 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 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.07,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLeavingReason_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5635673108537421691 remoteEndpoint=http://localhost.localdomain:53267/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 13896 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #9 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.141,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzenrolment.edit.ClazzEnrolmentEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5635673108537421691 remoteEndpoint=http://localhost.localdomain:53267/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 13896 chars]...\u000astadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #9 : SQLite Change Tracker: Changed tables=[ClazzEnrolment]\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
          "duration" : 0.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionIsToCreateNew[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=htt\u000a...[truncated 15397 chars]...\u000al.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.055,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingLogsAndUserHasRecordAttendancePermission_whenInitiated_thenOptionsIncludeCreateNewAndUpdate[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=htt\u000a...[truncated 15397 chars]...\u000al.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUserDoesNotHaveRecordAttendancePermission_whenInitiated_thenNoRecordAttendanceOptions[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=htt\u000a...[truncated 15397 chars]...\u000al.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.166,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.attendancelist.ClazzLogListAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:17 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=2 remoteEndpoint=htt\u000a...[truncated 15397 chars]...\u000al.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[ClazzLog, Clazz, CoursePermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:17"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
          "duration" : 0.17,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenStatusUpdatedAndSaveClicked_thenShouldSaveIntoDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 12720 chars]...\u000a.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.057,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntityArgUidSpecified_whenCreated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 12720 chars]...\u000a.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.057,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecified_whenInitiated_thenShouldShowClazzLogAndEnrolledStudents[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 12720 chars]...\u000a.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.057,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewClazzLogSpecifiedAndPreviousClazzLogExists_whenGoPreviousSelected_thenShouldShowPreviouslyRecordedLogs[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 12720 chars]...\u000a.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.341,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.clazzlog.edit.ClazzLogEditAttendanceViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 12720 chars]...\u000a.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[ClazzLog, ClazzLogAttendanceRecord]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
          "duration" : 0.037,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenContentEntryExists_whenLaunched_thenShouldShowContentEntry[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 9374 chars]...\u000anes.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\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.037,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 9374 chars]...\u000anes.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\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
          "duration" : 0.078,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImportedMetadataArgProvided_whenSaved_thenShouldSaveToDatabaseAndCallImportContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_56899_.sqlite] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:56899/UmAppDatabase/ - endpoint=htt\u000a...[truncated 2955 chars]...\u000a2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.078,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.edit.ContentEntryEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_56899_.sqlite] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:56899/UmAppDatabase/ - endpoint=htt\u000a...[truncated 2955 chars]...\u000a2 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
          "duration" : 0.056,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractedSuccessfully_whenInitialized_thenShouldNavigateToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_54987_.sqlite] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:54987/UmAppDatabase/ - endpoint=htt\u000a...[truncated 9572 chars]...\u000anes.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\u000aApr 07, 2025 12:18:18 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenMetadataExtractionFails_whenInitialized_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_54987_.sqlite] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:54987/UmAppDatabase/ - endpoint=htt\u000a...[truncated 9572 chars]...\u000anes.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\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.075,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.contententry.getmetadata.ContentEntryGetMetadataViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_54987_.sqlite] - useNewConnectionAsyncInternal connection #6 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:54987/UmAppDatabase/ - endpoint=htt\u000a...[truncated 9572 chars]...\u000anes.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\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.contententry.importlink.ContentEntryImportLinkViewModelTest",
          "duration" : 0.05,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExcpectedResultArg_whenUserEntersValidLink_thenWillReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.c\u000a...[truncated 18547 chars]...\u000aINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.048,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArg_whenUserEntersInvalidLink_thenWillShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.c\u000a...[truncated 18547 chars]...\u000aINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoExpectedResultArgs_whenUserEntersValidLinkAndClicksNext_thenWillGoToContentEntryEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.c\u000a...[truncated 18547 chars]...\u000aINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 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.contententry.importlink.ContentEntryImportLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.c\u000a...[truncated 18547 chars]...\u000aINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[Person, PersonGroup, PersonGroupMember, ScopedGrant, UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
          "duration" : 0.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetWithMembers_whenInitiated_thenWillShowMembersListAndEditButton[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 843 chars]...\u000alper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CourseGroupSet, CourseGroupMember, CoursePermission, SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.063,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.detail.CourseGroupSetDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database bu\u000a...[truncated 843 chars]...\u000alper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[Person, Clazz, ClazzEnrolment, CourseGroupSet, CourseGroupMember, CoursePermission, SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingGroupSet_whenInitiatedUpdatedAndSaved_thenWillShowExistingAssignmentsAndUpdateToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_53267_.sqlite] - useNewConnectionAsyncInternal connection #17 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:53267/UmAppDatabase/ - endpoint=ht\u000a...[truncated 3272 chars]...\u000aTracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aApr 07, 2025 12:18:18 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.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNewGroupSetBeingCreated_whenInitiatedAssignedAndSaveClicked_thenShouldShowEnrolledStudentNamesAndDefaultGroupNumAndSaveToDatabase[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_53267_.sqlite] - useNewConnectionAsyncInternal connection #17 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:53267/UmAppDatabase/ - endpoint=ht\u000a...[truncated 3272 chars]...\u000aTracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.061,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.edit.CourseGroupSetEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_53267_.sqlite] - useNewConnectionAsyncInternal connection #17 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:53267/UmAppDatabase/ - endpoint=ht\u000a...[truncated 3272 chars]...\u000aTracker: Changed tables=[Person, Clazz, ClazzEnrolment, CoursePermission, SystemPermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[CourseGroupSet, CourseGroupMember]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
          "duration" : 0.054,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseGroupSetAndUserHasPermissionToAdd_whenInitiated_thenWillShowExistingGroupSetAndAddOption[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_50177_.sqlite] - useNewConnectionAsyncInternal connection #14 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:50177/UmAppDatabase/ - endpoint=ht\u000a...[truncated 3645 chars]...\u000a CourseGroupSet, CoursePermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.054,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.coursegroupset.list.CourseGroupSetListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_50177_.sqlite] - useNewConnectionAsyncInternal connection #14 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [DoorRepositoryReplicationClient - http://localhost.localdomain:50177/UmAppDatabase/ - endpoint=ht\u000a...[truncated 3645 chars]...\u000a CourseGroupSet, CoursePermission]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST CourseGroupSetListViewModel$invoke - CourseGroupSetList: set showAddItem visible = false\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
          "duration" : 0.036,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenExistingCourseTerminology_whenOnCreateAndHandleClickSaveCalled_thenValuesShouldBeSetOnViewAndDatabaseShouldBeUpdated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 1209 chars]...\u000aemory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aApr 07, 2025 12:18:18 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" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 1209 chars]...\u000aemory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.07,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.edit.CourseTerminologyEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 1209 chars]...\u000aemory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
          "duration" : 0.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterNotYetCreated_whenOnCreateCalled_thenShouldQueryDatabaseAndSetOnView[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3387 chars]...\u000aemory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aApr 07, 2025 12:18:19 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.031,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInPickMode_whenOnClickEntryCalled_thenShouldReturnResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3387 chars]...\u000aemory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.093,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.courseterminology.list.CourseTerminologyListViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:18 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 3387 chars]...\u000aemory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #2 : SQLite Change Tracker: Changed tables=[CourseTerminology]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:18"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRegistrationIsAllowedOrNot_whenCreated_thenRegistrationButtonVisibilityShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCreateAccountVisible_whenClickCreateAccount_thenShouldNavigateToAgeRedirect[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.01,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidUsernameAndPassword_whenFromDestinationArgumentIsProvidedAndHandleLoginClicked_shouldGoToNextScreenAndInvalidateSync[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenGuestConnectionAllowedOrNot_whenCreated_thenGuestButtonVisibiltyShouldMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.03,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEmptyUsernameAndPassword_whenLoginCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.006,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidUsernameAndPassword_whenHandleLoginCalled_thenShouldCallSetErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\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" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
          "duration" : 0.005,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenServerOffline_whenCreated_thenShouldShowErrorMessage[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.152,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.login.LoginViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 36010 chars]...\u000aa.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)\u000a\u0009at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)\u000a\u0009at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)\u000a\u0009at java.base/java.net.Socket.connect(Socket.java:633)\u000a\u0009at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128)\u000a\u0009at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)\u000a\u0009... 18 more\u000a\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:19"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
          "duration" : 0.082,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonParentJoinHasNoParentYet_whenOpened_thenShouldSetParentAndApprovalStatus[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3561807142257002336 \u000a...[truncated 4112 chars]...\u000a:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.082,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.parentalconsentmanagement.ParentalConsentManagementViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=3561807142257002336 \u000a...[truncated 4112 chars]...\u000a:] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #12 : SQLite Change Tracker: Changed tables=[PersonParentJoin]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:19"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
          "duration" : 0.064,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenOpenedActivePersonDetailPersonAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 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.055,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 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.32,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenActiveUserIsNotParent_whenOpenChildProfile_thenShouldShowManageParentalConsent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 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.059,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNullAndCanManageAccount_thenCreateAccountShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 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.057,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetails_whenPersonUsernameIsNullAndCantManageAccount_thenCreateAccountShouldBeHidden[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 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.063,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPersonDetailsAndAdminLogged_whenPersonUsernameIsNotNullAndCanManageAccount_thenChangePasswordShouldBeShown[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.619,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.detail.PersonDetailViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite:build/tmp/localhost_localdomain_42041_.sqlite] - useNewConnectionAsyncInternal connection #7 : SQLite Change Tracker: Changed tables=[PendingRepositorySession]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustad\u000a...[truncated 69095 chars]...\u000a.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #3 : SQLite Change Tracker: Changed tables=[Person, SystemPermission]\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:19"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.038,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenDateOfBirthNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.042,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
          "duration" : 0.049,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidPhoneNumberIncluded_whenSaved_shouldValidatePhoneNumberAndShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.066,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInNonRegistrationMode_whenFormFilledAndClickSave_shouldSaveAPersonInDb[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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_whenFormFilledAndClickSave_thenShouldGoToWaitForParentScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenUsernameAndPasswordNotFilledClickSave_shouldShowErrors[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPresenterCreatedInRegistrationMode_whenFormFilledAndClickSave_shouldRegisterAPerson[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.29,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.person.edit.PersonEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:19 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=1423782448463854210 \u000a...[truncated 33262 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:19"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.person.registerageredirect.RegisterAgeRedirectViewModelTest",
          "duration" : 0.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthNotSet_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 13676 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthIsNotAMinor_whenOnClickNextCalled_thenShouldGoToTerms[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 13676 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.019,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthTodayOrInFuture_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 13676 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenDateOfBirthIsAMinor_whenOnClickNextCalled_thenShouldGoToPersonEdit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 13676 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000aApr 07, 2025 12:1\u000a...[truncated 13676 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:20"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.schedule.edit.ScheduleEditViewModelTest",
          "duration" : 0.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidSchedule_whenClickSave_thenShouldFinishWithResult[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 20603 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.02,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleStartAfterEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 20603 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.021,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoEndTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 20603 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.024,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenScheduleHasNoStartTime_whenClickSave_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 20603 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 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.schedule.edit.ScheduleEditViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 20603 chars]...\u000aheduler.kt:693)\u000a\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:20"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.siteenterlink.SiteEnterLinkViewModelTest",
          "duration" : 0.034,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidLinkEntered_whenOnClickNextCalled_thenShouldShowError[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 11593 chars]...\u000aAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:20 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.SiteEnterLinkViewModelTest",
          "duration" : 0.027,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidLinkEntered_whenOnClickNextCalled_thenShouldNavigateToNextScreen[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 11593 chars]...\u000aAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.061,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.siteenterlink.SiteEnterLinkViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1  Attempting to rollback transaction #1\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.c\u000a...[truncated 11593 chars]...\u000aAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConnectionAsyncInternal connection #1 : SQLite Change Tracker: Changed tables=[UserSession]\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:20"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
          "duration" : 1.085,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenVideoPlayStarted_whenCleared_thenShouldRecordStatement[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 45675 chars]...\u000aor-node=2018517761532667291%2F9b009988-3904-4531-9875-91e67e39f3f2] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aApr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 1.085,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.videocontent.VideoContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:18:20 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - [RoomJdbcImplHelper - jdbc:sqlite::memory:] - useNewConne\u000a...[truncated 45675 chars]...\u000aor-node=2018517761532667291%2F9b009988-3904-4531-9875-91e67e39f3f2] error: java.io.IOException: other event source error . Attempting to reconnect after 2000ms\u000aApr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST NonInteractiveContentXapiStatementRecorder$onActiveChanged - ContentUsageStatementRecorder: active=false\u000aApr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:20"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
          "duration" : 0.2,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidXapiUrl_whenStarted_thenShouldSetContentUrl[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5119294876621480932 remoteEndpoint=http://localhost.localdomain:54995/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 27554 chars]...\u000atp%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=\u000aApr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 0.2,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.core.viewmodel.xapicontent.XapiContentViewModelTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aWARNING: WARNING DoorLog - [NodeEventSseClient localNodeId=5119294876621480932 remoteEndpoint=http://localhost.localdomain:54995/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 27554 chars]...\u000atp%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=\u000aApr 07, 2025 12:18:21 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINE: FINER DoorLog - Closed HikariDataSource connection pool\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:18:21"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheJvmTest",
          "duration" : 0.915,
          "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.024,
          "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.017,
          "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.073,
          "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.041,
          "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.037,
          "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.034,
          "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.021,
          "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.019,
          "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.028,
          "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.02,
          "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.023,
          "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" : 1.267,
      "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-04-07T10:12:02"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
          "duration" : 0.107,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntriesExceedSize_whenTrimRun_thenWillEvictRequiredEntries[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.107,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.UstadCacheTrimmerTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:12:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.009,
          "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.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseIsImmutable_whenChecked_isFresh[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
          "duration" : 0.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestHasNoCacheDirective_whenChecked_isStale[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.024,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:12:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
          "duration" : 0.003,
          "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.001,
          "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.001,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenNoStoreInHeader_whenChecked_notCacheable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.005,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImplTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:12:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenReadInSameIncrementAsBuffer_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
          "duration" : 0.002,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenRead_thenWillMatch[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.005,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.io.RangeInputStreamTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:12:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 2.954,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenImmutableEntryWasCached_whenRequested_thenCacheWillHit[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.092,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedAlreadyEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.062,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponseHasNoStoreHeader_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.12,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenResponsePartiallyStored_whenRequestedWithResumeUuid_thenWillResume[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.053,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryNotYetCached_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.125,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenEntryIsStaleAndValidatable_whenRequested_thenIsValidated[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.058,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCompressableEntryNotYetCachedNotEncoded_whenRequested_thenWillRespondAndCacheIt[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
          "duration" : 0.037,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRequestNotStorable_whenRequested_thenIsNotStored[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
          "stdout" : ""
        }
      ],
      "duration" : 3.503,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.okhttp.UstadCacheInterceptorTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "Apr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:05 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:06 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://loc\u000a...[truncated 19642 chars]...\u000ae.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aINFO: INFO DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete\u000aApr 07, 2025 12:12:07 PM com.ustadmobile.core.util.NapierAntilogJvm performLog\u000aFINEST: FINEST UstadCache - OKHttp-CacheInterceptor:  intercept: GET http://localhost.localdomain:41675/testfile1.png\u000a",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:12:03"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.001,
          "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.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenRangeWhereStartIsAfterLast_whenParsed_thenThrowsRangeNotSatisfiableException[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenBlankStart_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.libcache.partial.ContentRangeTest",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRange_whenParsed_thenMatches[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.002,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.libcache.partial.ContentRangeTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:12:07"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
          "duration" : 0.007,
          "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.008,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestAcceptEncodingUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:10:06"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.009,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenZeroToEndRangeHeader_whenParseRangeRequestHeaderCalled_thenShouldReturnWholeFileRange[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenUnsatisfiableRangeHeader_whenParseRangeRequestHeaderCalled_tehnShouldReturnRangeNotSatisfiable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenValidRangeHeader_whenParseRangeRequestHeaderCalled_thenShouldReturnRange[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestRangeUtil",
          "duration" : 0.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenInvalidHeader_whenParseRangeRequestCalled_thenShouldReturnBadRequest[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.009,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestRangeUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:10:06"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.lib.util.TestSysPathUtil",
          "duration" : 0.005,
          "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.0,
          "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.0,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenCommandInPathOnUnix_whenFindCommandInPathCalled_thenReturnsFile[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.006,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.lib.util.TestSysPathUtil",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:10:06"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.523,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenPutRequestWithBody_whenParseRequestBodyCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "12:17:43,623 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - No custom configurators were discovered as a service.\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:43,718 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@7756c3cd - End of configuration.\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2313052e - Registering current configuration as safe fallback point\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 87 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        },
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
          "duration" : 0.017,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenLargerPostRequestWithBody_whenParseRequestCalled_thenShouldReturnContent[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : "12:17:43,623 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - No custom configurators were discovered as a service.\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:43,718 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@7756c3cd - End of configuration.\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2313052e - Registering current configuration as safe fallback point\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 87 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" : "12:17:43,623 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - No custom configurators were discovered as a service.\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:43,718 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@7756c3cd - End of configuration.\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2313052e - Registering current configuration as safe fallback point\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 87 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a"
        }
      ],
      "duration" : 0.555,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.impl.http.IHTTPSessionExtTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "12:17:43,623 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.13\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - No custom configurators were discovered as a service.\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator\u000a12:17:43,625 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - Constructed\u000a...[truncated 3700 chars]...\u000alevel of logger [io.netty] to INFO\u000a12:17:43,718 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@7756c3cd - End of configuration.\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2313052e - Registering current configuration as safe fallback point\u000a12:17:43,719 |-INFO in ch.qos.logback.classic.util.ContextInitializer@4a891c97 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 87 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY\u000a\u000a",
      "timestamp" : "2025-04-07T10:17:43"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.impl.http.TestHtmlFilterSerializer",
          "duration" : 0.047,
          "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.01,
          "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-04-07T10:17:44"
    },
    {
      "cases" : [
        {
          "testActions" : [
            
          ],
          "age" : 0,
          "className" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
          "duration" : 0.052,
          "errorDetails" : None,
          "errorStackTrace" : None,
          "failedSince" : 0,
          "name" : "givenAnEpubFile_whenUnzipped_thenAllFilesShouldBeAvailable[jvm]",
          "properties" : {
            
          },
          "skipped" : False,
          "skippedMessage" : None,
          "status" : "PASSED",
          "stderr" : "",
          "stdout" : ""
        }
      ],
      "duration" : 0.052,
      "enclosingBlockNames" : [
        
      ],
      "enclosingBlocks" : [
        
      ],
      "id" : None,
      "name" : "com.ustadmobile.sharedse.util.UmZipUtilTest",
      "nodeId" : None,
      "properties" : {
        
      },
      "stderr" : "",
      "stdout" : "",
      "timestamp" : "2025-04-07T10:17:44"
    }
  ]
}